DevSecOps

DevSecOps und warum DevOps allein nicht mehr ausreicht

Kaum hat sich DevOps im Umfeld der Anwendungsentwicklung und des Betriebs etabliert und in den Köpfen der IT-Verantwortlichen festgesetzt, macht mit DevSecOps ein neues Buzzword die Runde. Noch wissen viele nicht, was sich hinter diesem neuen Begriff verbirgt. DevSecOps ist ein konzeptioneller Ansatz, der den DevOps-Gedanken um die Sicherheitsaspekte erweitert. Für viele Unternehmen ist DevSecOps äusserst relevant. Die Umsetzung des Konzepts bringt viele Vorteile und bietet neue Möglichkeiten.

In diesem Blog-Artikel erklären wir Ihnen, was DevSecOps ist, wie es aus DevOps entstanden ist, welche Vorteile das Konzept bietet, warum reines DevOps heute nicht mehr ausreichend ist und welche Relevanz DevSecOps für Ihr Unternehmen hat. Zudem gehen wir auf einige sinnvolle Use Cases ein und geben Ihnen praktische Tipps, wie die Umsetzung des DevSecOps-Konzepts gelingen kann.

Was ist DevSecOps?

Der Begriff DevSecOps ist aus den Abkürzungen der drei englischen Wörter Development (Dev), Security (Sec) und Operations (Ops) zusammengesetzt. Development steht für Software-Entwicklung, Security für die Cyber-Sicherheit und Operations für die Bereitstellung und den Betrieb der Software. Es handelt sich um einen konzeptionellen Ansatz, der das bereits etablierte DevOps-Konzept für einen reibungslosen Ablauf der Entwicklung und Bereitstellung von Software um den Aspekt der Software-Sicherheit erweitert. Damit ist DevSecOps eine konsequente Fortführung des DevOps-Gedankens. Lücken zwischen Entwicklung, Betrieb und Cyber-Sicherheit werden geschlossen. Anstatt sich erst am Ende eines Entwicklungsprozesses oder bei der Überführung der Software in den Betrieb um die Cyber-Sicherheit zu kümmern, integriert DevSecOps die Sicherheitsaspekte in allen Phasen des Software-Life-Cycles. Für alle beteiligten Teams wird Sicherheit zu einer gemeinsamen Verantwortung. DevSecOps lässt sich als eine ganzheitliche Philosophie betrachten. Sie hat den Anspruch, schnelle, sichere und qualitativ hochwertige Entwicklungs-, Bereitstellungs- und Betriebsprozesse für Software zu etablieren.

Wie ist DevSecOps entstanden?

DevSecOps ist aus DevOps entstanden. Letzterer ermöglicht durch die enge Verzahnung von Entwicklung und Betrieb, die Schwächen traditioneller Software-Entwicklung zu umgehen. Entwicklungs-, Test- und Betriebsaufgaben sind miteinander vernetzt und untereinander koordiniert. Mögliche Barrieren zwischen isolierten Teams bricht das DevOps-Konzept auf, was beschleunigte und agile Entwicklungsprozesse möglich macht. Doch leider fehlen im DevOps-Konzept die Sicherheitsaspekte. Betrachtet man Cyber Security getrennt von Entwicklung und Betrieb von Software, bremst dies die Prozesse aus und führt zu unnötigem Verzug oder unsicherer Software. Deshalb wurde das DevOps-Konzept um die notwendigen Aspekte der Sicherheit zu DevSecOps erweitert.

Das sind die Vorteile der Zusammenführung von Development, Operations und Security

Die Vorteile der Zusammenführung von Entwicklung, Betrieb und Sicherheit liegen auf der Hand. Alle wichtigen Aspekte im Entwicklungs- und Lebenszyklus einer Software sind in einem übergreifenden, interdisziplinären Konzept berücksichtigt und systematisch abgebildet. Mit DevSecOps steigen die Agilität und Flexibilität in der Bereitstellung neuer Software, ohne dass die Sicherheit der Anwendungen darunter zu leiden hat. Continuous Delivery und Continuous Integration werden mit hohen Sicherheitsstandards möglich. Mit DevSecOps werden die sich in immer kürzeren Abständen verändernden Anforderungen an moderne Software umsetzbar ohne Einbussen in Sachen Sicherheit.

Sicherheit und kurze Veröffentlichungszyklen der Software stellen keine Widersprüche mehr dar. Kurz zusammengefasst sind dies die Vorteile von DevSecOps:

- schnelle und sichere Bereitstellung neuer Software
- schnelles Erkennen und frühes, kostengünstiges Beseitigen von fehlerhaftem oder unsicherem Code
- agile und flexible Umsetzung sich kurzfristig verändernder Anforderungen
- Continuous Delivery und Continuous Integration mit hohen Sicherheitsstandards
- Unterstützung innovativer Technologien wie Container- und Microservice-basierte Anwendungsumgebungen

Welche Relevanz hat DevSecOps für moderne Anwendungsumgebungen?

Gerade für das moderne, auf Container und Microservices basierende Anwendungsumfeld hat DevSecOps eine hohe Relevanz. Warum reines DevOps heute nicht mehr ausreichend ist und was DevSecOps im Containerumfeld zu leisten vermag, erfahren Sie in den folgenden beiden Abschnitten.

DevSecOps und Containerisierung - Warum reines DevOps heute nicht mehr ausreichend ist

Container-Plattformen und Orchestratoren zur Verwaltung der Container haben im Cloud-nativen Anwendungsumfeld herkömmliche monolithische Applikationen längst abgelöst. Bei der Container Orchestrierung werden moderne, auf Microservices basierende Anwendungen auf Container-Plattformen wie Docker betrieben und mit Orchestratoren wie Kubernetes gemanagt.

Die durch Docker-Container und Kubernetes verkürzten Prozesse der Anwendungsentwicklung und eine kontinuierliche Bereitstellung von Software stellen das reine DevOps-Konzept vor neue Herausforderungen: Sicherheitsaspekte sind im DevOps-Workflow nicht ausreichend berücksichtigt und bleiben bei hoher Entwicklungsgeschwindigkeit auf der Strecke. DevOps ermöglicht zwar agile, dynamisch skalierbare Anwendungsstrukturen und ist bei der Entwicklung klassischer monolithischer Anwendungen ausreichend, doch die moderne und immer schneller werdende Anwendungsentwicklung erfordert einen ganzheitliche Ansatz wie DevSecOps. Langsame und veraltete Sicherheits-Praktiken und über mehrere Monate laufende Entwicklungsprozesse sind heute nicht mehr tragbar. Die Cyber-Sicherheit muss in alle Phasen des Software-Lebenszyklus integriert und kontinuierlich betrachtet werden, um Software agil, flexibel und schnell zu entwickeln und bereitzustellen.

Was kann DevSecOps im Containerumfeld leisten?

Mit DevSecOps wird die Sicherheit zum integralen Bestandteil des kompletten Software-Lebenszyklus inklusive der Sicherheit von Containern und Microservices. Das Konzept sorgt beispielsweise für die sichere, verschlüsselte Übertragung der Daten zwischen den verschiedenen Services. Die integrierten Sicherheitsfunktionen der Container- und Orchestrierungsplattformen lassen sich in die Prozesse einbinden. Scanner testen Container auf ihre Cyber-Security, indem Images auf bekannte Sicherheitsschwachstellen per Automated Container Vulnerability Detection automatisiert überprüft werden. Diese automatischen Prüfungen lassen sich in Test- oder Abnahmeprozesse integrieren. Auch der Schutz der Microservices, strikte Zugangskontrollen und eine sichere Authentifizierung sind integrale Bestandteile des DevSecOps-Konzepts.

Use Cases für DevSecOps

DevSecOps kommt im modernen Anwendungsumfeld in verschiedenen Szenarien zum Einsatz, besonders relevant ist es bei der Anpassung oder Implementierung von Features sowie dem Umgang mit sensiblen Daten.

Anpassungen und neue Features

Sinnvolle Use Cases für DevSecOps sind die Entwicklung und der Betrieb von Anwendungen, die sich dynamisch und schnell den sich verändernden Anforderungen des Marktes anpassen müssen. Diese Anwendungen benötigen in regelmässigen Abständen neue Features oder vorhandene Funktionen müssen überarbeitet werden. Oft geschieht dies in sehr kurzen Intervallen von nur wenigen Tagen. Erfolgen die Anpassungen nach dem alten DevOps-Konzept, sind die neuen Funktionen zwar schnell implementiert, doch die nachgelagerten Sicherheitsbetrachtungen ziehen die Anwendungsbereitstellung unnötig in die Länge. Es entsteht ein Konflikt: Entweder sind die neuen Funktionen erst zu einem späteren Zeitpunkt verfügbar oder man geht das Risiko ein, Software mit Sicherheitsschwachstellen zu veröffentlichen. Mit DevSecOps sind alle sicherheitsrelevanten Themen neuer oder veränderter Funktionen von Beginn an adressiert. Die notwendigen Arbeitsschritte für sichere Anwendungen sind in den Prozessen berücksichtigt.

Umgang mit sensiblen Daten

Ein weiteres praktisches Beispiel für den sinnvollen Einsatz des DevSecOps-Konzepts sind containerisierte und mit Kubernetes orchestrierte Anwendungen, die sensible Daten verarbeiten. Compliance-Richtlinien oder Vorgaben der DSGVO müssen eingehalten werden. Bei neuen Schnittstellen zwischen Services oder der Anbindung einer neuen Datenquelle müssten mit reinem DevOps die Sicherheitsprozesse ausserhalb der Betriebs- und Entwicklungsprozesse jedes Mal komplett neu durchlaufen werden. Dafür fehlt in der Regel die Zeit. DevSecOps sorgt dafür, dass alle Sicherheitsaspekte der Verarbeitung sensibler Daten wie sichere Zugriffsmethoden, Verschlüsselung oder Authentisierung der beteiligten Prozesse, Services und Anwender schon während der Entwicklung und dem Deployment neuer Schnittstellen oder Datenquellen Beachtung finden. Anwendungen mit hohen Sicherheitsstandards lassen sich schnell anpassen und bereitstellen.

Wie der Start mit DevSecOps gelingt

DevSecOps ist ein ganzheitlicher Ansatz, der alle am Software-Lebenszyklus beteiligten Teams und Prozesse betrifft. Zur Implementierung des DevSecOps-Ansatzes ist ein gewisser Aufwand notwendig. Doch an welcher Stelle sollten Sie beginnen und was sind konkrete Schritte hin zu einer holistischen Betrachtung von Entwicklung, Betrieb und Sicherheit?

Von zentraler Bedeutung für DevSecOps ist, dass alle beteiligten Teams eng und transparent zusammenarbeiten. Dies bedingt in einigen Unternehmen einen nicht einfach zu bewältigenden Kulturwandel. Mitarbeiterschulungen, Trainingsprogramme und Teambildungsmassnahmen helfen diesen Kulturwandel herbeizuführen.

Einer der wichtigsten Schritte auf dem Weg zu DevSecOps ist die Automatisierung wiederkehrender Aufgaben und die Berücksichtigung der Sicherheit in allen Entwicklungs- und Bereitstellungsprozessen. Tools und Verfahren wie Continuous Integration und Continuous Deployment, Orchestrierung, Release Management, automatische und statische Analysen oder Quellcode Repositories mit Sicherheitskontrollen sollten angewandt werden.

Weitere praktische Schritte für einen erfolgreichen Start mit DevSecOps sind beispielsweise:

- eindeutige Richtlinien und Standards für die Sicherheit und den Datenschutz definieren
- Überprüfung von Programmcode auf Schwachstellen in jedem Entwicklungsschritt
- Nutzung eines automatisierten Vulnerability Scannings
- Nutzung der Security Features und Tools des Cloud-Anbieters
- Nutzung einer automatisierten Container-Orchestrierung beispielsweise mit Kubernetes

Fazit

DevSecOps berücksichtigt alle Sicherheitsaspekte schon in der Entwicklung und ermöglicht es, Anwendungen schnell und sicher bereitzustellen. Anwendungen lassen sich flexibel an veränderte und neue Anforderungen anpassen, ohne dass die Sicherheit zu kurz kommt.

Die nine cloud navigators unterstützen Sie mit ihrer Erfahrung und ihren Produkten auf dem Weg zu einer erfolgreichen Umsetzung des DevSecOps-Konzepts.

Die meisten Produkte und Services der nine cloud navigators, wie die nine managed Google Kubernetes Engine, sind auch in einer gemanagten Variante erhältlich. Hier kümmern sich die cloud navigators um optimale Voraussetzungen, die Entwicklung, den Betrieb und die Sicherheit Ihrer Anwendungen.

Immer informiert bleiben?

den nine Blog jetzt abonnieren

Oder abonnieren Sie unseren YouTube Kanal!