Jump to section

Was ist DevSecOps?

URL kopieren

DevSecOps steht für Development (Entwicklung), Security (Sicherheit) und Operations (Unternehmensabläufe). Es handelt sich hierbei um ein Konzept, bei dem die Sicherheit als eine zusätzliche Komponente in den gesamten IT-Lifecycle integriert wird, angefangen von der Unternehmenskultur, zur Automatisierung bis hin zum Plattformdesign.

Bei DevOps geht es nicht nur um die Entwicklungs- und Operations-Teams. Wenn Sie die Agilität und Reaktionsfähigkeit des DevOps-Ansatzes vollständig ausschöpfen möchten, muss die IT-Sicherheit ebenfalls in den gesamten Lifecycle der App integriert werden. Willkommen zur DevSecOps!

Warum? In der Vergangenheit war die Sicherheit zumeist Aufgabe eines speziellen Teams in der Endphase der Entwicklung. Das war auch kein größeres Problem, als die Entwicklungszyklen noch mehrere Monate oder gar Jahre in Anspruch nahmen. Diese Zeiten aber sind vorbei. Eine effiziente DevOps-Strategie sorgt für schnelle und häufige Entwicklungszyklen (Wochen oder manchmal gar nur Tage), aber veraltete Sicherheitspraktiken können selbst die effektivsten Prozesse ausbremsen.

DevSecOps Linear

Beim kollaborativen DevOps-Ansatz von heute wird Sicherheit zur gemeinsamen Verantwortung und wird von Anfang an in alle Abläufe integriert. Dieses Prinzip ist so zentral, dass es auch „DevSecOps“ genannt wird, um zu unterstreichen, dass allen DevOps-Initiativen eine starke Sicherheitsbasis zugrunde liegen muss.

DevSecOps Collaboration

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 der DevOps-Workflow nicht zu langsam wird. 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 ist für eine effiziente DevOps-Sicherheit mehr erforderlich als nur ein paar neue Tools. Sie benötigt ein Umdenken in der Unternehmenskultur und die Akzeptanz, dass Sicherheitsfragen frühst möglichst in den Prozess miteinfließen müssen.  

Erfahren Sie wie Red Hatters Mary Johnston Turner, Director of Management Software Evangelism, und Kirsten Newcomer, Senior Principal Product Manager, die Rolle der Sicherheit in DevOps-Initiativen von Unternehmen bewerten und welche Lösungsansätze Red Hat bietet.

Ob Sie dieses Prinzip nun „DevOps“ oder „DevSecOps“ nennen, eines ist sicher: Sicherheitsfunktionen sollten als fester Bestandteil in den gesamten Lifecycle der Anwendungsentwicklung integriert werden. Beim DevSecOps-Ansatz müssen Sicherheitsfunktionen von Anfang an integriert sein und dürfen nicht erst später um die Apps und Daten herumgebaut werden. Solange Sicherheit erst in der Endphase der Entwicklungs-Pipeline beachtet wird, werden die Unternehmen, die DevOps-Methoden einführen, am Ende wieder vor dem Problem der langen Entwicklungszyklen stehen, das sie ja 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. Da diese Vorgehensweise traditionell nicht im Fokus der Anwendungsentwicklung lag, können auch neue Trainingsprogramme eine sinnvolle Maßnahme für die Mitglieder des Entwicklungsteams sein.

Was muss man sich unter integrierter Sicherheit vorstellen? Zunächst einmal wird bei einer effizienten DevSecOps-Strategie die Risikotoleranz bestimmt und eine Nutzen-/Risikoanalyse durchgeführt. Wie viele Sicherheitskontrollen werden für eine bestimmte App benötigt? Wie wichtig ist eine schnelle Markteinführung bei verschiedenen Apps? Der Schlüssel zu DevSecOps ist die Automatisierung sich wiederholender Aufgaben, da die Durchführung manueller Sicherheitsprüfungen in der Pipeline sehr langwierig sein kann.

Was wird benötigt? Kurze und häufige Entwicklungszyklen, Integration von Sicherheitsmaßnahmen mit minimalen Betriebsunterbrechungen, Einsatz innovativer Technologien (wie Container und Microservices) sowie Förderung einer engen Zusammenarbeit zwischen ansonsten isolierten Teams – alles in allem kein einfaches Unterfangen für ein Unternehmen. All 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.

DevSecOps Automation

Aber was und wie wird automatisiert? Als Organisation sollte man dabei zunächst einen Schritt zurücktreten und die Entwicklungs- und Operations-Umgebung in ihrer Gesamtheit ins Auge fassen. Diese umfasst: Quellkontroll-Repositories, Container Registries, die CI/CD-Pipeline (Continuous Integration und Continuous Deployment), API-Management, die Orchestrierung und Release-Automatisierung sowie die operative Verwaltung und Überwachung.

Neue Automatisierungstechnologien haben die Organisationen bei der Einführung agiler Entwicklungspraktiken unterstützt und dafür gesorgt, dass neue Sicherheitsmaßnahmen Verbreitung finden. Die Automatisierung stellt aber nicht die einzige Veränderung der IT-Landschaft in den letzten Jahren dar, denn mittlerweile sind cloudnative Technologien wie Container und Microservices fester Bestandteil vieler DevOps-Initiativen. Und auch mit diesen Funktionen muss die DevOps-Sicherheit integriert werden.

Container ermöglichen stärker skalierbare, dynamische Infrastrukturen und haben so die geschäftlichen Abläufe vieler Unternehmen stark verändert. Aus diesem Grund müssen DevOps-Sicherheitspraktiken an die neuen Umgebungen und die containerspezifischen Richtlinien angepasst werden.

Bei cloudnativen Technologien bieten sich statische Sicherheitsrichtlinien und -Checklisten nicht an. Denn die Sicherheitsmaßnahmen müssen kontinuierlich in jede Phase des App- und Infrastruktur-Lifecycle integriert werden.

DevSecOps bedeutet nichts anderes, als dass Sicherheit zum festen Bestandteil der kompletten Entwicklungs-Pipeline (von Anfang bis Ende) wird. Dieser Umstand aber erfordert sowohl eine neue Unternehmensphilosophie als auch neue Tools. Vor diesem Hintergrund sollten DevOps-Teams daher die Sicherheit automatisieren, um die gesamte Umgebung sowie sämtliche Date und den CD-/CI-Bereitstellungsprozess zu schützen. Dieses Vorhaben aber betrifft höchstwahrscheinlich auch die Sicherheit von Microservices in Containern.

Thema: Umgebungs- und Datensicherheit

  • Die Umgebung standardisieren und automatisieren: Jeder Service sollte nach dem Least Privilege-Prinzip eingerichtet werden, bei dem Nutzende nur die Rechte erhalten, die sie auch wirklich benötigen.
  • Nutzeridentitäten und Zugangskontrollen zentralisieren: Strikte Zugangskontrollen und zentrale Authentifizierungsmechanismen sind für den Schutz von Microservices unerlässlich, da die Authentifizierung an mehreren Punkten initiiert wird.

  • Container, die Microservices ausführen, voneinander und vom Netzwerk isolieren: Dies betrifft Daten bei der Übertragung sowie bei der Speicherung, da beides hochwertige Ziele für Angreifende darstellen.

  • Daten zwischen Apps und Services verschlüsseln: Mit einer Plattform zur Container-Orchestrierung, die integrierte Sicherheitsfunktionen enthält, lässt sich das Risiko unbefugter Zugriffe minimieren.

  • Sichere API-Gateways einführen: Mit sicheren APIs lassen sich Autorisierung und Sichtbarkeit des Routings verbessern. Durch das Reduzieren exponierter APIs kann die Angriffsfläche deutlich verringert werden.

Thema: Sicherheit bei CI/CD-Prozessen

  • Sicherheitsscanner für Container integrieren: Dies sollte beim Hinzufügen von Containern zur Registry erfolgen.

  • Sicherheitstests im CI-Prozess automatisieren: Hierbei werden in den Builds Tools zur statischen Sicherheitsanalyse ausgeführt und vorgefertigte Container Images nach bekannten Sicherheitsschwachstellen durchsucht, während diese in die Build-Pipeline aufgenommen werden.

  • Automatisierte Tests für Sicherheitsfunktionen zum Akzeptanztestprozess hinzufügen: Automatisieren Sie Tests zur Eingabevalidierung und Funktionen zur Verifizierung, Authentifizierung und Autorisierung.

  • Sicherheits-Updates, wie etwa Patches für bekannte Schwachstellen automatisieren: Dies können Sie über die DevOps-Pipeline tun. Dadurch sollte die Notwendigkeit entfallen, dass sich Admins bei den Produktivsystemen anmelden müssen, während gleichzeitig ein dokumentiertes und nachverfolgbares Änderungsprotokoll erstellt wird.

  • System- und Service-Konfigurationsmanagement automatisieren: Dies sorgt dafür, dass Sicherheitsrichtlinien eingehalten und manuelle Fehler vermieden werden. Audit- und Fehlerbehebungsprozesse sollten ebenfalls automatisiert werden.

DevOps Culture and Practice with OpenShift e-book cover image

Mehr über DevOps-Kultur und -Praktiken mit OpenShift erfahren

Weiterlesen

ARTIKEL

Was ist DevSecOps?

Wenn Sie die Agilität und Reaktionsfähigkeit von DevOps vollständig ausschöpfen möchten, muss die IT-Sicherheit im gesamten Lifecycle Ihrer Apps eine Rolle spielen.

ARTIKEL

Was ist CI/CD?

CI/CD sorgt für eine kontinuierliche Automatisierung und Überwachung über alle Phasen des App-Lifecycles hinweg, von der Integration und Tests bis hin zur Bereitstellung und Implementierung.

ARTIKEL

Was ist ein DevOps-Ingenieur?

DevOps-Ingenieure besitzen verschiedene besondere Fähigkeiten und Kenntnisse, die für eine bessere Zusammenarbeit, mehr Innovationen und kulturelle Verschiebungen innerhalb einer Organisation sorgen können. 

Mehr über DevOps erfahren

Produkte

Ein fokussierter Intensiv-Workshop mit Red Hat Experten, bei dem Sie lernen, eine agile Methodik und Open Source-Tools zu verwenden, um die geschäftlichen Probleme Ihres Unternehmens anzugehen.

Interaktionen mit unseren strategischen Beratern, die sich ein Gesamtbild von Ihrem Unternehmen machen, Ihre Herausforderungen analysieren und Ihnen helfen, diese mit umfassenden, kosteneffektiven Lösungen zu meistern.

Ressourcen