Webapplikationen sind Programme auf Webservern, die von überall im Internet zugänglich sind. Auch, wenn Benutzername und Passwort erforderlich sind, können alle zumindest in die Login-Maske beliebige Daten eingeben. Das kann ein Sicherheitsproblem darstellen und für Angriffe ausgenutzt werden. Ein WAF ist eine Maßnahme, um die Bedrohung durch Angriffe dieses Typs niedrig zu halten. Die Grundidee ist die der Kontrolle des Typs, des Umfangs und der Art der Daten durch einen WAF, bevor sie die Webapplikation erreichen.
Inhalt
Reicht eine konventionelle Firewall nicht für den Schutz einer Webapplikation?
Eine solche Firewall überprüft Herkunft und Ziel von Datenpaketen aus dem Internet. Sie kann etwa Pakete blockieren, die von Servern mit nicht bekannter IP-Adresse stammen. Das bedeutet aber auch, dass sich Daten von an sich zulässiger Quelle nicht blockieren lassen, was für einen Login-Prozess grundsätzlich der Fall ist. In solchen Situationen bietet eine Firewall daher keinen Schutz vor Angriffen.
Das Grundproblem der Sicherheit von Webapplikationen
Eine nur zur Bereitstellung von Daten verwendete Webseite lässt sich mit einer konventionellen Firewall gut absichern. Heutige Webapplikationen stützen sich aber stark auf die Interaktion mit dem Benutzer. Die von ihm eingegebenen Daten lassen sich auf dem Webserver verarbeiten, damit kann man Sicherheitslücken im Programm der Webapplikation ausnutzen. Beispiele sind eine DOS-Attacke, die den Webserver lahmlegen kann oder ein Diebstahl der von der Webapplikation verwalteten Daten. Das Hauptproblem der Sicherung einer Webapplikation ist, dass der Benutzer beliebige Daten in die vorgesehenen Felder eingeben kann. Damit umgeht er die üblichen Netzwerksicherungen und kann direkt mit der Webapplikation in Verbindung treten. Lesen Sie hier alles zur DOS-Attacke.
Vor welchen Angriffen kann ein WAF schützen?
Einige einfache Beispiele illustrieren den Unterschied zwischen einer Netzwerkattacke und einem Angriff auf
eine Webapplikation.
- Der Benutzer kann als Benutzernamen einen sehr langen String eingeben. Die Firewall kann diese Daten nicht blockieren, denn diese Eingabe wird von der Webapplikation erwartet. Wird der lange String dann nicht vom Programm der Webapplikation gekürzt, sondern in seiner Gänze abgespeichert, erzeugt dies einen Überlauf des Speichers. Das Ende des Strings legt man an nicht vorgesehener Stelle im Speicher des Computers ab, was ein schweres Sicherheitsproblem darstellen kann.
- Verschlüsselung der übertragenen Daten ist an sich ein nützliches Werkzeug für die Erhöhung der Sicherheit. Ihre Verwendung bedeutet aber auch, dass eine Firewall die so übertragenen Daten nicht auf Schadprogramme wie Viren untersuchen kann.
- Steuerzeichen lässt ein Benutzername oftmals nicht zu, Benutzer können sie aber trotzdem eingegeben. Die Firewall kann nicht erkennen, welche Zeichen erlaubt sind und welche nicht.
- Viele Webapplikationen verwenden Kundennummern in der URL. Verändert der Benutzer nach dem Login seine Nummer, können ihm Daten anderer Kunden angezeigt werden. Das lässt sich nur durch Untersuchung der Daten aus der URL verhindern, eine Firewall kann eine zulässige Kundennummer nicht von einer anderen unterscheiden.
Eine erweiterte Firewall als erster Schritt der Absicherung einer Webapplikation
Eine Firewall NG, oder „Next Generation„, kann feinere Unterscheidungen als eine herkömmliche Firewall treffen. Sie hält verschiedene Applikationen und die jeweiligen Zugangsberechtigungen auseinander. Verschiedene Nutzer können sich mit unterschiedlichen Berechtigungen ausgestattet lassen, die von der Firewall NG überwacht werden. Auch das Problem der Verschlüsselung lässt sich auf dieser Ebene lösen. Dazu entschlüsselt man die Daten nicht erst von der Webapplikation, sondern von der Firewall NG. So erfolgt eine Kontrolle.
Eine Firewall NG bietet einen Zuwachs an Sicherheit, lässt aber bereits die Probleme erkennen, die sich auch aus der Verwendung einer WAF ergeben. Fehlerhafte Konfigurationen können Störungen hervorrufen, wenn man erforderliche Daten blockiert. Auch kann die Verwendung solcher Sicherheitsmaßnahmen dazu führen, dass die Entwickler der Webapplikation selbst sich in einer falschen Sicherheit wiegen und man bei der Absicherung der Webapplikation nachlässig agiert.
Welche zusätzliche Sicherheit bietet eine Web Application Firewall?
Das Übertragungsprotokoll für Webapplikationen ist HTTP. Eine WAF untersucht die HTTP-Datenpakete und ist dafür programmiert, verdächtige Daten dem Benutzer zu melden oder gleich zu blockieren. Statt nur die Herkunft oder allgemeine Zugangsberechtigungen zu überprüfen, werden die Daten ihrer Bedeutung nach untersucht und beurteilt. Das bedeutet auch einen oft erheblichen Aufwand für die Konfiguration einer WAF. Die Webapplikation wird eine Weile betrieben, sodass die WAF die zulässigen Daten erkennen kann. Daraus ergibt sich, welche Datenpakete auffällig sind und deshalb eine entsprechende Behandlung erfordern. Eine WAF sucht also nach unüblichem Datenverkehr, um diesen zu blockieren oder den Benutzer zumindest darauf aufmerksam zu machen. Zusätzlich dazu bieten Module weitere Funktionen, zu denen die Verwaltung von Identitäten und deren Berechtigungen gehören.
Wie und unter welchen Umständen wird ein WAF eingesetzt?
Eine WAF ist eine Software, die zwischen dem Benutzer und einer Webapplikation steht. Die WAF kann also auf dem Computer eingerichtet werden, auf dem auch die Webseite gehostet ist. Alternativ dazu lässt sich auch eine
Lösung in der Cloud wählen. Die WAF läuft dann auf den Servern eines Drittanbieters, über die der Datenstrom die Webapplikation erreicht.
Die Verwendung einer WAF empfiehlt sich allgemein zur Verbesserung der Sicherheit einer Webapplikation. Unter Umständen kann sie jedoch auch verpflichtend sein. Zu diesen Fällen gehören Anwendungen im Bereich des Zahlungsverkehrs, in dem Kreditkartenfirmen von den Betreibern von Webshops entsprechende Sicherheitsmaßnahmen fordern.