Een Web Application Firewall is een beveiligingscomponent die voor een webapplicatie staat en inkomend verkeer naar webapplicaties inspecteert om kwaadaardige verzoeken te voorkomen die kwetsbaarheden misbruiken.
In de netwerkstack bevindt een WAF zich op de Applicatielaag van het OSI-model, wat volledige zichtbaarheid in de request payload geeft. Om deze inspectie uit te voeren, vindt TLS- en SSL-terminatie plaats, waardoor de WAF kan inspecteren wat binnenkomt. Elk verzoek wordt vervolgens geanalyseerd op patronen die zijn gedefinieerd in een regellijst. Deze regels kunnen helpen veelvoorkomende aanvalsmethoden te voorkomen, zoals SQL-injectie-aanvallen, injectie van cross-site scripting (XSS) payloads, Cross-site request forgery (CSRF), file inclusion-aanvallen en meer.
Het onderhouden van sterke firewallregels is het meest waardevolle onderdeel van een WAF. Regelkwaliteit varieert significant tussen leveranciers en is uiteindelijk het belangrijkste intellectuele eigendomsverschil tussen leveranciers. Een WAF benadert detecties meestal met een negatief blokkeringsmodel, waarbij alles als een legitiem verzoek wordt beschouwd tenzij een specifieke regel wordt getriggerd. Sommige leveranciers gebruiken machine learning om abstracties van bekende patronen te detecteren en regels te triggeren op basis daarvan.
Ondanks hun voordelen kunnen web application firewalls ook afwegingen creëren door significante latentie toe te voegen aan webapplicaties, of in sommige gevallen een vals gevoel van veiligheid creëren door de pakketgrootte die ze inspecteren te beperken. Dit kan potentieel kwaadwillenden in staat stellen hun detecties te omzeilen, waardoor een bedreiging onopgemerkt kan binnenglippen.
Traditioneel kan een WAF geen webserverresponses of uitgaand verkeer monitoren. Dit is een beperking die, als er niet voor wordt gepland, gevoelige datalekken kan veroorzaken in geval van een kwaadaardig verzoek. Een WAF heeft ook geen zichtbaarheid in client-side uitvoeringen.
Web application firewalls kunnen op veel manieren worden geïmplementeerd: als fysieke appliances, beheerde diensten die worden gehost in public cloud platforms, diensten die draaien op edge runtimes, of meer recentelijk, direct geïntegreerd in een applicatie via een SDK.
Beveiliging draait om lagen. Een WAF lost beveiligingsrisico’s niet magisch op, maar het kan een goede laag zijn in de beveiligingsverdediging van een webapplicatie.
Sterker nog, veel industriestandaard compliance frameworks zoals PCI DSS bevelen aan of vereisen dat een WAF is geïmplementeerd.