Jump to section

Was ist DevSecOps?

URL kopieren

DevSecOps steht für Development (Entwicklung), Security (Sicherheit) und Operations (Abläufe). Es handelt sich um einen Ansatz für Unternehmenskultur, Automatisierung, und Plattformdesign, bei dem die Sicherheit als eine gemeinsame Verantwortung im gesamten IT-Lifecycle integriert ist.

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.

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.

Bild

Beim kollaborativen DevOps-Ansatz von heute aber wird Sicherheit 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 allen DevOps-Initiativen eine starke Sicherheitsbasis zugrunde liegen muss.

Bild

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 basiert auf den veränderten kulturellen Anforderungen von DevOps, die Arbeiten der Sicherheits-Teams lieber früher als später zu integrieren.

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. 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 Sicherheits-Teams und Partner, die einen DevSecOps-Ansatz verfolgen, schon zu Beginn einer jeden Initiative die Informationssicherheit integrieren und die Sicherheitsautomatisierung planen. Dies bedeutet auch, dass die Entwickler bereits bei der Programmierung an die Sicherheit denken müssen. Damit dieser Prozess erfolgreich ist, müssen die Sicherheits-Teams transparent arbeiten, einander Feedback geben und einander mitteilen, wenn Bedrohungen vorliegen. Da diese Vorgehensweise traditionell nicht immer im Fokus der Anwendungsentwicklung lag, können auch neue Trainingsprogramme eine sinnvolle Maßnahme für die Entwickler 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 Beschäftigten in Ihrer Organisation zusammenarbeiten. Aber das wichtigste Instrument für diese Veränderungen in einem DevSecOps-Framework ist die Automatisierung.

Bild

Aber was und wie wird automatisiert? Diese Frage lässt sich mit einschlägiger Literatur beantworten. Als Organisation sollte man dabei zunächst einen Schritt zurück treten 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 inklusive aller Daten und des CD-/CI-Bereitstellungsprozesses zu schützen. Dieses Vorhaben aber betrifft höchstwahrscheinlich auch die Sicherheit von Microservices in Containern.

Hören Sie in dieser Webcast-Reihe Expertenmeinungen zur Sicherheit für den Anwendungs-Stack und Lifecycle von Containern.

Umgebungs- und Datensicherheit:

  • Die Umgebung standardisieren und automatisieren: Jeder Service sollte nach dem Least Privilege-Prinzip eingerichtet werden, bei dem der Nutzer nur die Rechte erhält, die er auch wirklich benötigt.
  • 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, von einander und dem Netzwerk isolieren: Dies betrifft Daten bei der Übertragung sowie bei der Speicherung, da beides hochwertige Ziele für Angreifer 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.

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 Verifizierungsauthentifizierung/-autorisierung.

  • Sicherheits-Updates wie z. B. Patches für bekannte Schwachstellen automatisieren: Dies können Sie über die DevOps-Pipeline tun. Dadurch sollte die Notwendigkeit entfallen, dass sich Administratoren 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.

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

Red Hat Open Innovation Labs

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.

Red Hat Consulting

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

Checkliste

Unternehmensautomatisierung mit DevOps-Methoden

Whitepaper

Optimierung von CI/CD-Pipelines mit der Red Hat Ansible Automation Platform

Illustration - mail

Möchten Sie mehr zu diesen Themen erfahren?

Abonnieren Sie unseren kostenlosen Newsletter, Red Hat Shares.