Walter.Web.FireWall.EventLog 2020.10.1.2

Reporting interface for the firewall and the windows to support structured logging to the windows EventLog.
The Package extends the reporting functionality to NuGet package Walter.Web.Firewall.Core.3.x and is easily activated by dependency injection during service configuration

services.AddFireWall(FireWallTrail.License, FireWallTrail.DomainKey
, domainName: new Uri("https://www.your-domain.com/", UriKind.Absolute)
, options =>
{
  //your firewall settings
}).UseEventLogLogging(options=>{
  options.LogName = "FireWall";
  options.SourceName = "www.your-domain.com";
});

More information on how to use this Add-On is available in this manual https://www.asp-waf.com/download/ASP-WAF-FireWall-Getting-Started.pdf as well as on-line at https://www.asp-waf.com/NuGet

There is a newer version of this package available.
See the version list below for details.
Install-Package Walter.Web.FireWall.EventLog -Version 2020.10.1.2
dotnet add package Walter.Web.FireWall.EventLog --version 2020.10.1.2
<PackageReference Include="Walter.Web.FireWall.EventLog" Version="2020.10.1.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Walter.Web.FireWall.EventLog --version 2020.10.1.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Walter.Web.FireWall.EventLog, 2020.10.1.2"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install Walter.Web.FireWall.EventLog as a Cake Addin
#addin nuget:?package=Walter.Web.FireWall.EventLog&version=2020.10.1.2

// Install Walter.Web.FireWall.EventLog as a Cake Tool
#tool nuget:?package=Walter.Web.FireWall.EventLog&version=2020.10.1.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

This package targets projects with dedicated servers and allows you to protect your firewall using annotations and pre-specified rules. A full getting started document is available at www.asp-waf.com in form of a PDF, compiled help and simple instructions

The bellow sample shows how you integrate and enable the firewall in your project windows Eventlog for reporting.

services.AddFireWall(FireWallTrail.License, FireWallTrail.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);
    }).UseEventLogLogging(options=>{
		     options.LogName = "FireWall";
		     options.SourceName = "www.test.dll";    
		});
//protect each MVC controller
services.AddMvc(options =>
    options.Filters.Add<Walter.Web.FireWall.Filters.FireWallFilter>()
);

The firewall is fully configurable and has quite a few options that allow you to protect against fishing, scrubbing, cross-site attach and much more.

There are a ton of configuration options available using the many annotations

   namespace MyProject.Controllers
   {
       using Walter.Web.FireWall;
       using Walter.Web.FireWall.Annotations;
       using Walter.BOM.Geo;

       [Geo(blockLocation: GeoLocation.AFRICA | GeoLocation.LATIN_AMERICA | GeoLocation.Netherlands)]
       [Users(users: UserTypes.IsHuman | UserTypes.IsSearchEngine)]
       [BlockDuration(duration: 60, sliding: true, doubleDurationPerIncedent: true)]
       public sealed class MembersController : Controller
       {
           private readonly ILogger<MembersController> _logger;
            private readonly IPageRequest _page;
           public HomeController(ILogger<MembersController> logger,IPageRequest page)
           {
               _logger = logger;
               _page=page;
           }

           public IActionResult Index()
           {
               return View();
           }


           [Ignore]
           [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
           public IActionResult Error()
           {
               //the page field will contain all the errors the user ran into
               return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
           }
       }
   }

This is just a small set of options of what's possible with the EventLogger

This package targets projects with dedicated servers and allows you to protect your firewall using annotations and pre-specified rules. A full getting started document is available at www.asp-waf.com in form of a PDF, compiled help and simple instructions

The bellow sample shows how you integrate and enable the firewall in your project windows Eventlog for reporting.

services.AddFireWall(FireWallTrail.License, FireWallTrail.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);
    }).UseEventLogLogging(options=>{
		     options.LogName = "FireWall";
		     options.SourceName = "www.test.dll";    
		});
//protect each MVC controller
services.AddMvc(options =>
    options.Filters.Add<Walter.Web.FireWall.Filters.FireWallFilter>()
);

The firewall is fully configurable and has quite a few options that allow you to protect against fishing, scrubbing, cross-site attach and much more.

There are a ton of configuration options available using the many annotations

   namespace MyProject.Controllers
   {
       using Walter.Web.FireWall;
       using Walter.Web.FireWall.Annotations;
       using Walter.BOM.Geo;

       [Geo(blockLocation: GeoLocation.AFRICA | GeoLocation.LATIN_AMERICA | GeoLocation.Netherlands)]
       [Users(users: UserTypes.IsHuman | UserTypes.IsSearchEngine)]
       [BlockDuration(duration: 60, sliding: true, doubleDurationPerIncedent: true)]
       public sealed class MembersController : Controller
       {
           private readonly ILogger<MembersController> _logger;
            private readonly IPageRequest _page;
           public HomeController(ILogger<MembersController> logger,IPageRequest page)
           {
               _logger = logger;
               _page=page;
           }

           public IActionResult Index()
           {
               return View();
           }


           [Ignore]
           [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
           public IActionResult Error()
           {
               //the page field will contain all the errors the user ran into
               return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
           }
       }
   }

This is just a small set of options of what's possible with the EventLogger

Release Notes

30 September 2020
    - Generate a specific error message when permission is refused for the event log
    
    09 September 2020
     - update NuGet package references
     
     08 September 2020
     - Add support for .net core 3.0 and 3.1
     - Update NuGet package references
     - Update Documentation

     04 September 2020
     - Update package reference to firewall package

     27.08.2020
     - Add Referrer and root page to event log incident if user is blocked

     01.01.2020
     - Initial release

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
2021.7.27.926 28 7/28/2021
2021.7.23.931 26 7/26/2021
2021.7.22.1456 68 7/23/2021
2021.7.15.1547 78 7/15/2021
2021.7.13.812 86 7/13/2021
2021.7.8.1527 179 7/10/2021
2021.7.5.1649 52 7/5/2021
2021.6.29.1453 116 6/30/2021
2021.6.26.1753 122 6/27/2021
2021.6.25.1849 104 6/25/2021
2021.6.24.1518 92 6/24/2021
2021.6.20.729 145 6/20/2021
2021.6.15.2006 96 6/15/2021
2021.6.14.2025 89 6/15/2021
2021.6.13.2035 74 6/14/2021
2021.6.12.1154 69 6/13/2021
2021.6.9.1120 64 6/9/2021
2021.6.3.1509 130 6/3/2021
2021.5.31.1533 80 5/31/2021
2021.5.31.1415 107 5/31/2021
2021.5.25.1732 114 5/25/2021
2021.5.24.1128 123 5/24/2021
2021.5.24.1019 95 5/24/2021
2021.5.12.1054 60 5/12/2021
2021.5.10.1442 90 5/11/2021
2021.5.8.1226 68 5/8/2021
2021.5.6.2037 83 5/6/2021
2021.5.5.1901 77 5/6/2021
2021.5.3.1621 57 5/4/2021
2021.5.1.905 95 5/1/2021
2021.4.28.1511 76 4/28/2021
2021.4.20.1520 76 4/21/2021
2021.4.16.738 74 4/21/2021
2021.4.14.1216 98 4/16/2021
2021.4.9.1538 89 4/13/2021
2021.4.8.947 83 4/13/2021
2021.4.6.1235 74 4/6/2021
2021.4.5.1653 83 4/5/2021
2021.4.1.913 83 4/1/2021
2021.3.31.2003 123 4/1/2021
2021.3.18.1622 90 3/18/2021
2021.3.3.1259 120 3/3/2021
2021.3.2.1415 78 3/2/2021
2021.3.1.11 99 2/28/2021
2021.3.1.1 107 2/27/2021
2021.3.1 115 2/27/2021
2021.2.23.6 96 2/23/2021
2021.2.21.1 84 2/21/2021
2021.2.20.1 98 2/20/2021
2021.2.19.2 101 2/19/2021
2021.2.17.1 110 2/17/2021
2021.2.16.1 82 2/16/2021
2021.2.15.3 96 2/15/2021
2021.2.15.1 101 2/14/2021
2021.2.14.3 108 2/14/2021
2021.2.12.6 96 2/12/2021
2021.2.12.2 84 2/12/2021
2021.2.10.1 101 2/10/2021
2021.2.8.1 104 2/9/2021
2021.2.7.2 99 2/7/2021
2021.2.7.1 108 2/6/2021
2020.12.27.6 168 12/27/2020
2020.12.27.1 153 12/27/2020
2020.12.26.7 147 12/27/2020
2020.12.26.5 147 12/27/2020
2020.12.26.3 166 12/27/2020
2020.12.19.1 253 12/19/2020
2020.12.16.1 160 12/16/2020
2020.12.15.1 136 12/15/2020
2020.12.14.5 157 12/14/2020
2020.12.14.4 157 12/14/2020
2020.12.14.3 179 12/14/2020
2020.12.5.1 237 12/5/2020
2020.12.4.4 192 12/4/2020
2020.12.4.3 167 12/4/2020
2020.12.4.1 175 12/4/2020
2020.12.3.1 158 12/3/2020
2020.12.2.4 153 12/2/2020
2020.12.2.3 193 12/2/2020
2020.12.1.1 172 12/1/2020
2020.11.28.1 178 11/28/2020
2020.11.27.2 165 11/27/2020
2020.11.27.1 170 11/27/2020
2020.11.25.1 131 11/25/2020
2020.11.22.3 179 11/23/2020
2020.11.20.1 234 11/21/2020
2020.11.19.3 150 11/19/2020
2020.11.19.1 152 11/19/2020
2020.11.18.2 178 11/18/2020
2020.11.17.2 208 11/17/2020
2020.11.17.1 151 11/17/2020
2020.11.15.1 187 11/15/2020
2020.11.14.1 212 11/14/2020
2020.11.13.2 169 11/13/2020
2020.11.13.1 153 11/13/2020
2020.11.12.1 140 11/12/2020
2020.11.11.1 169 11/11/2020
2020.11.8.1 263 11/8/2020
2020.11.7.1 184 11/7/2020
2020.11.5.1 149 11/5/2020
2020.11.3.1 201 11/3/2020
2020.11.1.3 238 11/1/2020
2020.11.1.2 213 11/1/2020
2020.11.1.1 193 11/1/2020
2020.10.30.1 204 11/1/2020
2020.10.15.3 172 10/15/2020
2020.10.15.2 170 10/15/2020
2020.10.14.1 176 10/14/2020
2020.10.13.1 201 10/13/2020
2020.10.12.2 236 10/12/2020
2020.10.12.1 172 10/12/2020
2020.10.10.1 322 10/10/2020
2020.10.9.6 185 10/9/2020
2020.10.9.2 202 10/9/2020
2020.10.9.1 190 10/9/2020
2020.10.8.1 164 10/8/2020
2020.10.6.8 181 10/7/2020
2020.10.6.6 168 10/7/2020
2020.10.6.5 199 10/7/2020
2020.10.6.4 179 10/7/2020
2020.10.6.3 224 10/7/2020
2020.10.6.2 168 10/7/2020
2020.10.6.1 204 10/7/2020
2020.10.5.1 194 10/6/2020
2020.10.1.3 160 10/1/2020
2020.10.1.2 184 10/1/2020
2020.10.1.1 169 10/1/2020
2020.9.29.10 203 9/29/2020
2020.9.29.9 220 9/29/2020
2020.9.28.2 177 9/28/2020
2020.9.28.1 194 9/28/2020
2020.9.25.1 310 9/26/2020
2020.9.24.2 192 9/24/2020
2020.9.24 195 9/24/2020
2020.9.23.2 193 9/23/2020
2020.9.23.1 204 9/23/2020
2020.9.22.1 195 9/22/2020
2020.9.21.1 215 9/21/2020
2020.9.17.2 185 9/17/2020
2020.9.16 207 9/16/2020
2020.9.15 207 9/15/2020
2020.9.14 212 9/14/2020
2020.9.9.2 186 9/9/2020
2020.9.8.1 179 9/8/2020
2020.9.8 185 9/8/2020
2020.9.6.5 270 9/6/2020
2020.9.4.2 207 9/4/2020
2020.9.4 193 9/4/2020
2020.9.3.1 211 9/3/2020
Show less