Web Application Firewall (WAF) – Best Practices
Natürlich fallen unterschiedliche Tools in die Aufgabenbereiche verschiedener, extra dafür bestimmter Teams. Darunter auch WAFs.
Web Application Firewalls (WAFs) werden oft vom Team für Anwendungssicherheit vorgeschlagen, sind aber von so entscheidender Bedeutung, dass sie allen am DevOps-Prozess beteiligten Gruppen zugutekommen. Tatsächlich sind WAFs die am häufigsten von DevOps-Teams eingesetzte Technologie. Laut einer Umfrage unter mehr als 5.000 Anwendungsentwicklern wird das Anwendungssicherheitstool für mehr als die Hälfte der DevOps-Tätigkeiten von Anfängern und Fortgeschrittenen sowie zu 59 % von erfahrenen Teams genutzt.
Der weit verbreitete Einsatz von WAFs überrascht nicht. Web Application Firewalls bieten erhebliche Vorteile für DevOps. Sie schützen Anwendungen, indem sie Entwicklern und Operations einen besseren Einblick in Laufzeitbedrohungen bieten. Außerdem ermöglichen sie es Sicherheitsteams, virtuelle Patches bereitzustellen, um Exploits zu verhindern, bevor eine Schwachstelle behoben werden kann.
Wie sollten DevOps-Teams WAFs also am effektivsten nutzen? Hier einige Best Practices.
1. Setzen Sie eine WAF vor jede API
WAFs helfen Unternehmen, einen Einblick in den Laufzeitstatus ihrer Anwendungen zu erhalten und zu erkennen, welche Art von Anfragen und Angriffen ihre Software beeinträchtigt. Aus diesem Grund sollten moderne WAFs vor alle Anwendungen mit Zugriff über das offene Internet und zwischen Containern in einer Microservice- oder API-Forward-Architektur platziert werden.
Unternehmen, die ihr Anwendungsportfolio nur unzureichend absichern, verlieren einen großen Teil der Transparenz über die Bedrohungen, die es auf ihre Anwendungen abgesehen haben. WAF-Analysen, Protokolle und Daten aus anderen Quellen können kombiniert werden, um einem Unternehmen genaue Informationen über aktuelle Angriffe und Fehler bei der Anwendungsausführung zu geben.
Zunehmende Observability ist zu einem bedeutenden Trend bei modernen DevOps-Teams geworden. Die erfahrensten Teams – sogenannte „Elite Performer“ – automatisieren und integrieren die Überwachung von Protokollen und Angriffen viermal so häufig in ihren Prozessen wie „Low Performer“ oder weniger erfahrene Teams.
2. Verankern Sie die Sicherheit im Code
Mit einem „Security-as-Code“-Ansatz können Entwickler der Anwendungsinfrastruktur bei der Bereitstellung Vermutungen über die Laufzeitsicherheit mitteilen. Es kann effizienter sein, die Art der Anfragen, die eine Anwendung verarbeiten muss, zu begrenzen, denn so können Vorgaben auf der Edge der Anwendungsinfrastruktur bereits im Vorfeld und nicht erst innerhalb der Anwendung verarbeitet werden.
Darüber hinaus bieten moderne WAFs den Teams mehr Optionen für den Umgang mit Bedrohungen. Komplexe Schwachstellen, die sich nicht durch einfache Änderungen beheben lassen, können stattdessen durch die Erstellung eines virtuellen Patches, der in der WAF implementiert werden kann, vor dem Exploit bewahrt werden.
3. Testen Sie fortlaufend WAF-Änderungen
WAFs, die auf den „log and block“-Modus eingestellt sind, laufen Gefahr, Anwendungsfehler zu verursachen, wenn Änderungen und Updates nicht ordnungsgemäß getestet werden. Leider ist ausgerechnet der automatisierte Performance- und Sicherheitstest derjenige Automatisierungsprozess, der von DevOps-Teams am seltensten ausgeführt wird. Nur 18 % der „Low Performer“ verwenden automatisierte Performance-Tests und nur knapp 15 % von ihnen automatisierte Sicherheitstests. Laut Googles „DevOps Research and Assessment Group“ ist es selbst unter „Elite Performern“ unüblich, Performance- und Sicherheitstests zu automatisieren, weshalb nur 28 % bzw. 31 % der Teams diese beiden Formen des automatisierten Testens anwenden.
Gruppen, die testen, integrieren die WAF üblicherweise als Anwendungskomponente in den Testprozess. Genau wie bei Änderungen an einer Anwendung ist es sinnvoll, erst einmal zu sehen, welche potenziellen Auswirkungen Sicherheitstools haben könnten, bevor man die Produktivumgebung entsprechend verändert.
4. Erhalten Sie Zustimmung zu WAF-Entscheidungen
Auch wenn es den Anschein hat, dass Operation-Teams in der Vergangenheit auf DevOps gedrängt haben, sind es eher die Entwickler, die den Umstieg auf agile Arbeitsmethoden vorantreiben. Doch unabhängig davon, wer die treibende Kraft hinter der Einführung von DevOps ist, müssen sowohl Operations- als auch Entwicklerteams die Risiken im Hinterkopf behalten, die ihr Unternehmen bereit ist, einzugehen. Bei Anwendungen, die keine Nutzerdaten speichern und keine Transaktionen verarbeiten, kann die WAF in einem sehr strengen Modus laufen und verdächtige Anfragen blockieren.
Für ein Unternehmen, dessen Geschäft auf seiner Webanwendung beruht – zum Beispiel für Onlinehändler – kann die Abstimmung der WAF jedoch zusätzlichen Aufwand erfordern, da das Blockieren potenziell legitimer Kunden zu Geschäftseinbußen führen würde.
Aus diesem Grund ist es wichtig, eng mit der Geschäftsleitung zusammenzuarbeiten, um die allgemeine Strategie, die mit der WAF verfolgt werden soll, und die spezifischen Kriterien festzulegen, mit denen Entscheidungen getroffen werden sollen.
Vorausgesetzt, sie werden richtig eingesetzt, bringen moderne WAFs DevOps-Teams einen erheblichen Nutzen, einschließlich besserer Erkenntnisse, schnellerer Implementierung und Reaktionen sowie der Shift-Left-Methode für einige Verantwortungsbereiche der Sicherheitskonfiguration. Laut Googles „DORA Report“ sind die Vorteile eines ausgereiften DevOps-Prozesses für den Lebenszyklus in der Softwareentwicklung enorm: Ein erfahrenes Team kann seinen Code 200 Mal häufiger bereitstellen als „Low Performer“ und sich innerhalb einer Stunde von Störungen erholen, was bei „Low Performern“ Wochen dauern kann.
Am effektivsten sind WAFs, wenn sie richtig implementiert werden. Und diese Best Practices können Ihnen dabei helfen.