Was ist eigentlich eine Web Application Firewall?

"Wie schützen Sie Ihre webbasierten Anwendungen?" "Na, wir haben doch eine Firewall!" Warum eine Web Application Firewall (WAF) neben klassischen Firewalls eine wichtige Rolle spielt.

  • Welchen Gefahren ist eine webbasierte Anwendung heute ausgesetzt?
  • Welche Herausforderungen sind dabei zu beachten?
  • Welche typischen Schutzmaßnahmen gibt es?
  • Was ist der Unterschied zu klassischen Firewalls?
  • Warum kann eine Web Application Firewall effektiv helfen?
  • Wann muss ich eine Web Application Firewall einsetzen?

Gefahren für webbasierte Anwendungen

Produkte wie Fahrzeuge, Kühlschränke und andere Produkte werden heutzutage beim Hersteller nur noch endmontiert. Ihre Einzelteile werden von unterschiedlichen Zulieferern gefertigt und häufig Just-In-Time in die Produktionskette geliefert. Um dies zu ermöglichen, werden Systeme über das Internet mittels Web Services miteinander vernetzt. Somit können die Prozesse unternehmensübergreifend ablaufen.

Andere Unternehmen nutzen das Internet, um ihre Bestellprozesse zu vereinfachen oder Produktinformationen für Kunden und Lieferanten bereitzustellen. Sie exponieren Portale aus Ihrem Netzwerk direkt ins Internet.

Das Wachstum im Handel von Produkten über das Internet ist enorm. Sowohl Non-Food, aber zunehmend auch Lebensmittel werden über das Internet gehandelt, bestellt und versendet. Es werden Shop-Systeme mit integriertem Zahlungsverkehr und angehängter Logistik betrieben.

Alle genannten Szenarien sind für Hacker aus unterschiedlichen Motivationen beliebte Angriffsziele. Sei es Datendiebstahl, Sabotage oder Spionage. Cyberkriminalität ist ein lukratives Geschäft, mit dem sich viel Geld verdienen lässt.

Da wichtige, geschäftsrelevante und sensible Informationen ausgetauscht werden, müssen diese vor Angriffen geschützt werden. Dabei ist dabei auf drei wesentliche Merkmale zu achten:

  • Vertraulichkeit
  • Integrität
  • Sicherheit

Um die genannten Anwendungsszenarien abzubilden, kommen in der Regel webbasierte Anwendungen mit dahinter liegenden Datenbanken zum Einsatz.

Web Application Firewall 3 Tier Architektur

 

Angriffe auf solche Anwendungen sind heutzutage sehr viel zielgenauer als noch vor einigen Jahren. Warum? Der Angreifer will vielleicht Ihr System lahmlegen (Sabotage), vielleicht will er an die Daten (Spionage und Datendiebstahl). Oder aber er will das System missbrauchen, um dem Nutzer der  Anwendung Code (beispielsweise via Drive-By-Download) unterzujubeln und damit weitere Angriffe fahren. Solche Angriffsformen und deren Motivation sollen hier nur beispielhaft erwähnt werden.

Spannend ist, dass die zielgenauen Angriffe heutzutage in den meisten Fällen direkt auf Schwachstellen in der Anwendung abzielen. Und genau davor sollte man die Anwendung schützen.

Herausforderungen bezüglich Cyber Security

Die größte Herausforderung für webbasierte Anwendungen ist die Dynamik, in der sich heute Anforderungen und damit die Anwendungen verändern. Die Release-Zyklen von Software sind heute häufig so kurz, dass ausführliche Audits oder Penetrationstests für webbasierte Anwendungen viel häufiger stattfinden müssten.

Da jedoch Time-to-Market und Innovation sowie Benutzerfreundlichkeit im Vordergrund stehen, müssen zusätzliche Maßnahmen die dadurch entstehenden Sicherheitslücken schließen.

Die Entwicklungsabteilung eines Kunden meinte einst: „Wir programmieren die Anwendung! Um die Sicherheit sollen sich die Kollegen vom Netzwerkteam kümmern.“

Und genau darin liegt die Krux: Wenn bereits bei der Entwicklung entsprechende Sicherheitsmaßnahmen ergriffen werden, erhöht das massiv die Sicherheit der Anwendung.

Schutzmaßnahmen für webbasierte Anwendungen

Was also kann man tun, um den Schutz zu erhöhen? Nachfolgend eine Auflistung von Maßnahmen, die zur Erhöhung der Sicherheit von webbasierten Anwendungen beitragen:

  • Schaffen von Richtlinien für die Programmierung und Codierung, um die Sicherheit bereits in Architektur und Code zu schaffen
  • Durchführen regelmäßiger Code Reviews sowie Überprüfung der Architektur
  • Einsatz von Code Obfuscation zur Verschleierung und/oder Verschlüsselung des Programmcodes
  • Einführung von Datenbankverschlüsselung für sensible Daten (vor allem bei personenbezogenen Daten)
  • Nutzung von Schwachstellen Management (Vulnerability Management) zum zügigen und automatisierten Auffinden neuer bekannt gewordener Schwachstellen auf Hardware, Betriebssystem, Netzwerk, Server und Anwendungsebene
  • Absicherung der Authentifizierung und Autorisierung in einem separaten geschützten Bereich (Identity und Access Management, kurz IAM)
  • Absicherung der Verbindung durch starke Verschlüsselungsalgorithmen (im SSL vor allem schwache Algorithmen abschalten)
  • Aufteilung der Systeme in durch Firewalls getrennte Segmente (mehrere DMZ)

Und natürlich die Einführung einer Web Application Firewall (WAF). Wie sich diese abgrenzt und was sie besonders macht, wird im Folgenden erläutert.

Was ist der Unterschied zwischen einer Web Application Firewall und anderen Firewalls?

Nimmt man die aktuell am häufigsten und erfolgreichsten Angriffsarten – die sogenannten TOP10 der OWASP (www.owasp.org), so lässt sich schnell erkennen, dass die Angriffe vor allem auf den Layer 7 abzielen, also auf die Anwendungen.

Eine klassische Firewall arbeitet auf den Netzwerkebenen (in der Regel Layer 2 bis 6) und kann dort in den Protokollen des TCP/IP eine gute Basissicherheit liefern. Eine WAF dagegen ist auf der Anwendungsebene (Layer 7) unterwegs und „kennt“ die Anwendung. Eine WAF kann Entscheidungen darüber treffen, ob ein http-Request für die Anwendung gutartig oder bösartig ist und damit einen Angriff darstellt. Sie weiß über typische Angriffsmuster wie SQL Injection, Cross-Site-Scripting oder Pufferüberläufe Bescheid und kann entsprechend reagieren.

An folgendem Schaubild lässt sich leicht erkennen, wo die Unterschiede zwischen klassischen Firewalls und Web Application Firewalls (WAFs) in Bezug auf Abwehr von Angriffen liegen:

Abgrenzung Web Application Firewall und Firewall

Moderne Firewalls der Next Generation (Firewall NG) bieten durch die Applikationserkennung auf Layer 7 für webbasierte Anwendungen zwar einen zusätzlichen Mehrwert – dieser gilt aber eher für die Erkennung von Standardanwendungen als für die Abwehr von Angriffen, die gezielt durch einen http-Request Daten aus Anwendung ungewollt übertragen. Selbst ein Intrusion Detection (IDS) und Prevention System (IPS) wird in der Regel keinen spezialisierten Angriff wie beispielsweise eine verschleierte XSS Attacke erkennen und abwehren können (siehe Schaubild).

Web Application Firewall XSS Attacke

Warum kann eine Web Application Firewall effektiv helfen?

Die Web Application Firewall ist dediziert als Schutz für webbasierte Anwendungen vorgesehen, die in der Regel zum Internet hin exponiert sind, also von anderen Benutzern (aus dem Internet) in Ihrem Netzwerk genutzt werden. Sie ist kein Schutz für Clients aus Ihrem Netzwerk, die im Internet von anderen bereitgestellte Anwendungen nutzen. Sie sorgt dafür, dass Ihre webbasierte Anwendung vor Angriffen auf Anwendungsebene (Layer 7) geschützt wird.

Die Web Application Firewall konzentriert sich auf folgende Eigenschaften:

  • Kontrolle von Zugriffen auf Anwendungs- und Infrastrukturebene
  • Filterung unerwünschter Zugriffe auf Webanwendungen (auch HTTPS)
  • Bildung einer Schutzschicht zwischen Internet und Webanwendungen
  • Absicherung des Betriebes vor Ausfällen

Eine „gute“ Web Application Firewall

  • „kennt“ die zu schützende Webanwendung
  • führt tiefgreifende Untersuchungen des Datenverkehrs auf Layer 7 durch
  • ist in der Lage, http-Anfragen nach „gut“ und „böse“ zu unterscheiden
  • bietet effektiven Schutz gegen typische Angriffe wie die OWASP Top 10

Die heutigen Web Application Firewalls haben eine Reihe technischer Funktionen, die weit über den reinen Schutz webbasierter Anwendungen hinausgehen. Um beispielsweise Identitäten und deren Berechtigungen zu verwalten, gibt es moderne Lösungen, die zusätzliche Module dazu bereitstellen.

Welche dieser Funktionen welchen Effekt haben und worauf es bei der Auswahl einer WAF ankommt, wird im nächsten Beitrag dieser Serie dargestellt.

Wann muss ich eine Web Application Firewall einsetzen?

Die Vorteile der Absicherung von webbasierten Anwendungen durch eine Web Application Firewall werden zur verpflichtenden Voraussetzung, wenn man mit elektronischem Zahlungsverkehr in Berührung kommt.

Das PCI Security Standards Council (https://de.pcisecuritystandards.org/) ist ein internationales, offenes Forum für Sicherheitsstandards zum Schutz von Zahlungs- und Kontodaten. Die Organisation wurde von Kreditkarteninstituten gegründet, deren Motivation sich von selbst erklärt.

In deren Standard PCI DSS (aktuelle Version 3.2) wird als Anforderung unter Punkt 6.6 gefordert:

Die kontinuierliche Betrachtung neuer Bedrohungen und Sicherheitsrisiken bei öffentlichen Webanwendungen sowie Schutz dieser Anwendungen vor bekannten Angriffen auf eine der folgenden Methoden:
  • Prüfen öffentlicher Webanwendungen durch manuelle oder automatisierte Tools oder Methoden zum Bewerten der Anwendungssicherheit mindestens jährlich sowie nach Änderungen
  • Installation einer automatischen technischen Lösung zur Erkennung und Verhinderung webbasierter Angriffe (z.B. eine Webanwendungs-Firewall) bei öffentlichen Webanwendungen zur kontinuierlichen Prüfung des Datenverkehrs

Hier hat man zwar die Wahl, durch regelmäßige Penetrationstests die Anforderung zu erfüllen. Da dieser aber auch nach jeder Änderung gefordert wird, ist der Aufwand und die dahinterstehenden Kosten häufig hoch. Automatisierte Tools für Schwachstellen-Management sind wichtig und gut und sollte auch eingesetzt werden. Sie ersetzen jedoch nicht den aktiven Schutz einer Web Application Firewall.

Als Empfehlung gilt daher:

  1. Einführung einer Web Application Firewall für den proaktiven Schutz
  2. Regelmäßige Penetrationstests mit manueller Prüfung (mindestens einmal pro Jahr)
  3. Einsatz automatisierter Tools zur Erkennung neu bekannt gewordener Schwachstellen (Vulnerabilitiy Management)

Erfahren Sie mehr über die Möglichkeiten einer modernen WAF.

Array

1 Kommentar

  1. Danke das war wirklich aufschlussreich. Habe auch schon mal überlegt mich für eine web Applikation zu entscheiden, aber dafür eine separate Firewall zu nutzen… Darauf wäre ich sicherlich nicht gekommen. Danke für den Tipp!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

CAPTCHA *