DevSecOps
Die Gewohnheit, bei der Entwicklung von Webapplikationen erst zum Schluss an die IT-Sicherheit zu denken, ist nicht zukunftsfähig. Durch Cyberangriffe in den Medien geraten Unternehmen zunehmend unter Druck, ihre Sicherheitsmaßnahmen zu verbessern. In Geschäftsbereichen wie dem Bank- und Finanzwesen, in denen IT-Sicherheit einen besonders hohen Stellenwert hat, hat sich die Situation bereits verbessert, aber vielerorts verharrt man in den alten Mustern.
Änderungen in den Webapplikationen, die am Ende eines Projekts aus Sicherheitsgründen vorgenommen werden müssen, kommen nicht nur zu spät, sondern werden je nach Fortschritt des Projekts immer kostspieliger, insbesondere, wenn sie nach der Bereitstellung der Applikationen eingeführt werden müssen. Der beste Ansatz im Hinblick auf Cybersicherheit ist daher, Sicherheit durchgängig während des gesamten Lebenszyklus der Applikation zu integrieren. Dies beginnt mit dem Entwicklungsprojekt und deckt alle Vorgänge von der Bereitstellung bis zur Ausmusterung am Ende des Lebenszyklus ab.
Bei Betrachtung des gesamten Lebenszyklus einer Applikation betragen die laufenden Kosten etwa 15 bis 20 Prozent der Kosten des anfänglichen Applikationsentwicklungsprojekts, die allein für den Betrieb und die Wartung pro Jahr entstehen. Dazu kommen die zusätzlichen Sicherheitsänderungen, die, wenn sie umfangreich sind, ein eigenes Änderungsprojekt erfordern. Dies sind die Gesamtbetriebskosten, die unabhängig von den bereitgestellten Funktionen oder Entwicklungsmethoden (zum Beispiel Wasserfall, agil) anfallen. Wird daher die Sicherheit nicht von Anfang an integriert, können die Kosten im Development und die Risiken im Betrieb explodieren.
Muss nun jeder ein Sicherheitsexperte werden?
Mehr Sicherheit bei Webapplikationen erfordert eine grundlegende Strategieänderung, speziell wenn IT-Sicherheit den Netzwerk- oder Infrastrukturabteilungen überlassen wird.
Entwickler sind für die Sicherheit ihrer Webapplikationen ebenso mitverantwortlich wie Netzwerk- und Infrastrukturabteilungen oder die Security-Beauftragten - nur auf einer anderen Ebene. Eine robuste Webapplikationssicherheit ist schwierig zu erreichen und muss alle Bereiche umfassen.
Im Folgenden sind nur einige Punkte genannt, warum dies so schwierig zu erreichen ist:
- Applikationssicherheit ist bei weitem der umfangreichste Bereich der IT-Sicherheit. Einige Teile davon sind komplex und die richtige Ausführung erfordert professionelle IT-Sicherheitskenntnisse.
- Es ist unmöglich, alle Applikationsentwickler, Tester und Techniker zu IT-Sicherheitsprofis auszubilden. Es sollte auch nicht deren Fokus sein.
- Applikationssicherheit kann und muss auf verschiedene Arten und auf verschiedenen Ebenen implementiert werden.
- Für einige Applikationen bestehen aus Gründen der Abhängigkeit lange Freigabezyklen, wodurch keine schnellen Änderungen möglich sind.
- Testing und Code-reviewing ist eine mühsame Aufgabe, die sehr viel Zeit beansprucht. Durch zusätzliche Sicherheitstests und Codeüberprüfungen wird dies nicht besser.
- Infrastruktur- und operative Abteilungen möchten nicht einbezogen werden und für die Applikationssicherheit verantwortlich sein. Sie möchten diese Sicherheitsmaßnahmen natürlich auch nicht implementieren – jedenfalls nicht allzu streng, da dies ein zu starker Eingriff wäre.
- Applikationsentwickler und Unternehmensinhaber gehen fälschlicherweise davon aus, dass IT-Sicherheit bereits durch die Infrastruktur abgedeckt wird. Missverständnisse, die auf unbestätigten Annahmen basieren, sind in IT-Abteilungen keine Seltenheit, was bei wichtigen Fragen wie der Cybersicherheit ungünstig ist.
Diese Probleme müssen auf intelligente Art gelöst werden. Dies bedeutet, dass DevSecOps klären muss, wer welche Aufgaben auf welcher (Sicherheits-)Ebene übernimmt. DevSecOps beschreibt die Denkweise, Sicherheit in die Entwicklung und den Betriebslebenszyklus zu integrieren: dem Development kann DevSecOps helfen, Ziele effizienter zu erreichen und der Unternehmensleitung hilft es bei der Erfüllung der Anforderung einer angemessenen, effizienten Organisation. Das Schlagwort vermittelt bildlich, dass für eine sichere Applikationsentwicklung und einen sicheren Betrieb im Bereich der Cybersicherheit eine überzeugte DevSecOps-Denkweise nötig ist.
Ergänzendes zum Thema Configuration Staging
Die Verwaltung von Konfigurationen, die größtenteils gleich aber in einigen Aspekten unterschiedlich sind, ist mühsam und fehleranfällig. Solche teilweise überlappenden Konfigurationen bestehen meist zwischen verschiedenen Umgebungen (z.B. Test, Integration und Produktion) oder unter mehreren Mandanten, die denselben Service unterschiedlich nutzen. Mit bestimmten Lösungen lassen sich die gemeinsamen Attribute unterschiedlicher Konfigurationen von denjenigen trennen, die nur für eine Umgebung oder einen Mandanten gültig sind. Beim Einspielen von Änderungen kann die gemeinsame Basis automatisch aktualisiert werden, während die speziellen Ausprägungen erhalten bleiben.
DevSecOps unterstützen
durch eine vielseitige WAFEin guter Reverse Proxy ist ein wichtiger Faktor für die Sicherheit und auch der Bereitstellung von Webapplikationen. Durch Verwendung einer Web Application Firewall als Sicherheits-Framework mit Staging-Unterstützung (siehe Kasten „Configuration Staging“) stehen diese Sicherheitsstandards Mitarbeitern aus der Entwicklung und dem Betrieb direkt zur Verfügung, was der Effizienz zuträglich ist. Die umfassende Security wird somit vorgelagert über alle Applikationen realisiert. Der nächste Schritt besteht darin, die DevSecOps-Verantwortlichkeiten im Hinblick auf die eigentliche Umsetzung dieser Sicherheitsstandards innerhalb des Unternehmens zu definieren.
- Entwickler sollten keine neuen komplexen Sicherheitsfunktionen erstellen, sondern verschiedene Standards wiederverwenden: zum Beispiel zentrale Authentisierung und einmaliges Anmelden (wie Single-Sign-On), Zugriffssteuerung, sicheres Session- und Cookie-Handling, URL-Verschlüsselung, Schutz von Formularen, Browser-Fingerprinting usw.
- Entwickler sollten nur applikationsspezifische Sicherheitsfunktionen entwickeln (Datenzugriffssteuerung, Geschäftsfluss von Applikationen und Transaktionen zum Schutz von Applikations-APIs, Ausnahmen usw.), die nicht wiederverwendet werden können und sich auf die Verbesserung ihrer Codequalität (Sicherheits-tests, Codeüberprüfung usw.) konzentrieren.
- Im operativen Bereich können WebApplicationFirewall-Funktionen eingesetzt werden, um neu entdeckte Sicherheitslücken zentral zu beheben oder die Sicherheitsstufe für alle bzw. die relevanten Applikationen anzupassen.
- Im Infrastrukturbereich kann eine Web Application Firewall als sicherer Reverse Proxy für DMZ-Sicherheit und Applikationsbereitstellung (Lastenausgleich, Failover und hohe Verfügbarkeit, Netzwerkisolierung, URL-Umleitungen, Überarbeitung von Inhalten usw.) verwendet werden.
- Somit führt DevSecOps zu einer einheitlichen Sicherheitsinfrastruktur für Webapplikationen und zur Entwicklung sicherer Webapplikationen. Eine solche Framework-Strategie kann lokal oder in der Cloud durchgeführt werden.
Der obenstehende Abschnitt enthält nur ein Beispiel dafür, wie durch Technologie und besser organisierte Interaktion DevSecOps für Cybersicherheit umgesetzt werden kann. Diese Denkweise kann auch auf andere Technologien oder Produkte übertragen werden, um DevSecOps lückenlos einzubetten. Es gibt jedoch noch weitere Aspekte wie die IT- und Business-Strategie. Elemente, die schwierig oder zeitaufwendig zu implementieren sind, sollten wiederverwendet werden. Daher sollte die Cybersicherheit mit Effizienz kombiniert werden.
Mehr über Airlock WAF
Unternehmenssicherheitsarchitektur für Webapplikationen
Das oben beschriebene Beispiel mit der Web Application Firewall ist insbesondere deshalb interessant, da es einen sicheren Reverse Proxy beinhaltet, der vielseitig genug ist, um zahlreiche andere Aspekte bei der Bereitstellung von Webapplikationen abzudecken.
Die Nutzung eines sicheren Reverse Proxy als zentralem Einstiegspunkt für alle Webapplikationen kann eine strategische Bedeutung erlangen, wenn sie in ein Gesamtkonzept für Cybersicherheit integriert wird. Ein solches Gesamtkonzept wäre die Umsetzung einer Unternehmenssicherheitsarchitektur für alle mit dem Internet verbundenen Webapplikationen mit vielen positiven Auswirkungen für die Strategie im Hinblick auf Geschäftsapplikationen, IT-Management und IT-Governance.
Indem Entwickler gezwungen werden, schwierig zu implementierende Elemente wiederzuverwenden und standardisierte Funktionen zentral bereitgestellt werden, verbessert sich nicht nur die Cybersicherheit, sondern auch die Kosteneffizienz bei der sicheren Ausführung von Webapplikationen.
Über den Autor
Dr. Martin Burkhart ist Head of Product Management bei Airlock. Nach einem Informatik-Studium an der ETH Zürich arbeitete Martin Burkhart zunächst als Softwareentwickler, bevor er an der ETH zur Anonymisierung von Netzwerkdaten und zu angewandter Kryptographie für kollaborative Sicherheitsprotokolle dissertierte. Bei Ergon leitete Martin Burkhart seit 2012 IAM-Integrationsprojekte und ist seit 2013 für das Produktmanagement des Airlock Secure Access Hubs zuständig.