Blog

|

19.04.2024

Was ist DevSecOps? Sicherheit in DevOps integrieren 

Daniel Graßer

Inhalt

DevSecOps ist ein Ansatz, um IT-Sicherheit zu einem festen Bestandteil der Anwendungsentwicklung und des IT-Betriebs zu machen.

Die digitale Transformation und der zunehmende Einsatz Cloud-nativer Technologien verändern die Wirtschaft und öffentliche Verwaltung nachhaltig. Software und ihre ständige Verfügbarkeit werden immer mehr zum Rückgrat der täglichen Geschäfts- und Arbeitsprozesse. Entsprechend haben sich die Tätigkeitsfelder der Softwareentwicklung und des IT-Betriebs in den letzten Jahren verändert. Anwendungen müssen heute agil und schnell entwickelt, bereitgestellt und aktualisiert werden. Die dafür notwendige Infrastruktur muss flexibel anpassbar und hochverfügbar sein.

Die Entwicklungszyklen von Software haben sich erheblich verkürzt. Software-Updates erfolgen nicht mehr nur alle paar Monate, sondern fast täglich. Diese Dynamik war und ist mit einem Kulturwandel in den Organisationen sowie einem zunehmenden Aufbrechen bestehender Silostrukturen verbunden. Transparenz und teamübergreifende, agile Zusammenarbeit müssen heute viel stärker in den Fokus der Unternehmenskultur rücken.

Warum ist DevSecOps die nächste Stufe von DevOps?

Der Kulturwandel in der IT hat mit DevOps, also der Integration von Entwicklung und IT-Betrieb, begonnen. Die bisher übliche Trennung in einzelne Silos wird den Anforderungen der digitalen Transformation längst nicht mehr gerecht. Das Aufbrechen dieser Silos ermöglicht robuste und schnellere Releases.

Doch das reicht heute nicht mehr aus. Denn im Cloud-Zeitalter wird auch Sicherheit immer mehr zu einer alltäglichen Geschäftsanforderung. Damit muss sie mehr und mehr zur gemeinsamen Verantwortung agil zusammenarbeitender Teams werden. Security sollte möglichst früh und durchgängig in den Entwicklungs- und Bereitstellungsprozess integriert werden. Daher gilt es nun, den Kulturwandel weiter voranzutreiben und auch die Sicherheitsteams aktiv in den Prozess einzubinden.

Wie funktioniert DevSecOps?

In der traditionellen Softwareentwicklung stand die Sicherheit in der Regel am Ende der Entwicklungspipeline. Das heißt, Sicherheitstest waren meist die Aufgabe eines Security-Spezialisten oder -Spezialistenteams, das die Anwendung in der Endphase der Entwicklung auf Schwachstellen (Vulnerabilities) untersuchte. Bei langen Entwicklungszyklen war dies noch einigermaßen praktikabel.

Im Rahmen agiler Softwareentwicklungsmethoden haben sich die Releasezyklen jedoch drastisch verkürzt. Daher müssen Sicherheitsaspekte nun in jeder Phase des Lebenszyklus von Applications berücksichtigt und durchgängig implementiert werden.

Dazu sollten Unternehmen die gesamte Umgebung für Entwicklung und Produktion (Operation) in Augenschein nehmen. Das umfasst

  • Versionskontroll-Repositories,
  • Container-Registries,
  • die Continuous Integration und Continuous Deployment Pipeline (CI/CD)
  • und das API-Management (Schnittstellenmanagement).

Auch die Orchestrierung und Release-Automatisierung sowie die operative Verwaltung und Überwachung sind zu berücksichtigen.

Was sind die Vorteile von DevSecOps?

plusserver Icon Wachstum
DevSecOps führt zu einer schnelleren und sichereren Bereitstellung von Applikationen, da Sicherheitsfunktionen von Anfang an berücksichtigt werden.
plusserver Icon Security
Es minimiert das Risiko von Sicherheitsverletzungen und ermöglicht eine schnelle Behebung von Sicherheitslücken.
Compliance und Datenschutz​
DevSecOps unterstützt die Einhaltung von Compliance-Anforderungen und fördert die kontinuierliche Verbesserung von Sicherheitspraktiken im gesamten Entwicklungs- und Bereitstellungsprozess.
Icon Unternehmenskultur
Durch die Integration von DevSecOps wird Sicherheit zu einem zentralen Bestandteil der Unternehmenskultur und gewährleistet eine nachhaltige und dauerhafte Sicherheit in allen Phasen der Anwendungsentwicklung und -bereitstellung.

DevSecOps: Sicherheitstests in jeder Phase des Software-Lebenszyklus

Der Schlüssel zu einem erfolgreichen DevSecOps-Prozess ist die Automatisierung sich wiederholender Aufgaben und die Integration von Sicherheitschecks in jede Phase des Software-Lifecycles. Darüber hinaus muss sich die Sicherheit an den Einsatz Cloud-nativer Technologien anpassen: Microservices und Kubernetes Container unterstützen die Entwicklung von Anwendungen in kleinen, inkrementellen Schritten.

Auf der To-do-Liste stehen somit:

Automatische Sicherheitstests sollten auch nach jedem Schritt in der CI/CD-Pipeline stattfinden. Hier können Best Practices wie RASP (Runtime Application Self-Protection) und SCA (Software Composition Analysis) unterstützen.

RASP ist eine Sicherheitstechnologie, die während der Ausführung einer Anwendung agiert, Security Checks durchführt und Angriffe innerhalb der Software abwehrt. Das soll sicherstellen, dass die eigentliche Laufzeitumgebung vor unerwünschten Änderungen und Manipulationen geschützt wird.

SCA führt eine detaillierte Untersuchung aller Open-Source- und Dritt-Komponenten durch, die in einer Anwendung genutzt werden. Damit lassen sich Schwachstellen im Code erkennen und beseitigen. Auch mögliche Compliance-Verstöße gegen Open-Source-Richtlinien sind damit leichter auffindbar.

Automatisierte Sicherheitstests decken Schwachstellen in den Anwendungskomponenten schon während der Programmierung auf (Shift Left). Diese können dann von den Entwicklungsteams schnell und effizient behoben werden. Damit verhindert automatisiertes Testing Sicherheitslücken systematisch, und das schon vor der Implementierung der Software. Zusätzlich gilt es, bei der Infrastruktur eine Verschlüsselung auf der Transportebene zu gewährleisten und regelmäßig Prüfungen auf bekannte Vulnerabilities durchzuführen.

Was sind die bewährten Methoden von DevSecOps?

Shift Left

Shift Left ist eine Methode, die im Rahmen von DevSecOps verwendet wird, um Fehler so früh wie möglich zu erkennen und zu beseitigen, bevor diese zu größeren Problemen eskalieren (“fail small and fail fast”). Der Begriff stammt von der Idee, dass Probleme in einem Projekt eher am Anfang auftreten und teurer werden, je später sie entdeckt werden. Das bedeutet: Durch den Einsatz von Shift Left werden alle Tests und Überprüfungen so früh wie möglich durchgeführt.

Ein wichtiger Aspekt von Shift Left ist die Einbindung der beteiligten Entwickler:innen in den Testprozess. Traditionell waren Developer für den Code und das Qualitätssicherungsteam für die Tests verantwortlich. Mit Shift Left werden Devs frühzeitig in den Testprozess eingebunden, indem sie automatisierte Tests erstellen und ausführen, um ihre eigenen Ergebnisse zu überprüfen.

Ein weiterer Schwerpunkt von Shift Left ist die Nutzung automatisierter Tools und Continuous Integration. Durch Automatisierung können Tests schnell und effizient durchgeführt werden. Continuous Integration gewährleistet, dass alle Änderungen sofort und kontinuierlich getestet werden, um Fehler schnell zu erkennen und zu fixen.

Die frühzeitige Fehlererkennung und -behebung führt zu einer höheren Qualität der Software und zu einer effizienteren Entwicklung. Indem Probleme so früh wie möglich identifiziert werden, können Entwicklungs- und Testzyklen verkürzt und Kosten gesenkt werden.

Shift Right

Shift Right verfolgt einen ähnlichen Ansatz wie Shift Left, aber während Shift Left Security verstärkt in die Dev-Aktivitäten einbindet, verschiebt Shift Right Aktivitäten und Prozesse, insbesondere Sicherheitsmaßnahmen, im Lebenszyklus weiter nach rechts, nämlich in die Betriebs- und Wartungsphasen (Ops).

Das bedeutet im DevSecOps-Kontext, dass Sicherheitsaktivitäten auch nach der Bereitstellung und während des Betriebs fortgesetzt werden. Dies eröffnet DevOps-Teams die Möglichkeit, unter realen Bedingungen in der Produktionsumgebung weitere Sicherheitslücken aufzudecken, die in der Entwicklungsumgebung nicht aufgedeckt werden konnten.

Hinzu kommen Performance- und Qualitätstests unter realen Lastbedingungen. Shift Right unterstützt somit eine gleichbleibende Performance, Resilienz und Zuverlässigkeit von Applikationen.

Automatisierte Sicherheitstools

Die folgenden Security Tools können genutzt werden, um DevOps mit Sicherheitsfunktionen zu verbinden:

  • Statische Code-Analysewerkzeuge (SAST): Diese Tools analysieren den Quellcode statisch, bevor er ausgeführt wird, um potenzielle Schwachstellen und Sicherheitslücken zu identifizieren. Zum Beispiel: Veracode, SonarQube, Checkmarx
  • Dynamische Code-Analysewerkzeuge (DAST): Sie dienen dazu, Sicherheitstests auf einer laufenden Anwendung durchzuführen, um Vulnerabilities und potenzielle Angriffsvektoren zu identifizieren. Zum Beispiel: OWASP ZAP, Burp Suite, Acunetix
  • Tools für die Container-Sicherheit: Die Anwendungen prüfen Container-Images auf Sicherheitsprobleme und sorgen dafür, dass während des gesamten Lebenszyklus von Containern keine Schwachstellen entstehen. Zum Beispiel: Clair, Anchore, Twistlock
  • Security Information and Event Management (SIEM): Diese Tools überwachen Protokolle und Ereignisse in Echtzeit, um Bedrohungen und Anomalien zu identifizieren. Sie werden häufig in einem Security Operations Center (SOC) eingesetzt. Zum Beispiel: Splunk, ELK Stack (Elasticsearch, Logstash, Kibana), QRadar
  • Automatisierte Compliance-Überprüfung: Diese Werkzeuge stellen sicher, dass die Infrastruktur und die Anwendungen den Sicherheits- und Compliance-Anforderungen entsprechen. Zum Beispiel: Chef Compliance, InSpec, OpenSCAP
  • Identitäts- und Zugriffsmanagement (IAM): Diese Tools unterstützen bei der sicheren Verwaltung von Benutzeridentitäten und Zugriffsberechtigungen. Zum Beispiel: Okta, Azure AD, AWS IAM
  • Automatisierte Penetrationstests: Automatisierte Penetrationstests können Schwachstellen und potenzielle Angriffspunkte in Systemen identifizieren. Zum Beispiel: OWASP Amass, Metasploit, OWTF
  • Secrets Management: Diese dienen der sicheren Verwaltung von geheimen Schlüsseln und sensiblen Informationen. Zum Beispiel: HashiCorp Vault, AWS Secrets Manager, Azure Key Vault
  • Continuous Monitoring: Durch eine kontinuierliche Überwachung können potenzielle Bedrohungen frühzeitig erkannt und behoben werden. Zum Beispiel: Prometheus, Grafana, Nagios

Wie funktioniert die Code-Analyse bei DevSecOps?

Die Code-Analyse ist ein wichtiger Bestandteil des DevSecOps-Ansatzes. Bei der Code-Analyse werden automatisierte Tools verwendet, um den Quellcode auf mögliche Sicherheitsschwachstellen oder andere Fehler zu überprüfen. Automatisierte Tests und Echtzeit-Rückmeldungen ermöglichen es den Entwickler:innen, potenzielle Probleme frühzeitig zu erkennen und zu beheben, bevor sie in die Produktion gelangen.

Der erste Schritt bei der Code-Analyse ist das Scannen des Quellcodes. Dabei werden spezielle Algorithmen eingesetzt, um nach sicherheitsrelevanten Mustern oder bekannten Angriffsmethoden zu suchen. Die Werkzeuge analysieren den Code Zeile für Zeile und identifizieren Schwachstellen wie Cross-Site Scripting, SQL-Injection oder unsichere Datenverarbeitung.

Nach dem Scannen erfolgt die Bewertung der gefundenen Risiken. Hierbei werden die Ergebnisse der Analyse nach Schweregraden sortiert, um einen klaren Überblick über die kritischsten Probleme zu geben. Dies hilft dabei, die Behebung der Sicherheitslücken zu planen und zu priorisieren.

Welche Rolle spielt die Integration von Workload Protection Tools bei DevSecOps?

Workload Protection Tools bieten Funktionen wie Application Firewalls, Vulnerability-Scans und automatische Codeanalyse. Sie helfen Entwickler:innen und Sicherheitsteams, Sicherheitsprobleme zu identifizieren und zu beheben, bevor sie zu ernsthaften Sicherheitsvorfällen führen können. Darüber hinaus ermöglichen sie eine kontinuierliche Überwachung der Workloads, um sicherzustellen, dass diese den Sicherheitsstandards entsprechen. Workload Protection Tools sind daher unverzichtbare Werkzeuge, um die Sicherheit in einer DevSecOps-Umgebung zu gewährleisten.

Application Security mit Workload Protection as a Service

Wollen Sie Security in Ihre DevOps-Prozesse integrieren (DevSecOps)? Stehen Sie zudem vor der Herausforderung, Konfigurationsprobleme in Ihrer Infrastruktur zu entdecken, Verbindungen transparent zu machen und zu überwachen, ungewöhnliches Verhalten frühzeitig zu erkennen und rechtzeitig zu reagieren? plusserver Workload Protection adressiert all diese Fragen und bietet Transparenz und Schutz vor Bedrohungen während des gesamten Application Lifecycles.

Fragen zur Integration Ihrer DevOps-Prozesse?

Sie haben weitergehende Fragen zur Workload Protection as a Service? Informieren Sie sich jetzt.

Über den Autor

Daniel Graßer verantwortet seit Juni 2022 als Senior Director of Security Services das Security Portfolio & Services sowie die dazugehörige Strategie bei plusserver. Das Leistungsportfolio umfasst neben hochstandardisierten Cloud-Produkten u. a. Themen wie Security as a Service, Anti-Ransomware-Strategien bis hin zum Betrieb von SOC-Leistungen.

Weiterführende Inhalte

Kundenreferenz

Performance und Sicherheit für easyPLU® by Knowledge Hero

Knowledge Hero betreibt SaaS-Lernlösung auf plusserver Kubernetes Engine und nutzt Workload Protection zur Absicherung.
Produkt

Workload Protection as a Service

Sichern Sie Applikationen und Workloads, vom Code bis zur (Multi-)Cloud.
Blog

Was ist DevOps?

DevOps ist der Ansatz, die Softwareauslieferung zu beschleunigen und durch höhere Effizienz Kosten zu senken.

Ihre Anfrage

Sie benötigen Support bei der Optimierung Ihrer bestehenden VMware-Umgebung? Wir helfen Ihnen gerne dabei.