Mit DevOps wachsen Software-Entwicklung (Dev) und -Betrieb (Ops) zusammen. Tools zur Prozessautomatisierung, die kontinuierliche Integration und das Teamwork zwischen Dev- und Ops-Einheiten fördern die Effizienz der gesamten Entwicklung. Die agile Entwicklung hat neben Vorteilen wie einer hohen Software-Qualität, Innovationsfähigkeit und schnellen Bereitstellung auch eine Schattenseite: Isolierte Sicherheitsmodelle verlieren an Wirksamkeit, weil Security-Prüfungen und -Optimierungen nun den gesamten DevOps-Lifecycle umfassen und ineinandergreifen müssen.
DevSecOps: Sicherheit ohne Bruchstellen
Mit DevSecOps hat sich deshalb ein Modell etabliert, das Sicherheitsaspekte und -verfahren von Anfang als integrale Bestandteile des Entwicklungsprozesses betrachtet, anstatt sie, wie bisher, als separate Phase oder Nachbearbeitung zu behandeln.
Ziel ist es, Sicherheitslücken trotz der heterogenen Zusammenarbeit zwischen Devs und Ops frühzeitig zu erkennen, zu beheben und präventive Maßnahmen ergreifen zu können. Damit entsteht nicht nur eine Kultur der gemeinsamen Verantwortung, Sicherheitsmaßnahmen und -Tools decken nun auch den kompletten DevOps-Lebenszyklus ab.
Das beginnt bereits mit dem Design und der Definition von Sicherheitsanforderungen und -zielen sowie der Auswahl geeigneter Architekturen und Technologien. Auch im Microsoft-Kosmos haben sich bewährte Praktiken, Werkzeuge und Ressourcen durchgesetzt. Dazu gehört in erster Linie der Microsoft Security Development Lifecycle (SDL). SDL integriert Sicherheitsstrategien und -verfahren in alle Phasen des Entwicklungsprozesses, von der Planung, über das Design und die Implementierung, bis hin zur Überprüfung und Wartung. Um die Anfälligkeit für Angriffe während der Entwicklungsphase zu reduzieren, haben sich Werkzeuge wie die Microsoft Security Code Analysis Tools bewährt. Sie ermöglichen es, den entwickelten Code automatisch und kontinuierlich auf Schwachstellen zu überprüfen und zu beheben, noch bevor die Anwendung in die produktive Umgebung gelangt.
Steht dann die Bereitstellung im Pflichtenheft, ist eine kontinuierliche Integrations- und Bereitstellungs-Pipeline (CI/CD) zweckmäßig. Sie umfasst Sicherheitstests und -überprüfungen für jeden Schritt: Dienste wie Microsoft Azure DevOps Services lassen sich beispielsweise dazu verwenden, die Pipeline zu erstellen und zu verwalten, während Komponenten wie Microsoft Azure Security Center die Anwendungen und Infrastruktur in der Cloud schützen und überwachen.
Schutz für Container und Microservices
Neue Sicherheitsstrategien sind allerdings auch nötig, wenn es um die Implementierung von Container-Technologien und Microservices geht. Um Schwachstellen in Container-Images und Microservices zu identifizieren und zu beheben, finden in der Regel folgende Werkzeuge Beachtung:
- Microsoft Azure Container Registry verwendet vertrauenswürdige Quellen für Container-Images und umfasst regelmäßige Aktualisierungen, um bekannte Sicherheitslücken zu schließen.
- Microsoft Azure Defender for Container Registries scannt Container-Images auf Schwachstellen, bevor sie in die CI/CD-Pipeline gelangen.
- Microsoft Azure Kubernetes Service (AKS) dient der Implementierung von Sicherheitsrichtlinien und -regeln für Container-Orchestrierung und -Ausführung.
- Microsoft Azure Monitor und Azure Sentinel eignen sich dazu, den Zustand und das Verhalten von Containern und Microservices zu überwachen und auf Anomalien zu reagieren.
Um schließlich den Zugriff und die Nutzung von vertraulichen Informationen in DevOps-Pipelines zu verwalten und zu schützen, haben sich sichere Speicherorte wie Microsoft Azure Key Vault durchgesetzt. Eine Zusammenführung von Azure Key Vault mit DevOps-Tools, wie Azure DevOps Services, ermöglicht es DevOps-Teams, den authentifizierten Zugriff auf sensible Inhalte während des Build- und Bereitstellungsprozesses zu automatisieren.
Prävention gegen Cyber-Attacken
Und auch für den Schutz der DevOps-Infrastruktur vor möglichen Bedrohungen, wie DDoS-Angriffen und anderen Cyber-Attacken, hat Microsoft ein Paket geschnürt. Unter diesen Lösungen befindet sich Microsoft Azure DDoS Protection. Sie ermöglicht eine adaptive und intelligente Erkennung sowie Abwehr von Angriffen, die auf normale Datenverkehrsmuster von Anwendungen abzielen. Zusätzlich bietet Microsoft Azure Firewall die Möglichkeit, den ein- und ausgehenden Datenverkehr der Azure-Ressourcen zu filtern und zu überwachen. Dabei folgt die Filterung und Protokollierung des Datenverkehrs verschiedenen Kriterien, wie Anwendungen, Protokollen, Ports, Quellen und Zielen, wodurch eine zentrale Netzwerksicherheitskontrolle für die DevOps-Infrastruktur gewährleistet wird. Ein weiterer bedeutender Schritt zum Schutz moderner DevOps-Umgebungen ist Microsoft Azure Sentinel. Die Cloud-basierte Sicherheitsinformations- und Ereignisverwaltungsplattform (SIEM) sammelt Sicherheitsdaten aus verschiedenen Quellen, analysiert sie mithilfe Künstlicher Intelligenz (KI) und Maschinellem Lernen (ML) und visualisiert sie für eine umfassende Sicherheitsüberwachung und -analyse.
API: Schwächstes Glied der Kette
Um auch die Sicherheit von APIs und anderen Schnittstellen zu gewährleisten, greifen Entwicklungsteams häufig auf Microsoft Azure API Management, Azure Application Gateway und Microsoft Entra ID zurück. Diese Dienste umfassen ein weites Funktionsspektrum, darunter zentrales Management, Schutz vor Web-Bedrohungen sowie Identitätsmanagement. Weiterhin können Microsoft Azure DevOps Services dazu genutzt werden, verschiedene Tests wie statische Code-Analyse, dynamische Anwendungssicherheitstests und Penetrationstests durchzuführen.
Azure Security Center ermöglicht schließlich die Überwachung und Behebung von Sicherheitsrisiken und Schwachstellen in DevOps-Ressourcen. Um Sicherheitsrisiken im Zusammenhang mit Open-Source-Komponenten und -Frameworks anzugehen, empfiehlt sich der Einsatz von Microsoft Azure Defender for App Service zur regelmäßigen Überprüfung auf bekannte Sicherheitslücken sowie Azure Application Insights für die Überwachung und Verbesserung der Leistung und Zuverlässigkeit von Anwendungen. Abschließend ist es ratsam, Lösungen wie Microsoft Azure Sentinel, Azure Backup und Azure Site Recovery für Incident Response und Disaster Recovery in die DevOps-Umgebung zu integrieren.
Kein DevOps ohne Sec
Fest steht: Um agile Entwicklungsmethoden tatsächlich auch geschäftskritisch verwenden zu können, sind DevSecOps von entscheidender Bedeutung. Das gilt vor allem deshalb, weil in der zunehmend digitalisierten Welt Sicherheitsbedrohungen ständig zunehmen. Traditionelle Ansätze, bei denen Sicherheit erst am Ende oder in Teilbereichen des Entwicklungsprozesses berücksichtigt wird, sind nicht mehr ausreichend. Durch die Integration von „Sicherheit von Anfang an“ in den DevOps-Lebenszyklus werden Sicherheitslücken frühzeitig erkannt und behoben. DevSecOps fördert zudem eine proaktive Sicherheitskultur, in der Entwickler, Betriebsteams und Sicherheitsteams zusammenarbeiten, um sicherzustellen, dass Anwendungen und Systeme robust gegenüber Sicherheitsbedrohungen sind.