Bei DevOps geht es nicht nur um Entwicklungs- und Betriebsteams. Wenn Sie die Agilität und Reaktionsfähigkeit eines DevOps-Ansatzes voll ausschöpfen wollen, muss die IT-Sicherheit auch eine integrierte Rolle im gesamten Lebenszyklus Ihrer Anwendungen spielen.
Warum? In der Vergangenheit wurde die Rolle der Sicherheit in der Endphase der Entwicklung auf ein bestimmtes Team beschränkt. Das war nicht so problematisch, wenn die Entwicklungszyklen Monate oder gar Jahre dauerten, aber diese Tage sind vorbei. Effective DevOps gewährleistet schnelle und häufige Entwicklungszyklen (bisweilen Wochen oder Tage), aber veraltete Sicherheitspraktiken können selbst die effizientesten DevOps-Initiativen rückgängig machen.
Security built-in
Jetzt, im kollaborativen Rahmen von DevOps, ist Sicherheit eine gemeinsame Verantwortung, die von Anfang bis Ende integriert ist. Es ist eine Denkweise, die so wichtig ist, dass einige den Begriff „DevSecOps“ geprägt haben, um die Notwendigkeit zu unterstreichen, eine Sicherheitsgrundlage in DevOps-Initiativen zu schaffen.
DevSecOps bedeutet, von Anfang an über die Sicherheit von Anwendungen und Infrastrukturen nachzudenken. Es bedeutet auch, einige Sicherheitsgatter zu automatisieren, um zu verhindern, dass sich der DevOps-Workflow verlangsamt. Die Auswahl der richtigen Tools zur kontinuierlichen Integration von Sicherheit kann Ihnen helfen, Ihre Sicherheitsziele zu erreichen, aber eine effektive DevOps-Sicherheit erfordert mehr als neue Tools – sie baut auf den kulturellen Veränderungen von DevOps auf, um die Arbeit von Sicherheitsteams früher als später zu integrieren.
Ob Sie es nun „DevOps“ oder „DevSecOps“ nennen, es war schon immer ideal, Sicherheit als integralen Bestandteil des gesamten App-Lebenszyklus zu integrieren. Bei DevSecOps geht es um eingebaute Sicherheit, nicht um Sicherheit, die als Perimeter um Apps und Daten fungiert. Wenn die Sicherheit am Ende der Entwicklungspipeline bleibt, können Unternehmen, die DevOps einsetzen, zu den langen Entwicklungszyklen zurückkehren, die sie ursprünglich vermeiden wollten.
Zum Teil betont DevSecOps die Notwendigkeit, Sicherheitsteams zu Beginn der DevOps-Initiativen einzuladen, um Informationssicherheit einzubauen und einen Plan für die Sicherheitsautomatisierung festzulegen. Es unterstreicht auch die Notwendigkeit, Entwicklern beim Codieren im Hinblick auf die Sicherheit zu helfen, ein Prozess, bei dem Sicherheitsteams Sichtbarkeit, Feedback und Erkenntnisse über bekannte Bedrohungen austauschen. Es ist möglich, dass dies auch neue Sicherheitsschulungen für Entwickler beinhalten kann, da dies nicht immer ein Schwerpunkt in der traditionellen Anwendungsentwicklung war.
Automation to the rescue
Wie sieht die eingebaute Sicherheit wirklich aus? Eine gute DevSecOps-Strategie besteht zunächst darin, die Risikotoleranz zu bestimmen und eine Risiko-/Nutzenanalyse durchzuführen. Wie viele Sicherheitskontrollen sind innerhalb einer bestimmten App erforderlich? Wie wichtig ist die schnelle Markteinführung verschiedener Apps? Die Automatisierung wiederholter Aufgaben ist der Schlüssel zu DevSecOps, da die Durchführung manueller Sicherheitschecks in der Pipeline zeitaufwändig sein kann.
Daneben führen kurze und häufige Entwicklungszyklen zur Integration der Sicherheitsmaßnahmen mit minimaler Betriebsunterbrechung. Technologien wie Container und Mikroservices unterstützen dies.
Darüberhinaus ist es nötig, die engere Zusammenarbeit zwischen gemeinsam isolierten Teams zu fördern. Alle diese Initiativen beginnen auf der menschlichen Ebene – mit den Besonderheiten der Zusammenarbeit in Unternehmen. Unternehmen sollten zurücktreten und die gesamte Entwicklungs- und Betriebsumgebung berücksichtigen. Dazu gehören Source-Control-Repositories, Container-Register, die Continuous Integration and Continuous Deployment (CI/CD) Pipeline, Application Programming Interface (API) Management, Orchestrierung und Release-Automatisierung sowie die operative Verwaltung und Überwachung.
Neue Automatisierungstechnologien haben Unternehmen geholfen, agilere Entwicklungspraktiken einzuführen, und sie haben auch dazu beigetragen, neue Sicherheitsmaßnahmen voranzutreiben.
Aber die Automatisierung ist nicht das Einzige in der IT-Landschaft, das sich in den letzten Jahren verändert hat: cloudbasierte Technologien wie Container und Mikroservices sind heute ein wichtiger Bestandteil der meisten DevOps-Initiativen, und die Sicherheit von DevOps muss sich anpassen, um sie zu erfüllen. Cloud-native Technologien eignen sich nicht für statische Sicherheitsrichtlinien und Checklisten. Vielmehr muss die Sicherheit in jeder Phase des Lebenszyklus von Apps und Infrastrukturen kontinuierlich und integriert sein:
- Standardisierung und Automatisierung (Provisioning, Rollout, Patching)
- Zentrales Identity und Access Management
- Integrierte Security Scanner für Container
- Automatisches Security Testing innerhalb der CI Pipeline
- Isolierung von Micro Services
- Verschlüsselung auf der Transport-Ebene
- Prüfung auf bekannte Schwachstellen
DevSecOps bedeutet, die Sicherheit in die App-Entwicklung von Anfang bis Ende zu integrieren. Diese Integration in die Pipeline erfordert eine neue organisatorische Denkweise ebenso wie neue Werkzeuge. Vor diesem Hintergrund sollten die DevOps-Teams die Sicherheit automatisieren, um die gesamte Umgebung und die Daten sowie den kontinuierlichen Integrations- und Bereitstellungsprozess zu schützen – ein Ziel, das wahrscheinlich auch die Sicherheit von Mikroservices in Containern umfassen wird.