ASP-WAF Web application firewall for .Net 5, .Net Standard 2.1 and .Net Core 3.x

Walter.Web.FireWall Namespace

Classes


  Class Description
Public class Beacon
Beacon class is generated by the scripts stating that a given script has executed and is that the firewall is no longer supposed to accept any input from this script. Implements the IModelValidationContext
Public class ConcreteTypeConverter<(Of <(<'TConcrete>)>)>
Type converter specific types
Public class ContentSecurityPolicyViolation
Class ContentSecurityPolicyViolation. Implements the [IContentSecurityPolicyViolation]
Public class ContentSecurityPolicyViolation..::..ContentSecurityPolicyViolationsReport
Content security policy violations report data
Public class Cookie
Cookies as found in the response of the request
Public class CSPModel
Content Security Policy view model for use in your web applications to receive browser's CSP posts
Public class Discovery
Class Discovery contains information regarding the users discovery data used to enhance the firewall as well as provide a nice data source for web-stats.
Public class FireWallBase
Class FireWallBase is the base class to use when creating your own instance of IFireWall.
Public class LicenseEventArgs
Class LicenseEventArgs. Implements the EventArgs
Public class LicenseLevelChangedArgs
Class LicenseLevelChangedArgs.
Public class LicenseViolation
Class LicenseViolation is used to count firewall license violations.
Public class SecurityViolationException
Security violations exceptions are raised to communicate violations to the consumer and contain information on the violation
Public class SiteMapDiscovery
Class used for the site-map discovery firewall Url validation. Implements the JavaData to obtain script validation data
Public class SMTPLoggerExtensionMethods
SMTPLogger Extension Methods are used to add SMTP functionality to the IFireWall allowing it to send an email to predefined user roles

Structures


  Structure Description
Public structure Interactions
Interactions that the user had with a rendered page (only applicable when you use UserDiscovery)
Public structure ModelValidationErrors
Model violation errors and score

Interfaces


  Interface Description
Public interface IDiscoveryLogger
Interface IDiscoveryLogger allows you to log discovery data made by the users javascript executions
Public interface IFireWall
Interface IFireWall provides access to the FireWall management framework.
Public interface IFireWallConfig
Interface IFireWallConfig provides access to the configuration options for the firewall's runtime options.
Public interface IFireWallDiskGuard
Disk related guard activity for the IFireWall
Public interface IFireWallRuleTrigger
Interface IFireWallRuleTrigger
Public interface IGeoProvider
Geo-provider implementation interface allows you to register your own GEO provider with the firewall, Use IFireWall.Set() method to register your own
Public interface IInstrumented
Interface IInstrumented allows those that consume the firewall a way to extract the activities as well as the duration of a given activity.
Public interface ILicenseManager
access to the license manager
Public interface IModelValidationContext
Interface used for validating data models returned by the user to a public endpoint
Public interface IPageRequest
Interface IPageRequest contains the meta data in as the firewall managed this page and it's access to it, a custom implementation of this Interface will be rejected by the firewall
Public interface IPageRequestGroupIdValidation
Indicates that the model contains a PageRequestGroupId or PageRequestId value
Public interface IPageRequestsReposiory
Interface IPageRequestsReposiory stores page requests, the request as well as the fulfillment
Public interface IProxyProvider
Proxy provider allows you to implement your own proxy provider for the firewall, Use IFireWall.Set() method to register your own
Public interface IRequester
Interface IRequester
Public interface ISessionIdValidation
Indicates that the model contains a SessionId with the value containing the IPageRequest.SessionId
Public interface ISiteMapLogger
logger for site map model on the source page
Public interface IUnblock
Interface IUnblock interface carries information about the IP address and user combination that can be allowed to access a system
Public interface IUriResolverDictionary
Interface IUriResolver
Public interface IUserIdentity
Interface IUserIdentity allows interaction with the user of a given request

Enumerations


  Enumeration Description
Public enumeration BlockingReason
Blocking reason error codes
Public enumeration BlokingScopes
Enum BlokingScope
Public enumeration ClearOptions
Use clearing of firewall data sporadically as the data is important when operating the firewall
Public enumeration FireWallGuards
Enumeration controlling the guards that are used by the firewall
Public enumeration FireWallModules
The Enum FireWallModules lists those modules that the firewall is made up of. The Enum is used instrumenting performance and indicates the steps being executed.
Public enumeration FireWallProtectionModes
Defines the FireWall protection mode that is going to be used
Public enumeration FireWallState
The state of the firewall
Public enumeration FramesPolicy
IFrame policy
Public enumeration ItemCompairs
Enum ItemCompairs tests how an item compares to it's dictionary value
Public enumeration JavaScriptUpdatesIsUserDiscoveries
maintains the value of the User Discovery framework JavaScript Updates that have been executed by the Page
Public enumeration RequestersAssociations
describes association between a resource and a requester
Public enumeration RoutingEndpoint
Enum RoutingEndpoints
Public enumeration RuleNumber
A static class used to map rule numbers to rule names (reference only)
Public enumeration SearchEngine
Search Engine classification based on real-time nslookup (except DuckDuckGo)
Public enumeration TrustingSites
Sites that are trusted by the firewall a allowed site will not raise as violation for cross site scripting. Please note that you have no control over 3rd party sites and a compromised 3rd party site will be able to inject malicious content in your page without you knowing,
Public enumeration UserTypes
Types of users that are discovered and that can be filtered on. ///
Public enumeration ViolationStatusCode
configurable status codes used by Denial of Service Status Codes used by Firewall rather then returning a regular status codes masking the fact that we have discovered the intend.