Eine Web Application Firewall (WAF) ist eine Application Firewall für HTTP-Anwendungen, die eine Reihe von Regeln auf eine HTTP-Konversation anwendet und Webanwendungen schützt, etwa als Appliance, Server-Plugin oder Filter.
Auf einen Blick
OWASP beschreibt eine WAF als Application Firewall für HTTP-Anwendungen, die Regeln auf eine HTTP-Konversation anwendet.
Die Anpassung der WAF an eine Anwendung kann erheblichen Aufwand bedeuten und muss bei Änderungen der Anwendung gepflegt werden.
Bei HTTP Parameter Pollution (CAPEC-460) kann ein Angreifer nach CAPEC eine WAF umgehen, die einen Parameter nur prüft, bevor das Backend ihn zusammengesetzt hat.
Was ist eine Web Application Firewall?
Eine WAF wird nach OWASP zum Schutz einer bestimmten Webanwendung oder mehrerer Webanwendungen eingesetzt. Nach dem BSI kommen Proxys meist auf der Client-Seite zur Nutzung von Web-Angeboten zum Einsatz; befindet sich der Proxy auf der Server-Seite, spricht man von einem Reverse Proxy, und eine WAF kann nach OWASP als Reverse Proxy betrachtet werden. Die Regeln lassen sich an eine Anwendung anpassen; diese Anpassung kann nach OWASP erheblichen Aufwand bedeuten und muss gepflegt werden, wenn die Anwendung geändert wird. CAPEC nennt beim Angriffsmuster HTTP Flood als Gegenmaßnahme, eine Web Application Firewall (WAF) zu verwenden, die helfen kann, bösartigen Verkehr herauszufiltern.
Schützt ein Versicherer sein Online-Schadenportal mit einer Web Application Firewall, prüft diese die HTTP-Anfragen an die Anwendung anhand von Regeln, die laut OWASP in der Regel verbreitete Angriffe wie Cross-Site-Scripting und SQL-Injection abdecken. Der BSI-Baustein APP.3.1 führt den Einsatz von Web Application Firewalls unter den Vorschlägen auf, die bei erhöhtem Schutzbedarf in Betracht gezogen werden sollen; diese Vorschläge gehen über das Schutzniveau hinaus, das dem Stand der Technik entspricht. Die Konfiguration der WAF soll nach dem Baustein auf die zu schützende Webanwendung angepasst und nach jedem Update der Anwendung geprüft werden.
Wie funktioniert eine Web Application Firewall?
Eine WAF wendet nach OWASP eine Reihe von Regeln auf eine HTTP-Konversation an. Das OWASP ModSecurity Core Rule Set bietet Schutz gegen Angriffskategorien wie SQL Injection, Cross Site Scripting und Local File Inclusion. MITRE ATT&CK nennt als Gegenmaßnahme, Proxyserver oder WAFs zur Prüfung und Blockierung bösartigen HTTP/S-Verkehrs zu verwenden und eine WAF so zu konfigurieren, dass sie SQL-Injection-Versuche blockiert.
Eine ordnungsgemäß konfigurierte WAF kann nach MITRE ATT&CK dazu beitragen, dass externe Angreifer keine Server-Side-Request-Forgery-Angriffe ausnutzen, die Zugriff auf die Cloud-Instance-Metadata-API ermöglichen. Für Blockregeln nennt CAPEC besondere Sorgfalt, damit die Rate falsch-positiver Treffer niedrig bleibt. Bei HTTP Parameter Pollution (CAPEC-460) kann ein Angreifer nach CAPEC eine WAF umgehen, die einen Parameter nur prüft, bevor das Backend ihn zusammengesetzt hat; dann gelangen bösartige Abfragen durch. Die ENISA nennt in einer Meldung zu DDoS-Angriffen auf die öffentliche Verwaltung als Maßnahme, kritische Portale hinter ein Content Delivery Network oder eine WAF mit ständigem Schutz auf Netzwerk- und Anwendungsebene zu stellen.
Web Application Firewall im Vergleich
Die WAF ist nach OWASP eine Application Firewall für HTTP-Anwendungen, die Regeln auf eine HTTP-Konversation anwendet; sie setzt bei einer bestimmten oder mehreren Webanwendungen an, und WAFs schützen Server (OWASP). Eine Firewall ist nach dem BSI (NET.3.2) ein System aus soft- und hardwaretechnischen Komponenten, das dazu eingesetzt wird, IP-basierte Datennetze sicher zu koppeln, und setzt am Übergang zwischen unterschiedlich vertrauenswürdigen Netzen an; NET.3.2 geht auf Schutz extern angebotener Server-Dienste mit Reverse Proxy oder WAF nicht ein (BSI).
Proxy auf der Server-Seite: Alle Anfragen, die an den zugehörigen Webserver gerichtet sind, nimmt zuerst der Reverse Proxy an (BSI). Ansatzpunkt des Reverse Proxy: Auf der Server-Seite; Proxys auf der Client-Seite dienen nach dem BSI dagegen meist der Nutzung von Web-Angeboten. Eine WAF kann nach OWASP als Reverse Proxy betrachtet werden.
Schutz im Ernstfall
Vorbeugen
- Wird eine WAF eingesetzt, soll ihre Konfiguration nach dem BSI-Baustein APP.3.1, der den WAF-Einsatz unter den Vorschlägen für erhöhten Schutzbedarf aufführt, auf die zu schützende Webanwendung oder den Webservice angepasst werden.
- Nach jedem Update der Webanwendung oder des Webservices soll die Konfiguration der WAF nach dem Baustein geprüft werden; der Baustein führt den WAF-Einsatz unter den Vorschlägen für erhöhten Schutzbedarf auf.
- Nach OWASP kann die Anpassung einer WAF an eine Anwendung erheblichen Aufwand erfordern und muss gepflegt werden, wenn die Anwendung geändert wird.
- Für Blockregeln nennt CAPEC besondere Sorgfalt, damit die Rate falsch-positiver Treffer niedrig bleibt.
- Bei HTTP Parameter Pollution (CAPEC-460) kann ein Angreifer nach CAPEC eine WAF umgehen, die einen Parameter nur prüft, bevor das Backend ihn zusammengesetzt hat.
Beispiele aus der Praxis
- Eine Webanwendung wird durch eine WAF geschützt, die eine Reihe von Regeln auf die HTTP-Konversation anwendet, etwa Regeln gegen Cross-Site-Scripting und SQL-Injection.
- Nach einer Änderung der Webanwendung prüft der Betreiber die Konfiguration der WAF und passt sie bei Bedarf an die geänderte Anwendung an.
- Eine WAF lässt sich nach MITRE ATT&CK so konfigurieren, dass sie SQL-Injection-Versuche blockiert.
- Ein Versicherer stellt vor sein Online-Schadenportal eine WAF, die HTTP-Anfragen an die Anwendung anhand von Regeln prüft.