Walter.BOM Namespace
Walter.Web.FireWall Namespace
ASP-WAF Web application firewall for .Net 6, .Net 5, .Net Standard 2.1 and .Net Core 3.x

FireWallDiskLoggingExtensions Class

Contains extension methods that allows you to add logging to disk for the firewall instance, if licensed you will have access to real-time CSV files that you can use to mange the firewall using power shell scripts.

Namespace:  Microsoft.Extensions.DependencyInjection
Assembly:  Walter.Web.FireWall.DiskLogger (in Walter.Web.FireWall.DiskLogger.dll)

Syntax


public static class FireWallDiskLoggingExtensions

Return Value

IFirewallServices

Remarks


This feature is only available in paid versions of the firewall and can be used when installing the Walter.Web.FireWall.DiskLogger NuGet package.

Examples


You can access sample PowerShell scripts by navigating to the debug\Bin\setup\PowerShell directory when you compile a web application contain the firewall NuGet package.

You can use any task scheduler including windows task scheduler to start the FileWatcher.ps1 PowerShell script that performs the file-watch and triggers ManageWindowsFireWall.ps.

We assume that you will update the PS scripts to match your path and naming conventions, the files are just provided as an aid to get you started.

C#
services.AddFireWall(FireWallTrial.License, FireWallTrial.DomainKey
       , domainName: new Uri("https://www.your-domain.com", UriKind.Absolute)
       , options =>
       {
           options.Cypher.ApplicationPassword = "123456$even";
           options.ApplicationName = "Name as used for reporting";
           options.ApplicationTag = "ITIL Tag";
           options.Rules.BlockRequest.BlockDuration.SlideExpiration = true;
           options.Rules.BlockRequest.BlockDuration.Expires = TimeSpan.FromSeconds(10);

           //used by JavaScript in the browser
           options.WebServices.IsUserApiUrl = new Uri(Links.IsUserEndpoint, UriKind.Relative);
           options.WebServices.RegisterLinksApiUrl = new Uri(Links.SiteMapEndPoint, UriKind.Relative);
           options.WebServices.BeaconApiUrl = new Uri(Links.BeaconPoint, UriKind.Relative);

   }).UseDiskLogging(opt=>{
       opt.DataDirectory = @"D:\Web-FireWall\FireWall";
       opt.PowerShellOption = Walter.Web.FireWall.DiskLogger.PowerShellFilesOption.GenerateIfMissing;
       opt.Commandline = new System.Diagnostics.ProcessStartInfo(@"D:\jobs\FireWall.bat"){UseShellExecute = true};
       });

   services.AddMvc(options =>
       options.Filters.Add<Walter.Web.FireWall.Filters.FireWallFilter>()
   );