Definition
DevSecOps steht für „Development, Security and Operations“ (Entwicklung, Sicherheit und Operationen). Es ist ein Ansatz für Unternehmenskultur, Automatisierung und Plattformdesign, bei dem die Sicherheit als eine gemeinsame Verantwortung im gesamten IT-Lifecycle integriert ist.
Vergleich zwischen DevSecOps und DevOps
Bei DevSecOps geht es nicht nur um die Entwicklungs- und Operations-Teams. Wenn Sie die Agilität und Reaktionsfähigkeit von DevOps vollständig ausschöpfen möchten, muss auch die IT-Sicherheit im gesamten Lifecycle Ihrer Apps integriert sein.
Warum? In der Vergangenheit war die Sicherheit zumeist Aufgabe eines speziellen Teams in der Endphase der Entwicklung. Als die Entwicklungszyklen sich noch über Monate oder gar Jahre hinzogen, war das nicht so schlimm. Doch diese Tage sind vorbei. Eine effiziente DevOps-Strategie sorgt für schnelle und häufige Entwicklungszyklen (Wochen oder manchmal nur Tage), aber veraltete Sicherheitspraktiken können selbst die effektivsten Prozesse ausbremsen.

Der heutige DevOps-Ansatz beruht auf Zusammenarbeit. Sicherheit wird dabei zur gemeinsamen Verantwortung, die von Anfang an in den Ablauf integriert ist. Dieses Prinzip ist so zentral, dass es auch „DevSecOps“ genannt wird, um zu unterstreichen, dass DevOps-Initiativen eine starke Sicherheitsbasis zugrunde liegen muss.

DevSecOps bedeutet, dass die Sicherheit der Anwendungen und der Infrastruktur von Anfang an beachtet werden muss. Es bedeutet ebenfalls, dass einige Sicherheits-Gates automatisiert werden müssen, damit die DevOps-Workflows nicht zu langsam werden. Wenn Sie die richtigen Tools zur kontinuierlichen Integration von Sicherheitsfunktionen verwenden und sich auf eine IDE (Integrated Development Environment) mit Sicherheits-Features einigen, können diese Ziele leichter erreicht werden. Allerdings hängt eine effektive DevOps-Sicherheitsstrategie nicht allein von neuen Tools ab. Die DevOps-Kultur muss sich grundlegend dahingehend verändern, dass die Arbeit der Sicherheitsteams möglichst von Anfang an integriert wird.
Dieser Ansatz, bei dem Sicherheit von der ersten Planungs- und Entwicklungsphase bis hin zur Runtime priorisiert wird, wird oft auch als Shift Left- und Shift Right-Sicherheit bezeichnet. Die Implementierung und Automatisierung von DevSecOps mit einem Shift Left-Ansatz bietet entwicklungsfreundliche Richtlinien, die Nutzungsfehler in der Entwicklungs- und Deployment-Phase reduzieren und Workloads zur Runtime schützen. Ein Shift Right-Ansatz bedeutet, dass die Test-, Qualitätssicherungs- und Performance-Bewertungsmaßnahmen in einer Post-Produktivumgebung fortgesetzt werden.
Red Hat Ressourcen
Erfolgreiche DevOps-Sicherheit ist integriert
Unabhängig davon, ob Sie dieses Prinzip nun „DevOps“ oder „DevSecOps“ nennen, war es schon immer am besten, die Sicherheitsfunktionen als festen Bestandteil in den gesamten Lifecycle der App zu integrieren. Bei DevSecOps geht es um integrierte Sicherheit, nicht um Sicherheits-Features, die Apps und Daten wie mit einer Mauer schützen. Wenn das Thema Sicherheit weiterhin erst am Ende der Entwicklungs-Pipeline berücksichtigt wird, kann dies dazu führen, dass Organisationen beim Einführen von DevOps wieder mit den langen Entwicklungszyklen konfrontiert werden, die sie eigentlich vermeiden wollten.
Deshalb müssen die Sicherheitsteams und Partner, die einen DevSecOps-Ansatz verfolgen, schon zu Beginn einer Initiative die Informationssicherheit integrieren und die Sicherheitsautomatisierung planen. Dies bedeutet auch, dass die Entwicklungsteams bereits bei der Programmierung an die Sicherheit denken müssen. Damit dieser Prozess erfolgreich ist, müssen die Sicherheitsteams transparent arbeiten, einander Feedback geben und einander mitteilen, wenn Bedrohungen vorliegen, wie etwa Insider-Bedrohungen oder mögliche Malware. Ziel von DevSecOps ist außerdem, Risiken in der Softwarelieferkette zu identifizieren, indem frühzeitig im Softwareentwicklungs-Lifecycle großer Wert auf die Sicherheit von Open Source-Softwarekomponenten und Abhängigkeiten gelegt wird. Ein erfolgversprechender, effektiver DevSecOps-Ansatz kann auch ein neues Sicherheitstraining für Entwicklungsteams beinhalten, denn dies stand in der traditionellen Anwendungsentwicklung nicht immer im Fokus.
Wie sieht integrierte Sicherheit konkret aus? Bei einer guten DevSecOps-Strategie wird zunächst die Risikotoleranz bestimmt und anschließend eine Risiko-Nutzen-Analyse durchgeführt. Wie hoch muss das Sicherheitslevel einer bestimmten Anwendung sein? Wie wichtig ist die Markteinführungszeit für verschiedene Anwendungen? Bei DevSecOps werden sich wiederholende Aufgaben automatisiert, da manuelle Sicherheitschecks in der Pipeline viel Zeit erfordern können.
DevOps-Sicherheit ist automatisiert
Halten Sie kurze und regelmäßige Entwicklungszyklen ein, integrieren Sie Sicherheitsmaßnahmen mit minimaler Unterbrechung der Betriebsabläufe, bleiben Sie bei innovativen Technologien wie Containern und Microservices auf dem neuesten Stand, und fördern Sie gleichzeitig eine enge Zusammenarbeit zwischen häufig isolierten Teams – mit dieser Liste haben Unternehmen unabhängig von ihrer Größe so einiges vor. Diese Initiativen beginnen auf der Personalebene und mit der Art und Weise, wie die Mitarbeitenden in Ihrer Organisation zusammenarbeiten. Aber das wichtigste Instrument für diese Veränderungen in einem DevSecOps-Framework ist die Automatisierung.

Aber was und wie wird automatisiert? Es gibt Fachliteratur, die hier bei der Antwort helfen kann. Organisationen sollten einen Schritt zurücktreten und die Entwicklungs- und Operations-Umgebung als Ganzes betrachten. Dazu gehören Quellkontroll-Repositories, Container Registries, die CI/CD-Pipeline (Continuous Integration/Continuous Deployment), API-Management (Application Programming Interface), Orchestrierung und Release-Automatisierung sowie operatives Management und Monitoring.
Neue Automatisierungstechnologien haben Unternehmen die Einführung agilerer Entwicklungspraktiken erleichtert, und auch beim Vorantreiben neuer Sicherheitsmaßnahmen spielten sie eine Rolle. Aber Automatisierung ist nicht das Einzige, was sich in den letzten Jahren in der IT-Landschaft verändert hat. Cloudnative Technologien wie Container und Microservices spielen jetzt bei den meisten DevOps-Initiativen eine große Rolle, und die DevOps-Sicherheit muss an diese Technologien angepasst werden.
DevOps-Sicherheit wurde für Container und Microservices entwickelt
Durch den größeren Umfang und die dynamischere Entwicklung und Bereitstellung mit Containern hat sich für viele Unternehmen die Art und Weise, wie sie Innovationen vorantreiben, geändert. Deshalb müssen die Best Practices der DevOps-Sicherheit den neuen Strukturen gerecht werden und mit containerspezifischen Sicherheitsvorgaben übereinstimmen.
Cloudnative Technologien eignen sich nicht für statische Sicherheitsrichtlinien und Checklisten. Sicherheit muss vielmehr durchgehend in jede Phase der App- und Infrastruktur-Lifecycles integriert sein.
Bei DevSecOps ist der Sicherheitsaspekt auf dem gesamten Weg der Anwendungsentwicklung präsent. Diese Integration in die Pipeline verlangt nicht nur nach neuen Tools, sondern im gleichen Maß nach einer neuen Unternehmenskultur. Vor diesem Hintergrund sollten DevOps-Teams daher die Sicherheit automatisieren, um die gesamte Umgebung sowie sämtliche Daten und den CD/CI-Prozess (Continuous Integration/Continuous Delivery) zu schützen. Dieses Vorhaben aber betrifft höchstwahrscheinlich auch die Sicherheit von Microservices in Containern.
Red Hat® Advanced Cluster Security for Kubernetes verschiebt die Sicherheit nach links und automatisiert die Best Practices des DevSecOps-Ansatzes. Die Plattform ist kompatibel mit einer großen Anzahl von Kubernetes-Umgebungen und kann mit DevOps und Sicherheitstools kombiniert werden. So können Teams leichter operationalisieren und ihre Lieferkette, Infrastruktur und Workloads besser schützen.
Umgebungs- und Datensicherheit
- Standardisieren und Automatisieren der Umgebung: Einem Service sollte jeweils nur die geringstmögliche Berechtigung gewährt werden, um nicht autorisierte Verbindungen und Zugriffe zu minimieren.
- Zentralisierte Nutzeridentitäts- und Zugriffskontrollfunktionen: Strenge Zugriffskontrollen und zentralisierte Authentifizierungsmechanismen sind für das Sichern von Microservices wesentlich, da die Authentifizierung an mehreren Punkten initiiert wird.
- Isolieren von Containern, die Microservices ausführen – voneinander und vom Netzwerk: Dies umfasst sowohl Daten bei der Übertragung als auch Daten im Ruhezustand, da beide ein hochrangiges Ziel für Angriffe darstellen.
- Verschlüsseln von Daten zwischen Anwendungen und Services: Mit einer Container-Orchestrierungsplattform mit integrierten Sicherheitsfunktionen können Sie die Gelegenheiten für nicht autorisierten Zugriff minimieren.
- Einführen von sicheren API-Gateways: Sichere APIs erhöhen die Transparenz von Autorisierung und Routing. Wenn Sie die Zahl der APIs senken, die Schwachstellen ausgeliefert sind, können Unternehmen die Angriffsfläche reduzieren.
Sicherheit im CI/CD-Prozess
- Integrierte Sicherheits-Scans für Container: Dies sollte beim Hinzufügen von Container in die Registry Teil des Prozesses sein.
- Automatisieren von Sicherheitstests im CI-Prozess: Dazu gehört auch das Ausführen statischer Analysetools als Teil des Builds, ebenso wie das Scannen vordefinierter Container Images auf bekannte Sicherheitsschwachstellen, wenn die Images in die Build-Pipeline übertragen werden.
- Hinzufügen von automatisierten Tests für Sicherheitsfunktionen in den Akzeptanztestprozess: Automatisieren Sie Tests für die Eingabevalidierung ebenso wie die Verifizierung der Authentifizierungs- und Autorisierungsfunktionen.
- Automatisieren von Sicherheitsupdates, etwa Patches für bekannte Schwachstellen: Nehmen Sie dies am besten über die DevOps-Pipeline vor. Dadurch sollte die Notwendigkeit entfallen, dass Admins sich in Produktionssystemen anmelden müssen. Gleichzeitig entsteht dabei ein dokumentiertes und nachverfolgbares Änderungsprotokoll.
- Automatisieren von Funktionen für das System- und Servicekonfigurationsmanagement: Dies ermöglicht Compliance mit Sicherheitsrichtlinien und beseitigt manuelle Fehler. Audit- und Fehlerbehebungsprozesse sollten ebenfalls automatisiert werden.
Weitere Informationen zum Ansatz von Red Hat für Sicherheit und Compliance
Der offizielle Red Hat Blog
Lernen Sie mehr über unser Ökosystem von Kunden, Partnern und Communities und erfahren Sie das Neueste zu Themen wie Automatisierung, Hybrid Cloud, KI und mehr.