Web Application Firewall: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
 
(20 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''topic''' kurze Beschreibung
Eine '''Web Application Firewall''' ('''WAF''') schützt [[Webanwendung]]en vor Angriffen über das [[Hypertext Transfer Protocol]]
 
== Beschreibung ==
== Beschreibung ==
Eine '''Web Application Firewall''' ('''WAF''') oder '''Web Shield''' ist ein Verfahren, das [[Webanwendung]]en vor Angriffen über das [[Hypertext Transfer Protocol]] (HTTP) schützen soll.
Eine '''Web Application Firewall''' ('''WAF''') oder '''Web Shield''' ist ein Verfahren, das [[Webanwendung]]en vor Angriffen über das [[Hypertext Transfer Protocol]] (HTTP) schützen soll
*Es stellt damit einen Spezialfall einer [[Firewall#Proxy_Firewall_.28auch_Application_Layer_Firewall.29|Application-Level-Firewall]] (ALF) oder eines [[Application-Level-Gateway]]s (ALG) dar.
* Es stellt damit einen Spezialfall einer [[Firewall#Proxy_Firewall_.28auch_Application_Layer_Firewall.29|Application-Level-Firewall]] (ALF) oder eines [[Application-Level-Gateway]]s (ALG) dar
Gegenüber klassischen [[Firewall]]s und [[Intrusion Detection System|Intrusion-Detection-Systemen]] (IDS) untersucht eine WAF die Kommunikation auf der Anwendungsebene.
Gegenüber klassischen [[Firewall]]s und [[Intrusion Detection System|Intrusion-Detection-Systemen]] (IDS) untersucht eine WAF die Kommunikation auf der Anwendungsebene
*Dazu ist normalerweise keine Änderung an der zu schützenden Web-Anwendung nötig.
* Dazu ist normalerweise keine Änderung an der zu schützenden Web-Anwendung nötig
==Schutz==
Angriffe, vor denen eine WAF Schutz bieten soll:
*"Injection"-Angriffe
** [[SQL Injection]]
**Command Injection
**LDAP Injection
**Skript Injection
** XPath Injection
*[[Cross-Site Scripting]] (XSS)
*Hidden Field Tampering
*Parameter Tampering
*Cookie Poisoning
* [[Pufferüberlauf]]­angriffe
*[[Forceful Browsing]]
*Unberechtigter Zugriff auf Web-Server
*Bestimmte 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 gefährlicher oder verbotener Aktionen wird häufig in einer vorgeschalteten Lernphase ein ''Application Security Scanner'' eingesetzt.
*Dieser analysiert, oft 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, das heißt, erlaubte und nicht erlaubte Eingaben werden in einer Logdatei festgehalten.
* Der Administrator kann anhand der Logdatei sehen, welche Aktionen in einem scharfen Betrieb blockiert würden, und kann diese bei Bedarf 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.
*Durch die Spezifikation allgemeiner Regeln über die Parameter-Beschaffenheit, z. B. der maximalen Länge und des erlaubten Wertebereichs, können Angriffe verhindert oder für den Angreifer erschwert werden.
==Arten ==
Es werden folgende Arten aufgrund ihrer Position in der Netzwerk- und Servertopologie unterschieden:
*[[Reverse Proxy]]
*Appliance
* direkt im Webserver integriert (z. B. [[Hiawatha Webserver|Hiawatha]])
*Plugin für Webserver
*Passives Device (IDS)
Durch seine zentrale Position ist eine WAF ein idealer Kandidat, um – ähnlich wie bei einer Firewall – alle Anforderungen ("requests") an eine Applikation zu untersuchen und gegebenenfalls zu korrigieren oder zu verwerfen.
==Vorteile ==
*Mehrere Ebenen des Schutzes (zusätzlicher Schutz zu vorhandenen Filtern in der Anwendung)
*Sicherheitslücken können gleichzeitig für mehrere Anwendungen hinter der WAF geschlossen werden
*Schutz von Anwendungen, die nicht mehr aktualisiert werden können ([[Altsystem]]e)
*Möglichkeit zum Schutz von verwundbaren Anwendungen anderer Anbieter, bis dieser sie selber repariert
== Nachteile==
* Sicherheitslücken können u. U. durch ein Umgehen der WAF weiterhin ausgenutzt werden
*Durch Unterschiede bei der Request-Bearbeitung sind neue Angriffe möglich (beispielsweise [[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
* Der Einsatz einer WAF kann zu Unachtsamkeit bei der Entwicklung der Anwendung verleiten – eine WAF ist jedoch kein Ersatz für eine sichere Anwendung
 
== Installation ==
== Anwendungen ==
=== Fehlerbehebung ===
== Syntax ==
=== Optionen ===
=== Parameter ===
=== Umgebungsvariablen ===
=== Exit-Status ===
== Konfiguration ==
=== Dateien ===
== Sicherheit ==
== Dokumentation ==
=== RFC ===
=== Man-Pages ===
=== Info-Pages ===
== Siehe auch ==
== Links ==
=== Projekt-Homepage ===
=== Weblinks ===
==Weblinks==
*[https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/Studien/WebSec/WebSec.html Bundesamt für Sicherheit in der Informationstechnik (BSI): Sicherheit von Webanwendungen - Maßnahmenkatalog und Best Practices]
*[http://www.owasp.org/images/1/1b/Best_Practices_Guide_WAF.pdf Best Practices - Einsatz von Web Application Firewalls (Guide der deutschen OWASP Sektion)] (PDF-Datei; 163 kB)
*[http://www.webappsec.org/projects/wafec/ Web Application Firewall Evaluation Criteria] (englisch)
* {{Webarchiv | url=http://it-republik.de/jaxenter/artikel/Web-Application-Security-2613.html | wayback=20091018050452 | text=JavaMagazin zum Thema "Web Application Security" Teil 1}}
::{{Webarchiv | url=http://it-republik.de/jaxenter/artikel/Web-Application-Security-2614.html | wayback=20091018050452 | text=Teil 2}}
::{{Webarchiv | url=http://it-republik.de/jaxenter/artikel/Web-Application-Security-2615.html | wayback=20091018050452 | text=Teil 3}}
::{{Webarchiv | url=http://it-republik.de/jaxenter/artikel/Web-Application-Security-2616.html | wayback=20091018050452 | text=Teil 4}}


=== Einzelnachweise ===
== Schutz ==
<references />
; Angriffe, vor denen eine WAF Schutz bieten soll
== Testfragen ==
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 1''
<div class="mw-collapsible-content">'''Antwort1'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 2''
<div class="mw-collapsible-content">'''Antwort2'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 3''
<div class="mw-collapsible-content">'''Antwort3'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 4''
<div class="mw-collapsible-content">'''Antwort4'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 5''
<div class="mw-collapsible-content">'''Antwort5'''</div>
</div>
 
[[Kategorie:Entwurf]]
 
= TMP =
 
 
== Web Application Firewall ==
Eine Web Application Firewall (WAF) oder Web Shield ist ein Verfahren, das [http://de.wikipedia.org/wiki/Webanwendung Webanwendungen] vor Angriffen über das [http://de.wikipedia.org/wiki/Hypertext_Transfer_Protocol Hypertext Transfer Protocol] (HTTP) schützen soll. Es stellt damit einen Spezialfall einer [http://de.wikipedia.org/w/index.php?title=Application-Level-Firewall&action=edit&redlink=1 Application-Level-Firewall] (ALF) oder eines [http://de.wikipedia.org/w/index.php?title=Application-Level-Gateway&action=edit&redlink=1 Application-Level-Gateways] (ALG) dar.
 
Gegenüber klassischen [http://de.wikipedia.org/wiki/Firewall Firewalls] und [http://de.wikipedia.org/wiki/Intrusion_Detection_System "Intrusion Detection"-Systemen] (IDS) untersucht eine WAF die Kommunikation auf der Anwendungsebene. Dazu ist normalerweise keine Änderung an der zu schützenden Web-Anwendung nötig.
 
=== Schutz ===
Angriffe, vor denen eine WAF Schutz bieten soll:
* "Injection"-Angriffe
* "Injection"-Angriffe
** [http://de.wikipedia.org/wiki/SQL_Injection SQL Injection]
** [[SQL Injection]]
** Command Injection
** Command Injection
** LDAP Injection
** LDAP Injection
** Skript Injection
** Skript Injection
** XPath Injection
** XPath Injection
* [http://de.wikipedia.org/wiki/Cross-Site_Scripting Cross-Site Scripting] (XSS)
* [[Cross-Site Scripting]] (XSS)
* Hidden Field Tampering
* Hidden Field Tampering
* Parameter Tampering
* Parameter Tampering
* Cookie Poisoning
* Cookie Poisoning
* [http://de.wikipedia.org/wiki/Pufferüberlauf Pufferüberlauf]­angriffe
* [[Pufferüberlauf]]&shy;angriffe
* [http://de.wikipedia.org/wiki/Forceful_Browsing Forceful Browsing]
* [[Forceful Browsing]]
* Unberechtigter Zugriff auf Web-Server
* Unberechtigter Zugriff auf Web-Server
* Bestimmte bekannte Verwundbarkeiten von Web-Anwendungen
* Bestimmte bekannte Verwundbarkeiten von Web-Anwendungen


=== Funktionsweise ===
== Funktionsweise ==
Die WAF untersucht alle eingehenden Anfragen und die Antworten des Web-Servers. Bei verdächtigen Inhalten wird der Zugriff unterbunden. Zur Klassifizierung gefährlicher oder verbotener Aktionen wird häufig in einer vorgeschalteten Lernphase ein Application Security Scanner eingesetzt.
Die WAF untersucht alle eingehenden Anfragen und die Antworten des Web-Servers
* Bei verdächtigen Inhalten wird der Zugriff unterbunden
* Zur Klassifizierung gefährlicher oder verbotener Aktionen wird häufig in einer vorgeschalteten Lernphase ein ''Application Security Scanner'' eingesetzt
* Dieser analysiert, oft 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, das heißt, erlaubte und nicht erlaubte Eingaben werden in einer Logdatei festgehalten
* Der Administrator kann anhand der Logdatei sehen, welche Aktionen in einem scharfen Betrieb blockiert würden, und kann diese bei Bedarf 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
* Durch die Spezifikation allgemeiner Regeln über die Parameter-Beschaffenheit, z.&nbsp;B.&nbsp;der maximalen Länge und des erlaubten Wertebereichs, können Angriffe verhindert oder für den Angreifer erschwert werden


Dieser analysiert, oft 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.
== Arten ==
 
Es werden folgende Arten aufgrund ihrer Position in der Netzwerk- und Servertopologie unterschieden:
Die Applikation läuft in dem Fall in einer Art passivem Modus, das heißt, erlaubte und nicht erlaubte Eingaben werden in einer Logdatei festgehalten.
* [[Reverse Proxy]]
 
Der Administrator kann dann nachträglich sehen, welche Aktionen in einem scharfen Betrieb blockiert 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. Allein durch die Spezifikation allgemeiner Regeln über die Parameter-Beschaffenheit, z.&nbsp;B. der maximalen Länge und des erlaubten Wertebereichs, können viele Angriffe verhindert oder für den Angreifer erschwert werden.
 
=== Arten ===
Es werden folgende Arten aufgrund ihrer Position in der Netzwerk- und Servertopologie unterschieden:* [http://de.wikipedia.org/wiki/Reverse_Proxy Reverse Proxy]
* Appliance
* Appliance
* Plugin im Webserver
* direkt im Webserver integriert (z.&nbsp;B.&nbsp;[[Hiawatha Webserver|Hiawatha]])
* Plugin für Webserver
* Passives Device (IDS)
* Passives Device (IDS)


Durch seine zentrale Position ist eine WAF ein idealer Kandidat, um – ähnlich wie bei einer Firewall – alle Anforderungen ("requests") an eine Applikation zu untersuchen und gegebenenfalls zu korrigieren oder zu verwerfen.
Durch seine zentrale Position ist eine WAF ein idealer Kandidat, um – ähnlich wie bei einer Firewall – alle Anforderungen ("requests") an eine Applikation zu untersuchen und gegebenenfalls zu korrigieren oder zu verwerfen


=== Vorteile ===
== Vorteile ==
* Mehrere Ebenen des Schutzes (zusätzlicher Schutz zu vorhandenen Filtern in der Anwendung)
* Mehrere Ebenen des Schutzes (zusätzlicher Schutz zu vorhandenen Filtern in der Anwendung)
* Sicherheitslücken können gleichzeitig für mehrere Anwendungen hinter der WAF geschlossen werden
* Sicherheitslücken können gleichzeitig für mehrere Anwendungen hinter der WAF geschlossen werden
* Schutz von Anwendungen, die nicht mehr aktualisiert werden können ([http://de.wikipedia.org/wiki/Altsystem Altsysteme])
* Schutz von Anwendungen, die nicht mehr aktualisiert werden können ([[Altsystem]]e)
* Möglichkeit zum Schutz von verwundbaren Anwendungen anderer Anbieter, bis dieser sie selber repariert
* Möglichkeit zum Schutz von verwundbaren Anwendungen anderer Anbieter, bis dieser sie selber repariert


=== Nachteile ===
== Nachteile ==
* Sicherheitslücken können u.U. durch ein Umgehen der WAF weiterhin ausgenutzt werden
* Sicherheitslücken können u.&nbsp;U. durch ein Umgehen der WAF weiterhin ausgenutzt werden
* Durch Unterschiede bei der Request-Bearbeitung sind neue Angriffe möglich (beispielsweise [http://de.wikipedia.org/w/index.php?title=HTTP_Request_Smuggling&action=edit&redlink=1 HTTP Request Smuggling])
* Durch Unterschiede bei der Request-Bearbeitung sind neue Angriffe möglich (beispielsweise [[HTTP Request Smuggling]])
* Störung des Betriebs durch zu restriktive oder falsch konfigurierte Filter
* Störung des Betriebs durch zu restriktive oder falsch konfigurierte Filter
* Anwendungen, die aktive Inhalte auf Seiten des Clients einsetzen (z.&nbsp;B. [http://de.wikipedia.org/wiki/JavaScript JavaScript]) werden schlecht unterstützt oder erfordern einen erheblichen Konfigurationsaufwand
* Anwendungen, die aktive Inhalte auf Seiten des Clients einsetzen (z.&nbsp;B.&nbsp;[[JavaScript]]) werden schlecht unterstützt oder erfordern einen erheblichen Konfigurationsaufwand
* Der Einsatz einer WAF kann zu Unachtsamkeit bei der Entwicklung der Anwendung verleiten – eine WAF ist jedoch kein Ersatz für eine sichere Anwendung
* Der Einsatz einer WAF kann zu Unachtsamkeit bei der Entwicklung der Anwendung verleiten – eine WAF ist jedoch kein Ersatz für eine sichere Anwendung


== Links ==
== Siehe auch ==
* [[mod_security]]


=== Weblinks ===
# http://de.wikipedia.org/w/index.php?title=Web_Application_Firewall
# [https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/Studien/WebSec/WebSec.html Bundesamt für Sicherheit in der Informationstechnik (BSI): Sicherheit von Webanwendungen - Maßnahmenkatalog und Best Practices]
# [http://www.owasp.org/images/1/1b/Best_Practices_Guide_WAF.pdf Best Practices - Einsatz von Web Application Firewalls (Guide der deutschen OWASP Sektion)]
# [http://www.webappsec.org/projects/wafec/ Web Application Firewall Evaluation Criteria]


[[Kategorie:Apache/HTTP/Module]]
[[Kategorie:Firewall]]
[[Kategorie:Firewall]]
[[Kategorie:Apache]]
[[Kategorie:PHP]]
[[Kategorie:PHP]]

Aktuelle Version vom 30. März 2024, 00:35 Uhr

Eine Web Application Firewall (WAF) schützt Webanwendungen vor Angriffen über das Hypertext Transfer Protocol

Beschreibung

Eine Web Application Firewall (WAF) oder Web Shield ist ein Verfahren, das Webanwendungen vor Angriffen über das Hypertext Transfer Protocol (HTTP) schützen soll

Gegenüber klassischen Firewalls und Intrusion-Detection-Systemen (IDS) untersucht eine WAF die Kommunikation auf der Anwendungsebene

  • Dazu ist normalerweise keine Änderung an der zu schützenden Web-Anwendung nötig

Schutz

Angriffe, vor denen eine WAF Schutz bieten soll
  • "Injection"-Angriffe
    • SQL Injection
    • Command Injection
    • LDAP Injection
    • Skript Injection
    • XPath Injection
  • Cross-Site Scripting (XSS)
  • Hidden Field Tampering
  • Parameter Tampering
  • Cookie Poisoning
  • Pufferüberlauf­angriffe
  • Forceful Browsing
  • Unberechtigter Zugriff auf Web-Server
  • Bestimmte 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 gefährlicher oder verbotener Aktionen wird häufig in einer vorgeschalteten Lernphase ein Application Security Scanner eingesetzt
  • Dieser analysiert, oft 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, das heißt, erlaubte und nicht erlaubte Eingaben werden in einer Logdatei festgehalten
  • Der Administrator kann anhand der Logdatei sehen, welche Aktionen in einem scharfen Betrieb blockiert würden, und kann diese bei Bedarf 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
  • Durch die Spezifikation allgemeiner Regeln über die Parameter-Beschaffenheit, z. B. der maximalen Länge und des erlaubten Wertebereichs, können Angriffe verhindert oder für den Angreifer erschwert werden

Arten

Es werden folgende Arten aufgrund ihrer Position in der Netzwerk- und Servertopologie unterschieden:

  • Reverse Proxy
  • Appliance
  • direkt im Webserver integriert (z. B. Hiawatha)
  • Plugin für Webserver
  • Passives Device (IDS)

Durch seine zentrale Position ist eine WAF ein idealer Kandidat, um – ähnlich wie bei einer Firewall – alle Anforderungen ("requests") an eine Applikation zu untersuchen und gegebenenfalls zu korrigieren oder zu verwerfen

Vorteile

  • Mehrere Ebenen des Schutzes (zusätzlicher Schutz zu vorhandenen Filtern in der Anwendung)
  • Sicherheitslücken können gleichzeitig für mehrere Anwendungen hinter der WAF geschlossen werden
  • Schutz von Anwendungen, die nicht mehr aktualisiert werden können (Altsysteme)
  • Möglichkeit zum Schutz von verwundbaren Anwendungen anderer Anbieter, bis dieser sie selber repariert

Nachteile

  • Sicherheitslücken können u. U. durch ein Umgehen der WAF weiterhin ausgenutzt werden
  • Durch Unterschiede bei der Request-Bearbeitung sind neue Angriffe möglich (beispielsweise 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
  • Der Einsatz einer WAF kann zu Unachtsamkeit bei der Entwicklung der Anwendung verleiten – eine WAF ist jedoch kein Ersatz für eine sichere Anwendung

Siehe auch

Weblinks

  1. http://de.wikipedia.org/w/index.php?title=Web_Application_Firewall
  2. Bundesamt für Sicherheit in der Informationstechnik (BSI): Sicherheit von Webanwendungen - Maßnahmenkatalog und Best Practices
  3. Best Practices - Einsatz von Web Application Firewalls (Guide der deutschen OWASP Sektion)
  4. Web Application Firewall Evaluation Criteria