Von DevOps – dem Zusammenspiel von Development und Operations – profitieren viele Unternehmen: Die Qualität von IT-Anwendungen verbessert sich, die Entwicklungsschritte folgen schnell aufeinander, zwei Teams arbeiten effektiv zusammen. Ein wichtiger Faktor bleibt jedoch mitunter auf der Strecke: die IT-Sicherheit. Aus diesem Grund etabliert sich aktuell der Ansatz DevSecOps. Dieser erweitert die DevOps-Idee und denkt sie konsequent weiter. Wie können Unternehmen Sicherheitsprüfungen optimal in den Prozess integrieren? Der folgende Artikel zeigt, mit welchen Strategien und automatisierten Tools Software auf Fehler und Schwachstellen geprüft werden kann, damit Unternehmen ihre IT-Projekte agil und schnell und sicher vorantreiben können.
Die agile Anwendungsentwicklung DevOps ist ein kontinuierlicher Prozess. Das Ziel: in kurzer Folge stets verbesserte Software-Releases bereitzustellen. Die Methode: abteilungsübergreifend agil zusammenzuarbeiten. Diese Aspekte wirken sich entscheidend auf die Security-Anforderungen aus.
Das leistet DevSecOps
Um DevOps-Prozesse in DevSecOps-Prozesse weiterzuentwickeln, sollten die Security-Experten in jeden Entwicklungsschritt eingebunden werden. Früher wurden Sicherheitstests kurz vor dem Release eines „fertigen Produkts“ durchgeführt. Heute laufen sie parallel zur permanenten Entwicklung. Die Methode bringt mehrere Vorteile: Es entstehen effizientere Workflows. Unternehmen senken ihre Entwicklungskosten. Langwierige Testphasen am Ende eines Entwicklungsprozesses entfallen. Die Zufriedenheit in den Teams wird gesteigert, denn „Fehlentwicklungen“ werden früher aufgedeckt. Eventuell unnötige Arbeiten fallen darüber hinaus erst gar nicht an. Die Kunden erhalten am Ende ein optimal auf ihre Bedürfnisse abgestimmtes und sicheres IT-Produkt, dessen Entwicklungsschritte sie kontinuierlich mitverfolgen konnten. Dadurch steigt ihre Zufriedenheit. Im Idealfall stehen ihnen auf dem Weg zum Ziel bereits nützliche Teilanwendungen zur Verfügung. Diese können – auf Herz und Nieren geprüft – ohne Sicherheitsbedenken an den Start gehen.
Laut dem National Institute of Standards and Technology (NIST) ist die Behebung von Sicherheitslücken in den Produktions- und Testphasen um ein Vielfaches teurer als in früheren Entwicklungsstadien. Daher setzen immer mehr Unternehmen darauf, schon früh innerhalb eines Produktlebenszyklus’ Sicherheitslücken auszuschalten.
Agile Technologien im Zusammenspiel mit DevSecOps
Um mit der Geschwindigkeit von DevOps-Prozessen mithalten zu können, unterstützen verschiedene Technologien die Security-Abteilungen: Automatisierte Prozesse, zum Beispiel automatische Echtzeit-Überwachungen, erkennen verdächtige Aktivitäten oder ungewünschte Datenabfragen. Diese systematischen Scans decken Sicherheitsprobleme schon während der Programmierung auf.
Viele Unternehmen arbeiten mit der Container-Technologie Docker. Diese unterstützt die immer schnelleren Entwicklungszyklen nachhaltig. Für das Management der zahlreichen Container – die sogenannte Orchestrierung – hat sich die Open-Source-Software Kubernetes etabliert. Was für Entwickler neue Möglichkeiten eröffnet, wird von Compliance- oder Sicherheitsbeauftragten in vielen Unternehmen allerdings kritisch beobachtet. So beschäftigen sich die IT-Tage 2019 im Dezember 2019 in einem Panel intensiv mit Fragestellungen zur Container-Technologie und IT-Sicherheit. Die Container-Technologie beschleunigt Arbeitsabläufe, Test, Testbetrieb, Rollout und Produktivbetrieb. Sie erfordern ein fundamentales Verständnis für die Technologie, um Versäumnisse bezüglich der IT-Sicherheit zu vermeiden. Dabei helfen Kubernetes-Security-Features wie eine rollenbasierte Zugriffskontrolle (Role Based Access Control) oder eine PodSecurityPolicy, also eine zusätzliche Ressource zur Zugangssteuerung. Ein weiteres hilfreiches Werkzeug ist CIS Kubernetes Benchmark – es gibt ähnlich wie CIS Docker Benchmark eine nützliche Liste an Hinweisen aus, um ein Kubernetes-Cluster abzusichern.
Auch das Arbeiten mit Microservices ist für DevOps-Prozesse von großer Bedeutung. Der Vorteil dieser Verknüpfungsarchitekturen besteht darin, dass sich die einzelnen Module je nach veränderter Anforderung schnell ersetzen, erweitern oder anpassen lassen. Allerdings: Die Verantwortung für die Sicherheit der IT-Umgebungen verschiebt sich deutlich, wenn Unternehmen DevOps-Verfahren und Microservices einführen. Zu diesem Ergebnis kommt auch die Studie „Application Security in the Microservices Era“ des Software-Unternehmens Radware. Diese Verschiebung kann, so Radware, zu neuen Sicherheitslücken und höheren Risiken führen, wenn die Rolle der Development Security Operations (DevSecOps) nicht eindeutig definiert ist.
Kurz: Unternehmen sollten eine „DevSecOps-Kultur“ etablieren, um alle Vorteile des agilen Prozesses nutzen zu können, ohne die Sicherheit zu gefährden.
7 Tipps wie Unternehmen eine DevSecOps-Kultur etablieren
Um die Erweiterung von DevOps zu DevSecOps konsequent in allen Teams zu verankern, sollten alle Mitarbeitenden nicht nur die technologischen Aspekte des Prozesses verstanden haben, sondern auch die Managementsicht nachvollziehen können.
Tipp 1: Kommunizieren Sie offen und transparent!
Starten Sie mit teamübergreifenden Gesprächen, um alle Führungskräfte der Abteilungen Entwicklung, Operations und Sicherheit auf ein gemeinsames Ziel auszurichten. Beziehen Sie Führungskräfte aus anderen Geschäftsbereichen – zum Beispiel Vertrieb und Marketing – ein und erreichen sie so ein tiefgehendes Verständnis für DevSecOps bei allen Mitarbeitenden.
Tipp 2: Schaffen Sie eine Basis für Wissens- und Erfahrungsaustausch!
Schulen Sie alle Teams zum Thema IT-Sicherheit in DevOps-Prozessen und schaffen Sie Möglichkeiten zum Erfahrungsaustausch und zur regelmäßigen Präsentation von Best-Practice-Beispielen.
Tipp 3: Ernennen Sie einen Sicherheitsexperten für jedes Team!
Schaffen Sie eine unterstützende Umgebung für diese Person, damit sie allen im Team Auskunft über Sicherheitsbelange geben kann. Sicherheitsprotokolle und Audits der Sicherheitsrichtlinien können die Sicherheitsexperten unterstützen.
Tipp 4: Führen Sie eine Risiko-Nutzen-Analyse durch!
Identifizieren Sie potenzielle Risiken, gewinnen Sie Aussagen über die Eintrittswahrscheinlichkeit, schätzen Sie die Schadenswirkung und -höhe ein und leiten Sie daraus die Risikotoleranz Ihres Unternehmens oder Projekts ab! Die Durchführung von Risiko-Nutzen-Analysen sind wesentlicher Bestandteil einer Sicherheitsstrategie.
Tipp 5: Nutzen Sie Analyse-Tools zur Qualitätssicherung!
Mangelhafte Qualitätssicherung kann zu erheblichen Mehrkosten von IT-Projekten führen. Dabei sind die Hauptkostentreiber falsche und unvollständige Anforderungsspezifikationen und mangelhafte Analyse-Tools. Helfen können die Integration von Sicherheitsscannern für Container sowie automatisierte Sicherheitsprüfungen, Updates und Patches.
Tipp 6: Messen Sie die richtigen Metriken!
Ob Sie mit Ihrem DevOps-Ansatz Erfolg haben und es gelingt, ausreichende Sicherheitskriterien in den Prozess zu integrieren, können Sie erst beurteilen, wenn Sie genau wissen, dass Sie die richtigen Dinge messen und beim Management Ihrer DevOps-Operation stets alle Leistungskennzahlen (KPI) im Blick haben.
Tipp 7: Führen Sie regelmäßig Code-Reviews durch!
Durch Code-Reviews mit Scan-Werkzeugen können Sie die Code-Basis kontinuierlich verbessern und Schwachstellen frühzeitig vermeiden.
Einführung von DevOps am Beispiel Adacor
Adacor arbeitet seit Anfang 2019 mit dem DevSecOps-Ansatz. Ein Security Meeting bildete den Auftakt für den Prozess. Die Geschäftsführung und Vertreter der Fachbereiche Compliance und Operations haben sich zusammengesetzt, um die Rahmenbedingungen und einen Fahrplan für die Einführung festzulegen. Die vorangegangene Umstellung auf DevOps hatte den Bedarf offengelegt, die IT-Security in die agilen Prozesse intensiver zu integrieren.
Die Informationssicherheitsorganisation von Adacor hat sich daraufhin neu aufgestellt:
- Ein Bereich ist nun für die Security-Strategie zuständig. Die Mitarbeitenden dort fällen strategische Entscheidungen bezüglich der Informationssicherheit in enger Absprache mit der Geschäftsführung, den Mitarbeitenden aus dem Bereich Informationssicherheitsmanagement und Compliance (ISM) sowie Vertretern der Fachabteilungen.
- Ein weiterer Bereich operiert auf organisatorischer Ebene. Dieses Informationssicherheitsteam stimmt sich mit Vertretern aus den Operations-Fachabteilungen – bei Adacor sind das Technology Operations (TOP), Network Operations (NOP) und Customer Operations (COP) – sowie mit den Fachbereichen Development (DEV) und Compliance ab. Sie koordinieren auf Basis der strategischen Entscheidungen die operative Umsetzung der organisatorischen Vorgaben in den IT-Systemen.
In regelmäßigen Treffen informieren sich nun alle am Prozess Beteiligten über aktuelle Security-Themen. Dabei steht Security als crossfunktionale Einheit im Mittelpunkt.
DevSecOps in der Praxis
Um die Security (SEC) vollständig in den DevOps-Ansatz zu integrieren, setzt Adacor Entwicklertools ein, erstellt Prozessbeschreibungen und hat Tools zur Freigabe neuer Rollen implementiert. Automation spielt für den DevOps-Ansatz eine wesentliche Rolle. Permanentes Monitoring relevanter Komponenten und automatisierte Security-Scans informieren die Adacor-Teams über Angriffe, Fehlermeldungen und Störungen im laufenden Betrieb.
Für alle internen IT-Projekte, im speziellen für IT-Systeme mit sensiblen Informationen, setzt Adacor Hardening Guidelines in Anlehnung an einen Security Technical Implementation Guide (STIG) ein. Sie können bei Bedarf auf Kundenprojekte angepasst werden. Zudem hat Adacor Hardening-Rollen festgeschrieben. Diese Sammlung von Befehlen und Maßnahmen erleichtert die Gestaltung eines Servers oder einer Applikation: Einzelne Befehlsbausteine können bei Bedarf entnommen und ein entsprechender Fahrplan gestaltet werden.
Wird über Medien, über das Compliance-Team oder durch einen IT-Security-Newsletter eine Sicherheitslücke oder ein akuter Security-Fall bekannt, werden alle Mitarbeitenden über das Ticketsystem Jira oder via Mail informiert. Darüber hinaus greift unser Vulnerability-Management-System. Vertreter der OPS- und DEV-Teams bewerten gemeinsam den Vorfall: Ist die Sicherheitslücke für Adacor relevant? Welche Kundenprojekte können betroffen sein? Anschließend entwickeln sie zeitnah einen Maßnahmenkatalog mit Handlungsempfehlungen für alle betroffenen Teammitglieder. Die Maßnahmen werden in Reviews solange überwacht, bis der Security-Fall behoben ist.
Kollaborativer DevOps-Ansatz verschiebt den Verantwortungsbereich IT-Security
Sicherheitsmaßnahmen müssen von der ersten Phase an in den Prozess integriert werden. Das Kunstwort „DevSecOps“ ist entstanden, um zu verdeutlichen, dass die Security integrierter Bestandteil aller DevOps-Initiativen sein muss. Das bedeutet, dass Anwendungs- und Infrastruktursicherheit schon in der Konzeptphase berücksichtigt werden sollte. Um der hohen Geschwindigkeit eines DevOps-Workflows standhalten zu können, ist die Automatisierung von Sicherheits-Features von wesentlicher Bedeutung. Die Wahl der richtigen Tools spielt eine wichtige Rolle für eine erfolgreiche Integration von DevOps-Sicherheit. Um Prozesse effizient und sicher zugleich zu gestalten, müssen Unternehmen Änderungen in der Unternehmenskultur einleiten und die Struktur von Sicherheitsteams neu gestalten.