Best Practices für DevOps-Sicherheit
16. März 2021
0 Min. LesezeitDevOps-Sicherheit umfasst die Anwendung von Informationssicherheitsrichtlinien und -technologien auf den gesamten DevOps-Lebenszyklus und den Wertstrom. Da DevOps in der Regel jede Phase des Softwareentwicklungslebenszyklus (SDLC) einbezieht, ist wirksame Sicherheit umso wichtiger.
Für die meisten Unternehmen ist Informationssicherheit nichts Neues. Eine der zentralen Fragen der Informationstechnologie lautet: Wie lässt sich ein System vor Kompromittierung schützen? Die DevOps-Infrastruktur unterscheidet sich jedoch grundlegend von traditionellen IT-Modellen. Wie lässt sich Informationssicherheit erfolgreich auf DevOps anwenden?
Was ist DevOps-Sicherheit?
DevOps-Sicherheit ist eine frühe Form von DevSecOps. Ziel ist es, Sicherheit während des gesamten Softwareentwicklungslebenszyklus in den Mittelpunkt zu rücken. Dazu werden Entwicklerteams (Dev) und Operations-Teams (Ops) geschult und befähigt, die Sicherheit der von ihnen entwickelten und bereitgestellten Software besser zu kontrollieren.

Erfahren Sie hier mehr über den Übergang von DevOps zu DevSecOps.
Die 4 größten Herausforderungen für die DevOps-Sicherheit
Der Wechsel von traditionellen IT- und Softwareentwicklungsmodellen hin zum modernen, agilen Ansatz von DevOps bringt neue Sicherheitsherausforderungen mit sich. Dafür braucht es nicht nur andere Sicherheitstools, sondern auch eine Veränderung von Kultur, Menschen und Prozessen. Obwohl DevOps oft als Verbindung von Entwicklung und Betrieb verstanden wird, arbeiten DevOps und Sicherheit nach wie vor getrennt voneinander.
1. Rasante Veränderungen
Eine der stärksten Auswirkungen auf die Sicherheit hat das hohe Veränderungstempo in DevOps. In Legacy-Umgebungen wurde neue Infrastruktur typischerweise als physische Bare-Metal-Hardware bereitgestellt. Zwischen der Bereitstellungsanfrage und der tatsächlichen Verfügbarkeit lagen oft lange Zeiträume. Die Softwareentwicklung folgte meist einem Wasserfallmodell, mit größeren Releases alle paar Monate oder Quartale. In modernen agilen Umgebungen hingegen können an einem einzigen Tag mehrere Deployments in der Produktion stattfinden.
Zudem lässt sich mit cloudbasierter Infrastruktur zusätzliche Kapazität innerhalb weniger Minuten statt Stunden oder Tagen bereitstellen. All das führt zu einer deutlich höheren Veränderungsrate in einer Umgebung. Legacy-Technologien und -Prozesse wurden nicht dafür entwickelt, mit einem derart hohen Veränderungsgrad umzugehen.
2. Cloud-Sicherheit
Eine weitere Herausforderung ergibt sich unmittelbar aus der Verbreitung von Cloud-First-Architekturen. Im Vergleich zu einer herkömmlichen lokalen Bereitstellung bietet die Cloud eine deutlich größere Angriffsfläche mit unscharf definierten Netzwerkgrenzen. Nahezu jede bereitgestellte Ressource lässt sich mit wenigen Klicks oder Codezeilen für den öffentlichen Internetverkehr zugänglich machen. Die herkömmliche Netzwerksicherheit ging davon aus, dass Netzwerke klar definiert sind und nur wenige etablierte Ein- und Ausgangspunkte haben. Erfahren Sie mehr über Herausforderungen der Cloud-Sicherheit.
3. Containerisierung von Workloads
Auch dadurch kommen neue Variablen in die Sicherheitsumgebung. Container bieten attraktive Funktionen für moderne Entwicklungs- und Deployment-Workflows. Die zusätzliche Komplexität der zugrunde liegenden Engine, Orchestrierung und Vernetzung schafft jedoch weitere potenzielle Angriffsvektoren, die überwacht und abgesichert werden müssen.
4. Zusammenarbeit
Herkömmliche Sicherheitstools, Technologien und Prozesse wurden schlicht nicht für viele dieser Anwendungsfälle entwickelt. Abgeschottete Sicherheits- und Engineering-Teams können mit dem schnellen, iterativen Tempo einer DevOps-First-Kultur nicht mithalten. Wenn Sicherheit und Engineering isoliert voneinander arbeiten, kommt es oft zu doppeltem Aufwand und redundanten Informationsflüssen, die sich problemlos bündeln ließen.
Der Aufbau einer gemeinsamen Pipeline ist ebenfalls entscheidend, damit Teams abgestimmt arbeiten und dieselben Informationen aus derselben Quelle erhalten. In der Praxis kommt es jedoch häufig vor, dass Unternehmen beispielsweise zwei Splunk-Agents auf demselben Rechner betreiben – einen für das Sicherheitsteam und einen für das Anwendungsteam. Oder ein Fraud-Team erhält Datenfeeds sowohl aus der Sicherheit als auch aus der Infrastruktur, die jeweils völlig separate, parallele Event-Pipelines betreiben.
Starten Sie mit Capture the Flag
Erfahren Sie in unserem virtuellen On-Demand-Workshop für Einsteiger, wie Sie Capture-the-Flag-Herausforderungen lösen.
Und was ist mit DevSecOps?
DevSecOps verbindet das DevOps-Modell – schnelle Feedbackschleifen bei der Softwarebereitstellung und eine entsprechende Organisations-kultur – mit Informationssicherheitspraktiken. Bei DevOps-Sicherheit wird Informationssicherheit nachträglich in die verschiedenen Phasen des DevOps-Zyklus eingefügt. DevSecOps dagegen integriert Sicherheits- und Engineering-Ziele von Anfang an und verfolgt dabei den Ansatz „Shift Left“.

Abbildung 2: Sicherheitsziele werden nach links verlagert
DevOps-Sicherheit beginnt in der Regel mit einer grundlegenden Einstellung oder Haltung. Dabei sind Tools nicht alles. Bei DevSecOps-Praktikengeht es nicht darum, einfach die Punkte einer Aufgabenliste abzuhaken. Fehlt dem Team das nötige Sicherheitsbewusstsein, ist es nahezu unmöglich, eine sichere Plattform zu schaffen.
Bei DevSecOps werden Sicherheitsziele mithilfe geeigneter Tools und Prozesse in die verschiedenen Phasen des Lebenszyklus integriert. Sicherheitsteams arbeiten möglicherweise weiterhin getrennt von Engineering- und Betriebsteams, auch wenn eine stärkere Zusammenarbeit gelebt wird. Die gemeinsame Verantwortung von Entwicklung und Betrieb gehört zwar seit den Anfängen zu den Grundprinzipien von DevOps, doch Sicherheit erforderte meist weiterhin die Einbindung eines externen, abgeschotteten Sicherheitsteams oder einer Sicherheitsorganisation.
DevSecOps zielt darauf ab, Sicherheitsziele in den gesamten DevOps-Lebenszyklus zu integrieren, insbesondere in die frühen Phasen von Design und Entwicklung. Sicherheitsverantwortung wird „nach links verlagert“, sodass Entwickler Sicherheitsprobleme beheben, bevor diese in Umgebungen mit höheren SLA-Anforderungen gelangen.
Für Unternehmen mit schlanken Teams kann Shift Left dazu beitragen, die Behebungslast der Sicherheitsteams zu verringern. Bei Reddit konnte ein kleines Sicherheitsteam mithilfe einer automatisierten API eine große Anzahl von Repositories verwalten und zugleich Entwickler in die Lage versetzen, Sicherheitsprobleme selbst zu beheben:
„Nachdem wir unsere Repositories bereinigt hatten, änderten wir den Prozess so, dass neue Pull Requests fehlschlagen, wenn sie Sicherheitslücken enthalten. Dadurch wechselte Reddit von einem reaktiven, vom Sicherheitsteam angestoßenen Ansatz zu einem entwicklerzentrierten, von Entwicklern getragenen Ansatz zur Behebung. Die einzige Möglichkeit, all diese Arbeit zu bewältigen, war die Snyk API.“
Spencer Koch, Sicherheitsexperte bei Reddit
Die schnellen Feedbackmöglichkeiten von DevOps und DevSecOps-Tools, insbesondere CI/CD, ermöglichen es Entwicklern, unmittelbar auf automatisiertes Sicherheitsfeedback zu reagieren. So entfallen manuelle Prüfzyklen und die Sicherheitslage verbessert sich während des gesamten SDLC.
Von DevOps zu DevSecOps wechseln
Wie gelingt einem Unternehmen der Wechsel von einer DevOps- zu einer DevSecOps-Kultur? Die Antwort mag zunächst widersprüchlich klingen: Es muss aufhören, sich allein um Sicherheit zu sorgen. Stattdessen sollte es alle dazu befähigen, Verantwortung für Sicherheit zu übernehmen. Einige grundlegende Strategien können den Anfang erleichtern.
Wie bereits beschrieben, ist Shift Left ein zentraler Schwerpunkt eines konsequenten DevSecOps-Ansatzes. Werden Sicherheitsziele früher im SDLC berücksichtigt, verbessert sich die Sicherheit insgesamt. Wie sieht das konkret aus? Statt fertige Deployment-Artefakte am Ende des SDLC an das Sicherheitsteam weiterzureichen, damit dieses sie prüft und bewertet, wird Sicherheit nahtlos in frühe Entwicklungszyklen integriert – einschließlich der Erfassung von Anforderungen und des Designs.
Es geht nicht darum, bestehende Workflows mit aufwendigen Anforderungen oder zusätzlichen Prozessen zu belasten. Ziel ist vielmehr, in jeder Phase möglichst wenige Reibungsverluste zu verursachen. Mit DevSecOps kann ein Unternehmen einen sicheren Softwareentwicklungslebenszyklus (SSDLC) etablieren.

Abbildung 3: DevSecOps + SDLC = SSDLC
Wird der Shift-Left-Ansatz weiter ausgebaut und werden Entwickler sowie Infrastruktur-Engineers befähigt, durchgängig Verantwortung für Sicherheitsziele zu übernehmen, verbessert das die Sicherheitslage einer Anwendung. Dafür sind Automatisierung und schnelle Feedbackschleifen entscheidend. Wenn ein Entwickler Code einreicht, sollte es unmittelbares Feedback zu möglichen Sicherheitsproblemen in den neuen Funktionen oder Fehlerbehebungen geben. Ist dieses Feedback umsetzbar, nimmt der Entwickler die erforderlichen Änderungen vor. So verbessert das Unternehmen die Sicherheit sofort, ohne dass ein Security Engineer eingreifen muss.
Bei Red Ventures führte der Fokus auf eine reibungslose Developer Experience dazu, dass Maßnahmen zur Verbesserung wichtiger Sicherheitsaspekte – insbesondere bei containerisierten Workloads – schnell angenommen wurden. Bestehende Workflows lassen sich mit minimalen Unterbrechungen zur Verbesserung der Sicherheit nutzen.
Wird diese Automatisierung stärker in CI/CD integriert, lassen sich sowohl Anwendungscode als auch Änderungen an Infrastructure as Code (IaC) auf potenzielle Probleme analysieren und bei Bedarf schnell Rückmeldung geben.
Mit DevSecOps bessere Sicherheitsergebnisse erzielen

Abbildung 4: Das Wertversprechen von DevSecOps
Wenn Unternehmen aufhören, sich allein um DevOps-Sicherheit zu sorgen, und DevSecOps einführen, entwickeln sie ihre Softwareentwicklung und -bereitstellung auf die nächste Stufe der DevOps-Kultur weiter. In einer DevSecOps-Kultur ist Sicherheit Teil des kollaborativen Modells, das Betrieb und Entwicklung verbindet.
Security Shift Left bedeutet, Sicherheitsziele von Anfang an zu berücksichtigen. Entwickler, Infrastruktur-Engineers und Betriebsteams werden befähigt, Verantwortung für Sicherheitsprobleme zu übernehmen. Die schnellen Feedbackschleifen der DevSecOps-Kultur und ihrer Tools ermöglichen es, mithilfe von Automatisierung wie CI/CD-Pipelines potenzielle Sicherheitsprobleme innerhalb von Sekunden oder Minuten statt Stunden oder Tagen detailliert zu erkennen.
Die Wahl moderner Tools zur Unterstützung einer DevSecOps-Initiative ist entscheidend. Herkömmliche Sicherheitstools und -prozesse wurden nicht für das rasante Veränderungstempo cloudnativer Architekturen entwickelt.
Starten Sie mit Capture the Flag
Erfahren Sie in unserem virtuellen On-Demand-Workshop für Einsteiger, wie Sie Capture-the-Flag-Herausforderungen lösen.
Mit DevSecOps kann ein Unternehmen Software schneller und sicherer bereitstellen und letztlich sowohl für seine Kunden als auch für sich selbst mehr Mehrwert schaffen.