Web Application Firewall
Eine Web Application Firewall (WAF) ist eine Technologie, die Web-Anwendungen vor Angriffen über das HTTP - Protokoll schützen soll. Teilweise wird diese Technologie auch als Web Shield, Application-Level-Gateway (ALG) oder Application-Level-Firewall (ALF) bezeichnet.Gegenüber klassischen Firewalls und Intrusion Detection Systemen (IDS) untersucht eine WAF die Kommunikation auf der Dienstebene. Dazu ist normalerweise keine Änderung an den zu schützenden Web-Anwendungen nötig.
Schutz
Angriffe vor denen eine WAF Schutz bieten soll:
Cross-Site Scripting (XSS)
* Hidden Field Tampering
* Parameter Tampering
* Cookie Poisoning
Pufferüberlaufangriffe
Forceful Browsing
* Unberechtigter Zugriff auf Web-Server
SQL Injection
* Command Injection
* bekannte Verwundbarkeiten von Web-Anwendungen
Funktionsweise
Die WAF untersucht alle eingehenden Anfragen und die Antworten des Web-Servers. Bei verdächtigen Inhalten wird der Zugriff unterbunden. Zur Klassifizierung von gefährlichen/verbotenen Aktionen wird häufig in einer vorgeschalteten Lernphase ein Application Security Scanner eingesetzt. Dieser analysiert, häufig im Dialog mit einem Nutzer, die Anwendung und erzeugt daraus Profile für zulässige Aktionen. Alternativ werden durch eine Art Crawler oder auch Application Security Scanner die Webseiten der Webapplikation angesteuert und enthaltene Formularfelder durchprobiert. Die Applikation läuft in dem Fall in einer Art passivem Modus, d.h. erlaubte und nicht erlaubte Eingaben werden in einer Logdatei festgehalten. Der Administrator kann dann nachträglich sehen, welche Aktionen in einem scharfen Betrieb geblockt würden und kann diese selektiv freischalten, indem er Sonderregeln einrichtet. Die konkreten Verfahren variieren von Anbieter zu Anbieter.
Sind beispielsweise zwei Parameter für ein untersuchtes Formular definiert, kann die WAF alle Requests blockieren, die drei oder mehr Parameter enthalten. Ebenso kann die Länge und der Inhalt der Parameter geprüft werden. Alleine durch die Spezifikation von allgemeinen Regeln über die Beschaffenheit von Parametern, z.B. der maximalen Länge und des erlaubten Wertebereichs können viele Angriffe verhindert oder für den Angreifer erschwert werden.
Vorteile
* Mehrere Ebenen des Schutzes (zusätzlicher Schutz zu vorhandenen Filtern in der Anwendung)
* Löcher können gleichzeitig für mehrer Anwendungen hinter der WAF geschlossen werden
* Schutz von Anwendungen, die nicht mehr aktualisiert werden können (Altsysteme)
* Möglichkeit zum Schutz von verwundbaren Drittanbieteranwendungen, bis diese gepatcht werden
Nachteile
* Sicherheitslücken können durch ein Umgehen der WAF weiterhin ausgenutzt werden
* Durch Unterschiede bei der Request-Bearbeitung sind neue Angriffe möglich (HTTP Request Smuggling[http://www.watchfire.com/resources/HTTP-Request-Smuggling.pdf HTTP Request Smuggling])
* Störung des Betriebs durch zu restriktive oder falsch konfigurierte Filter
* Anwendungen, die aktive Inhalte auf Seiten des Clients einsetzen (z.B. JavaScript) werden schlecht unterstützt oder erfordern einen erheblichen Konfigurationsaufwand
* ein kompletter Schutz einer Anwendung ist nicht ausschließlich durch Verwendung einer WAF möglich
Quellen
Weblinks
• Web Application Firewall Evaluation Criteria
• Bundesamt für Sicherheit in der Informationstechnik (BSI): Maßnahmenkatalog und Best Practices für die Sicherheit von Webanwendungen

