Suche

Deutsch

Deutsch

Anmelden

Anmelden/Registrieren

Websites

DevOps

DevSecOps und DevOps-Sicherheit

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.

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.

Dies 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. Aber eine wirklich effiziente DevOps-Sicherheit benötigt mehr 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.


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. 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, die einen DevSecOps-Ansatz verfolgen, schon zu Beginn einer jeden Initiative die Informationssicherheit integrieren und einen Automatisierungsplan einrichten. 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.


DevOps-Sicherheit ist automatisiert

Was wird benötigt? Kurze und häufige Entwicklungszyklen, Integration von Sicherheitsmaßnahmen mit minimalen Unterbrechungen, Einsatz innovativer Technologien (wie Container und Microservices) sowie Förderung einer engen Zusammenarbeit zwischen bislang isolierten Teams − alles in allem kein einfaches Unterfangen für ein Unternehmen. All diese Initiativen beginnen auf der Personalebene und der Art und Weise, wie die Mitarbeiter 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? 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 der letzten Jahre dar, denn mittlerweile sind cloudnative Technologien wie Container und Microservices fester Bestandteil vieler DevOps-Initiativen. Und auch daran muss die DevOps-Sicherheit angepasst werden.


DevOps-Sicherheit wurde für Container und Microservices entwickelt

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 Organisationsstrategie als auch neue Tools. Vor diesem Hintergrund sollten die DevOps-Teams alle Sicherheitsfunktionen automatisieren, um die gesamte Umgebung mit allen Daten und inklusive des CD-/CI-Prozesses zu schützen. Dies umfasst höchstwahrscheinlich auch die Sicherheit von Microservices in Containern.

Sicherheit in Umgebung und Daten:

Umgebung standardisieren und automatisieren

Jeder Service sollte nach dem Least Privilege-Prinzip eingerichtet werden, bei dem der User nur die Rechte erhält, die er auch wirklich benötigt.

Funktionen für Benutzer-ID und Zugangskontrolle 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 Angreifer darstellen.

Daten zwischen Apps und Servern 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. Indem exponierte APIs reduziert werden, kann die Angriffsfläche deutlich verringert werden.

CI/CD und Prozesssicherheit:

Sicherheitsscanner für Container integrieren

Dies sollte beim Hinzufügen von Containern zur Registry erfolgen.

Sicherheitsprüfungen 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.

Automatische Prüfungen der Sicherheitsfunktionen zum Abnahmeprozesses hinzufügen

Automatisieren Sie Tests zur Eingabevalidierung und Funktionen zur Verifizierungsauthentifizierung/-autorisierung.

Sicherheits-Updates wie z. B. Patches für bekannte Schwachstellen automatisieren

Dies lässt sich am besten über die DevOps-Pipeline durchführen. Dadurch sollte die Notwendigkeit entfallen, dass sich Administratoren bei den Produktivsystemen anmelden müssen, während gleichzeitig ein dokumentiertes und nachverfolgbares Änderungsprotokoll erstellt wird.

Funktionen zur System- und Service-Konfigurationsverwaltung automatisieren

Dies sorgt dafür, dass Sicherheitsrichtlinien eingehalten und manuelle Fehler vermieden werden. Audit- und Fehlerbehebungsprozesse sollten ebenfalls automatisiert werden.

Die DevSecOps-Tools, die Sie brauchen

Management

Red Hat Ansible Automation Platform

Eine einfache, agentenlose IT-Automatisierungstechnologie, mit der sich Ihre aktuellen Prozesse verbessern, Anwendungen migrieren und optimieren lassen und die nur eine Sprache für sämtliche DevOps-Verfahren in Ihrem Unternehmen verwendet.

Cloud Computing

Red Hat® OpenShift® enthält integrierte Sicherheit für containerbasierte Anwendungen – darunter rollenbasierte Zugangskontrollen, Isolierung durch SELinux (Security-Enhanced Linux) und Checks im gesamten Container-Build-Prozess.

DevSecOps hat noch viel mehr zu bieten