Was ist eigentlich DevSecOps?

Was ist DevSecOps?

 

Ich bin von Ralfs Business Agilität Reihe hier auf devops.ch so begeistert, dass ich mich wieder meiner Spielwiese rund um DevOps widmen möchte.

 

Ich sehe nämlich gerade in Frameworks wie SAFe oder LeSS immer noch die Herausforderung, wie die Agilität mit der Stabilität konkurriert.

 

Wenn jetzt noch der CISO seine 5 Cent zu jedem Release einwirft, dann wird es knifflig.

 

Auf die Gefahr hin, dass es einigen ein wenig zu technisch wird, ist es jedoch nicht von der Hand zu weisen, dass der Grad und die Möglichkeiten der Automatisierung uns bei den lieb gewonnen kulturellen Aspekten massiv unterstützen. Wie brechen Silos auf und kommunizieren auf eine uns fast schon unbekannte Weise 😊

 

Wie wir jetzt vermuten können, geht es bei DevOps eben nicht nur um „Entwickler“ und „Betriebler“ und Betriebsteams. Wenn du die Agilität und Reaktionsschnelligkeit eines DevOps-Ansatzes voll ausnutzen möchtest, muss auch die IT-Sicherheit eine integrierte Rolle im gesamten Lebenszyklus deiner Apps spielen.

 

Warum?

 

In der Vergangenheit war die Rolle der IT-Security in der Endphase der Entwicklung auf ein bestimmtes Team beschränkt. Das war nicht so problematisch, wenn Entwicklungszyklen Monate oder sogar Jahre dauerten, aber diese Zeiten sind vorbei. Effektives DevOps sorgt für schnelle und häufige Entwicklungszyklen (manchmal Wochen oder Tage), aber veraltete Sicherheitspraktiken können selbst die effizientesten DevOps-Initiativen zunichte machen.

 

 

 

 

 

 

 

Jetzt, im gemeinschaftlichen Rahmen von DevOps, ist Security eine geteilte 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 betonen, ein Sicherheits-Fundament in die DevOps Initiativen einzubauen.

 

 

DevSecOps bedeutet, von Anfang an über die Sicherheit von Anwendungen und Infrastruktur nachzudenken. Es bedeutet auch, einige „Security-Gates“ zu automatisieren, um den DevOps-Workflow nicht zu verlangsamen. Die Auswahl der richtigen Tools zur kontinuierlichen Integration der Sicherheit, wie z.B. die Vereinbarung einer integrierten Entwicklungsumgebung (IDE) mit Sicherheitsfunktionen, kann helfen, diese Ziele zu erreichen. Effektive DevOps Security erfordert jedoch mehr als nur neue Tools – sie baut auf den kulturellen Veränderungen der DevOps Bewegung auf, um die Arbeit der Security Teams eher früher als später zu integrieren.

 

DevOps Security ist bereits integriert.

 

Egal ob du es “DevOps” oder “DevSecOps” nennst, es war immer ideal, Security als einen integralen Bestandteil des gesamten App-Lebenszyklus mit einzubeziehen. Bei DevSecOps geht es um bereits integrierte Sicherheit, nicht um Sicherheit, die als Perimeter um Apps und Daten funktioniert. Wenn die Sicherheit am Ende der Entwicklungspipeline bleibt, können Organisationen, die DevOps einsetzen, wieder zu den langen Entwicklungszyklen zurückkehren, die sie von vornherein vermeiden wollten.

 

Teilweise hebt DevSecOps die Notwendigkeit hervor, Sicherheitsteams zu Beginn von DevOps Initiativen einzuladen, um Informationssicherheit einzubauen und einen Plan für die Sicherheitsautomatisierung aufzustellen. Sie unterstreicht auch die Notwendigkeit, den Entwicklern bei der Entwicklung von sicherheitsrelevantem Code zu helfen, ein Prozess, bei dem die Security-Teams Sichtbarkeit, Feedback und Erkenntnisse über bekannte Bedrohungen austauschen. Es ist möglich, dass dies auch neue Sicherheitstrainings für Entwickler beinhalten kann, da dies nicht immer ein Schwerpunkt in der traditionelleren Anwendungsentwicklung war.

 

Wie sieht die bereits integrierte Sicherheit denn nun aus?

 

Für den Anfang ist es eine gute DevSecOps Strategie, die Risikotoleranz zu bestimmen und eine Risiko-/Nutzenanalyse durchzuführen. Wie viele Sicherheitskontrollen sind innerhalb einer bestimmten Anwendung notwendig? Wie wichtig ist die Markteinführungsgeschwindigkeit für verschiedene Apps? Die Automatisierung von sich wiederholenden Aufgaben ist der Schlüssel zu DevSecOps, da die Durchführung von manuellen Sicherheitskontrollen in der Pipeline zeitintensiv sein kann.

 

 

DevOps Security ist automatisiert

 

Zu tun: Kurze und häufige Entwicklungszyklen aufrechtzuerhalten, Sicherheitsmaßnahmen mit minimaler Betriebsunterbrechung zu integrieren, mit innovativen Technologien wie Containern und Microservices Schritt zu halten und gleichzeitig eine engere Zusammenarbeit zwischen häufig isolierten Teams zu fördern – das ist eine große Aufgabe für jede Organisation. All diese Initiativen beginnen auf der menschlichen Ebene – mit dem Ins und Outs der Zusammenarbeit in eurer Organisation – aber der Vermittler dieser menschlichen Veränderungen in einem DevSecOps Rahmen ist die Automatisierung.

 

 

Aber was soll man automatisieren, und wie? Es gibt eine schriftliche Anleitung, um diese Frage zu beantworten. Organisationen sollten einen Schritt zurücktreten und die gesamte Entwicklungs- und Betriebsumgebung in Betracht ziehen. Dies beinhaltet Source Control Repositories, Container Registries, die kontinuierliche Integration und Continuous Deployment (CI/CD) Pipeline, Application Programming Interface (API) Management, Orchestrierung und Releaseautomatisierung, sowie Betriebsmanagement und Überwachung.

 

Die neuen Automatisierungstechnologien haben den Organisationen geholfen, agilere Entwicklungspraktiken einzuführen, und sie haben auch eine Rolle bei der Förderung neuer Sicherheitsmaßnahmen gespielt. Aber die Automatisierung ist nicht das Einzige, was sich in den letzten Jahren in der IT-Landschaft verändert hat – Cloud-Native Technologien wie Container und Microservices sind heute ein wichtiger Teil der meisten DevOps-Initiativen, und DevOps Security muss sich anpassen, um ihnen gerecht zu werden.

 

DevOps Security ist in Container und Microservices bereits integriert

 

 

Der größere Umfang und die dynamischere Infrastruktur, die durch Container ermöglicht wird, haben die Art und Weise, wie viele Organisationen Geschäfte machen, verändert. Aus diesem Grund müssen sich die Sicherheitspraktiken von DevOps Security an die neue Landschaft anpassen und sich an die containerspezifischen Sicherheitsrichtlinien anpassen.

 

Cloud-Native Technologien eignen sich nicht für statische Sicherheitsrichtlinien und Checklisten. Vielmehr muss die Sicherheit kontinuierlich und in jeder Phase des Lebenszyklus von Anwendungen und Infrastruktur integriert sein.

 

DevSecOps bedeutet, Sicherheit von Anfang bis Ende in die Entwicklung von Anwendungen zu integrieren. Diese Integration in die Pipeline erfordert eine neue organisatorische Denkweise ebenso wie neue Tools. In diesem Sinne sollten die DevOps-Teams die Sicherheit automatisieren, um die gesamte Umgebung und die Daten zu schützen, sowie den kontinuierlichen Integrations- und Auslieferungsprozess – ein Ziel, das wahrscheinlich auch die Sicherheit von Microservices in Containern einschließen wird.

 

 

Spannend, auch wenn ich für mich bei meinen Beratungsmandaten die kulturellen Aspekte einer Agilen Transformation stets am Anfang sehe, so gebe ich zu, dass die Automatisierung eine grosse Stütze in dieser Bewegung darstellt.

 

In diesem Sinne, bleibt sicher 🙂

 -Euer Sven

No Comments

Post a Comment