Walter.Web.FireWall.EventLog 2020.10.14.1

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 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.14.1
dotnet add package Walter.Web.FireWall.EventLog --version 2020.10.14.1
<PackageReference Include="Walter.Web.FireWall.EventLog" Version="2020.10.14.1" />
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.14.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Walter.Web.FireWall.EventLog, 2020.10.14.1"
#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.14.1

// Install Walter.Web.FireWall.EventLog as a Cake Tool
#tool nuget:?package=Walter.Web.FireWall.EventLog&version=2020.10.14.1
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

14 October 2020
     - Update to .net core 3.1.4
     
     05 October 2020
     - Update terms
     - update NuGet package references
     
     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.23.931 14 7/26/2021
2021.7.22.1456 66 7/23/2021
2021.7.15.1547 76 7/15/2021
2021.7.13.812 84 7/13/2021
2021.7.8.1527 177 7/10/2021
2021.7.5.1649 50 7/5/2021
2021.6.29.1453 113 6/30/2021
2021.6.26.1753 120 6/27/2021
2021.6.25.1849 102 6/25/2021
2021.6.24.1518 89 6/24/2021
2021.6.20.729 142 6/20/2021
2021.6.15.2006 93 6/15/2021
2021.6.14.2025 86 6/15/2021
2021.6.13.2035 71 6/14/2021
2021.6.12.1154 66 6/13/2021
2021.6.9.1120 60 6/9/2021
2021.6.3.1509 126 6/3/2021
2021.5.31.1533 77 5/31/2021
2021.5.31.1415 104 5/31/2021
2021.5.25.1732 111 5/25/2021
2021.5.24.1128 115 5/24/2021
2021.5.24.1019 83 5/24/2021
2021.5.12.1054 57 5/12/2021
2021.5.10.1442 87 5/11/2021
2021.5.8.1226 65 5/8/2021
2021.5.6.2037 79 5/6/2021
2021.5.5.1901 74 5/6/2021
2021.5.3.1621 55 5/4/2021
2021.5.1.905 92 5/1/2021
2021.4.28.1511 73 4/28/2021
2021.4.20.1520 72 4/21/2021
2021.4.16.738 70 4/21/2021
2021.4.14.1216 95 4/16/2021
2021.4.9.1538 86 4/13/2021
2021.4.8.947 80 4/13/2021
2021.4.6.1235 71 4/6/2021
2021.4.5.1653 80 4/5/2021
2021.4.1.913 81 4/1/2021
2021.3.31.2003 121 4/1/2021
2021.3.18.1622 88 3/18/2021
2021.3.3.1259 118 3/3/2021
2021.3.2.1415 76 3/2/2021
2021.3.1.11 97 2/28/2021
2021.3.1.1 105 2/27/2021
2021.3.1 113 2/27/2021
2021.2.23.6 94 2/23/2021
2021.2.21.1 81 2/21/2021
2021.2.20.1 95 2/20/2021
2021.2.19.2 98 2/19/2021
2021.2.17.1 108 2/17/2021
2021.2.16.1 80 2/16/2021
2021.2.15.3 94 2/15/2021
2021.2.15.1 99 2/14/2021
2021.2.14.3 106 2/14/2021
2021.2.12.6 94 2/12/2021
2021.2.12.2 82 2/12/2021
2021.2.10.1 99 2/10/2021
2021.2.8.1 102 2/9/2021
2021.2.7.2 97 2/7/2021
2021.2.7.1 106 2/6/2021
2020.12.27.6 166 12/27/2020
2020.12.27.1 151 12/27/2020
2020.12.26.7 145 12/27/2020
2020.12.26.5 145 12/27/2020
2020.12.26.3 164 12/27/2020
2020.12.19.1 251 12/19/2020
2020.12.16.1 158 12/16/2020
2020.12.15.1 134 12/15/2020
2020.12.14.5 155 12/14/2020
2020.12.14.4 155 12/14/2020
2020.12.14.3 177 12/14/2020
2020.12.5.1 236 12/5/2020
2020.12.4.4 191 12/4/2020
2020.12.4.3 166 12/4/2020
2020.12.4.1 174 12/4/2020
2020.12.3.1 157 12/3/2020
2020.12.2.4 152 12/2/2020
2020.12.2.3 192 12/2/2020
2020.12.1.1 171 12/1/2020
2020.11.28.1 177 11/28/2020
2020.11.27.2 164 11/27/2020
2020.11.27.1 169 11/27/2020
2020.11.25.1 130 11/25/2020
2020.11.22.3 178 11/23/2020
2020.11.20.1 233 11/21/2020
2020.11.19.3 149 11/19/2020
2020.11.19.1 151 11/19/2020
2020.11.18.2 177 11/18/2020
2020.11.17.2 207 11/17/2020
2020.11.17.1 150 11/17/2020
2020.11.15.1 186 11/15/2020
2020.11.14.1 211 11/14/2020
2020.11.13.2 168 11/13/2020
2020.11.13.1 152 11/13/2020
2020.11.12.1 139 11/12/2020
2020.11.11.1 168 11/11/2020
2020.11.8.1 262 11/8/2020
2020.11.7.1 183 11/7/2020
2020.11.5.1 148 11/5/2020
2020.11.3.1 200 11/3/2020
2020.11.1.3 237 11/1/2020
2020.11.1.2 212 11/1/2020
2020.11.1.1 192 11/1/2020
2020.10.30.1 203 11/1/2020
2020.10.15.3 171 10/15/2020
2020.10.15.2 169 10/15/2020
2020.10.14.1 175 10/14/2020
2020.10.13.1 200 10/13/2020
2020.10.12.2 234 10/12/2020
2020.10.12.1 170 10/12/2020
2020.10.10.1 320 10/10/2020
2020.10.9.6 183 10/9/2020
2020.10.9.2 200 10/9/2020
2020.10.9.1 189 10/9/2020
2020.10.8.1 163 10/8/2020
2020.10.6.8 180 10/7/2020
2020.10.6.6 167 10/7/2020
2020.10.6.5 198 10/7/2020
2020.10.6.4 178 10/7/2020
2020.10.6.3 223 10/7/2020
2020.10.6.2 167 10/7/2020
2020.10.6.1 203 10/7/2020
2020.10.5.1 193 10/6/2020
2020.10.1.3 159 10/1/2020
2020.10.1.2 183 10/1/2020
2020.10.1.1 168 10/1/2020
2020.9.29.10 202 9/29/2020
2020.9.29.9 219 9/29/2020
2020.9.28.2 176 9/28/2020
2020.9.28.1 193 9/28/2020
2020.9.25.1 309 9/26/2020
2020.9.24.2 191 9/24/2020
2020.9.24 194 9/24/2020
2020.9.23.2 192 9/23/2020
2020.9.23.1 203 9/23/2020
2020.9.22.1 194 9/22/2020
2020.9.21.1 214 9/21/2020
2020.9.17.2 184 9/17/2020
2020.9.16 206 9/16/2020
2020.9.15 206 9/15/2020
2020.9.14 211 9/14/2020
2020.9.9.2 185 9/9/2020
2020.9.8.1 178 9/8/2020
2020.9.8 184 9/8/2020
2020.9.6.5 269 9/6/2020
2020.9.4.2 206 9/4/2020
2020.9.4 192 9/4/2020
2020.9.3.1 210 9/3/2020
Show less