DevOps – Risiken werden unterschätzt
Die digitale Transformation erfordert eine hohe Agilität und treibt die Nutzung von DevOps-Umgebungen entscheidend voran, weil DevOps eine beschleunigte Innovation, höhere Flexibilität und reduzierte Komplexität bei Applikationsentwicklung und -bereitstellung bietet.
Mit DevOps-Implementierungen wollen Unternehmen deshalb primär Business-Vorteile realisieren. Sie vernachlässigen dabei aber allzu oft die Sicherheit – ein gravierender Fehler, denn gerade DevOps erweitert die Angriffsfläche für Cyber-Attacken erheblich.
Wenn Unternehmen DevOps-Modelle nutzen, werden mehr privilegierte Accounts und Zugangsdaten generiert und über vernetzte Business-Ökosysteme hinweg automatisiert geteilt.
Zu solchen – bisher vielfach nur unzureichend berücksichtigten und gesicherten – Zugangsdaten gehören Service-Accounts, Encryption-, API- und SSH-Keys, Secrets von Containern oder eingebettete Passwörter in Programm-Code, der häufig auch in zentralen Repositories liegt.
Die zusätzlich verwendeten privilegierten Zugangsdaten, die mit Personen, Services oder Applikationen verbunden sind, stellen unweigerlich ein lukratives Ziel für einen externen Angreifer oder böswilligen Insider dar. Schließlich ermöglichen sie eine vollständige Kontrolle über die gesamte IT-Infrastruktur eines Unternehmens.
Erhöht wird das Sicherheitsrisiko für Unternehmen noch durch die Nutzung zahlreicher Orchestrierungs- und Automationstools, so werden etwa CI-(Continuous Integration)- und CD-(Continuous Delivery)-Tools oder Source-Code-Repositories wie GitHub in DevOps-Projekten eingesetzt.
Herausforderung dabei ist, dass die in der DevOps-Toolchain verwendeten Werkzeuge wie Ansible, Chef, Puppet oder Jenkins keine gemeinsamen Standards bieten und Unternehmen somit für jedes Tool individuelle, spezifische Sicherheitsmaßnahmen ergreifen müssen.
Vor allem die Workflows für die Zugriffsteuerung auf privilegierte Zugangsdaten differieren in erheblichem Maße. Infolgedessen verfolgen viele Unternehmen gar keine, inkonsistente oder manuelle Strategien für die Zugriffskontrolle – Sicherheitslücken sind damit vorprogrammiert und werden von Angreifern genauso automatisiert gesucht, wie in der DevOps-Pipeline Code generiert wird.
Erfolgreich gegensteuern kann man nur mit einem eigenen DevOps-Security-Stack und an dieser Stelle ist die IT-Security gefordert. Sie muss mit einer systematischen Vorgehensweise DevOps-Teams dabei unterstützen, eine hohe Sicherheit zu realisieren.
DevOps- und Security-Tools und -Practices müssen miteinander integriert werden, um einen effizienten Schutz für privilegierte Daten zu etablieren. Die enge Zusammenarbeit von DevOps- und Security-Teams ist deshalb der erste Schritt für den erfolgreichen Aufbau einer skalierbaren Sicherheitsplattform und die Umsetzung einer DevSecOps-Strategie, die in der dynamischen Umgebung und mit sich rasant weiterentwickelnder Technologie Schritt halten kann.
Unter dem Dach einer solchen Sicherheitsplattform sollte die Administration aller DevOps-Tools und -Zugangsdaten erfolgen. Von essenzieller Bedeutung ist dabei hauptsächlich die zentrale, automatische Verwaltung und Sicherung aller vertraulichen Zugangsdaten, die in einer DevOps-Pipeline genutzt werden – wie Encryption- und API-Schlüssel, Datenbank-Passwörter oder Transport-Layer-Security-(TLS)-Zertifikate.
Selbstverständlich werden hier auch automatisiert und dynamisch individuelle Secrets verwaltet, die in der DevOps-Produktion die Zugriffe absichern.
Der Schutz aller von Maschinen, Systemen und Menschen genutzten Zugangsdaten sollte in einem hochverfügbaren und sicheren Speichersystem (Vault) erfolgen, einem speziell „gehärteten“ Server, der mit mehreren unterschiedlichen Security-Layern zuverlässigen Schutz vor unbefugten Zugriffen bietet.