DevOps mit Open Source? Aber sicher!
DevOps-Teams stehen heute unter hohem Druck, neue Anwendungen und Services schnell bereitzustellen, um die digitale Transformation im Unternehmen voranzutreiben. Dabei helfen ihnen Open-Source-Tools, die dank offener Schnittstellen und Standards gut zusammenarbeiten und eine weitgehende Automatisierung von Prozessen für Continuous Integration und Delivery (CI/CD) erlauben.
Die Tools lassen sich einfach evaluieren und einführen, ohne Unterstützung und – leider auch häufig – ohne Abstimmung mit IT- und Security-Teams. Doch der Versuch, neue Anwendungen immer schneller zu produzieren und in immer kürzeren Abständen mit Updates zu versorgen, führt oft zu unsicheren Praktiken – insbesondere im Umgang mit vertraulichen und privilegierten Anmeldedaten wie Passwörtern, API- und SSH-Schlüsseln sowie Zertifikaten.
Regelmäßig betten Entwickler beispielsweise Anmeldedaten – etwa für den Zugriff auf wichtige Datenbanken oder Cloud-Dienste – direkt in den Programmcode ein oder speichern sie in Konfigurationsdateien. Das ist ohnehin riskant, weil Code und Konfigurationen meist in zentralen Repositorys abgelegt werden, auf die viele verschiedene Anwender Zugriff haben. Im Falle von Open Source, die vom Community-Gedanken und dem Teilen von Quellcode lebt, besteht zudem die Gefahr, dass Anmeldedaten das Unternehmen ungewollt verlassen und leicht angreifbar machen. Dabei ist das Teilen von Code durchaus erwünscht und wichtig für die Weiterentwicklung von Open-Source-Software, lediglich die Anmeldedaten haben nichts im Code zu suchen.
Darüber hinaus setzen DevOps-Teams häufig Open-Source-Tools ein, ohne diese zuvor ausreichend auf Schwachstellen und einen sicheren Umgang mit Anmeldedaten zu prüfen. Oder sie verwenden Third-Party-Code, der nicht ausreichend getestet wurde oder veraltet ist. Damit stehen Sicherheitsverantwortliche vor der Herausforderung, Risiken beim Einsatz von Open Source zu minimieren, ohne DevOps-Teams in ihrer Arbeit auszubremsen.
Auf klassische Lösungen für das Security-Management können sie dabei in der Regel nicht zurückgreifen, weil diese für traditionelle Software-Anwendungen und Entwicklungsmethoden ausgelegt sind – und damit zu langsam, unflexibel und komplex für die agile Entwicklungswelt. Inzwischen gibt es jedoch moderne Lösungen für das Secrets-Management, also die Kontrolle und Verwaltung privilegierter Zugänge zu kritischen Systemen und zwischen Anwendungsteilen, und das auch auf Open-Source-Basis. Diese Lösungen schützen die Anmeldedaten sowohl von technischen Identitäten als auch menschlichen Anwendern in DevOps-Umgebungen und integrieren Sicherheit nahtlos in bestehende CI/CD-Prozesse.
Ein modernes Secrets-Management entfernt hart kodierte Anmeldedaten aus Anwendungen sowie den Skripten und Konfigurationsdateien von Automatisierungs- und Konfigurationstools entlang der gesamten CI/CD-Pipeline und verwaltet diese zentral. Es bietet richtlinien- und rollenbasierte Zugriffskontrollen, eine Rotation von Anmeldedaten und eine vollständige Dokumentation für Audits.
Ebenso überprüft es die Anfragen von Containern nach Anmeldedaten und gibt diese entsprechend den Richtlinien frei – etwas, woran althergebrachte Security-Lösungen aufgrund der kurzen Lebenszeit von Containern zumeist scheitern. Auch neue Hosts in Cloud-Umgebungen bekommen vom Secrets-Management die passenden Identitäten zugewiesen, sodass DevOps-
Teams automatische Skalierungsfunktionen nutzen können und neue Hosts nicht manuell mit Berechtigungen ausstatten müssen.
Zusammenfassend authentifiziert, kontrolliert und auditiert ein modernes Secrets-Management alle Zugriffe zentral über Tool-Stacks, Container-Plattformen und Cloud-Umgebungen hinweg und löst damit auch Security-Silos auf. Security-Teams schützen so sämtliche Anmeldedaten zuverlässig, während sich DevOps-Teams auf ihre eigentliche Aufgabe konzen-trieren können: die Entwicklung, Pflege und den Betrieb von Anwendungen.