Privilegierte Accounts in der Softwareentwicklung

Automatisierte Sicherheit in DevOps-Prozessen

| Autor / Redakteur: Markus Kahmen * / Stephan Augsten

Account-Sharing ist auch in DevOps-Prozessketten keine Seltenheit.
Account-Sharing ist auch in DevOps-Prozessketten keine Seltenheit. (Bild gemeinfrei: Maklay62 / Pixabay)

DevOps-Strategien verbessern die Entwicklerproduktivität, erhöhen die Softwarequalität und verkürzen die Bereitstellungszyklen. Doch bei all der Euphorie darf auch der Sicherheitsaspekt nicht vernachlässigt werden.

Für Unternehmen, die Software, Applikationen und digitale Services entwickeln und ausliefern, hat sich der DevOps-Ansatz als wahrer Segen herausgestellt. Er ermöglicht eine noch nie dagewesene Agilität, Schnelligkeit und Flexibilität bei der Softwareentwicklung und -bereitstellung.

Doch so praktisch eine optimierte digitale Produktionslinie ist, vergrößert sie auch die Angriffsfläche der Unternehmens-IT. Vor allem der Schutz von privilegierten Accounts und Berechtigungen sowie sensiblen Daten wie Codes und geistigem Eigentum steht in Gefahr, dem Wunsch nach Geschwindigkeit geopfert zu werden. Security-by-Design und ein gut durchdachtes Privileged Access Management ist im DevOps-Umfeld deshalb unabdingbar.

Eine nie dagewesene Geschwindigkeit

Einer der Hauptmotivatoren bei der Einführung eines DevOps-Konzeptes ist sicherlich die Geschwindigkeit und damit Zeitersparnis. Tatsache ist, dass Bereitstellungen, die früher Monate oder gar Jahre gedauert haben, nun bereits in Tagen realisiert werden können. Wie ein Bericht von DevOps Research and Assessment (DORA) und Google Cloud zeigt, können Elite-DevOps-Teams eine bis zu 2.555 Mal schnellere Produktionszeit erreichen als dies mit herkömmlichen Methoden der Fall ist – bei einer Fehlerquote von nur einem Siebtel des Durchschnitts.

Der Grund für diese enorme Geschwindigkeit liegt dabei an der Automatisierung des DevOps-Ansatzes, der die Prozesse rationalisiert. Mussten die einzelnen Teams der Entwicklungs- und Bereitstellungsabteilungen in der Vergangenheit stets auf ein Weiterreichen der Ergebnisse ihrer Kollegen warten, um ihren eignen Beitrag im Prozess leisten zu können, kann dank der DevOps-Automatisierung heute so gut wieder jeder Mitarbeiter gleichzeitig an seinem Element arbeiten.

Dies erhöht nicht nur die Geschwindigkeit, sondern reduziert gleichzeitig die Anfälligkeit für Fehler, etwa bei der Anpassung von Codes an die entsprechenden Entwicklungs- bzw. Produktionsumgebungen. Denn der DevOps-Ansatz sieht vor, dass verschiedene Elemente einer Software von mehreren kleinen Teams von Programmierern bearbeitet werden, die sich gegenseitig testen, um so Fehler zu vermeiden und Konsistenz zu gewährleisten.

So praktisch dies nun aus Entwicklersicht auch ist, so birgt der gleichzeitige Zugriff unterschiedlicher Nutzer auf Elemente wie Datenbanken oder Front-End auch Nachteile, insbesondere in Sachen Sicherheit. Denn eine Überwachung der Zugriffe auf schädliche Aktivitäten fällt damit umso schwerer und öffnet die Türe für Missbrauch.

Zugangsdaten im DevOps-Prozess

Ein schneller und unkomplizierter Zugriff auf Systeme und Anwendungen ist im Entwicklungsprozess von Software von großer Bedeutung, erstens, um die Produktivität der Mitarbeiter zu wahren, und zweitens, um die strengen Produkteinführungszeiten erfüllen zu können. Gleichzeitig fördert dies eine gewisse Bequemlichkeit im Umgang mit Anmeldeinformationen und verleitet Mitarbeiter zu riskantem Verhalten.

Im konkreten Beispiel eines typischen DevOps-Prozesses bedeutet dies: Ein Entwickler muss sich die Anmeldedaten für jedes einzelne Asset merken, auf das er zugreifen möchte. Das können unter anderem Benutzernamen sowie das dazugehörige Passwort für GitHub, CircleCI oder Amazon Web Services sein. Um Zugriffsprozesse zu erleichtern, ist es nun verlockend, ein und dieselbe Anmeldeinformation für alle Assets zu nutzen.

Teils hat sich sogar die Unsitte verbreitet, hartkodierte Schlüssel oder Passwörter in die Applikation selbst einzubetten und dort dauerhaft zu speichern. Kann sich eine nichtautorisierte Person nun Zugang zum System verschaffen und kennt etwa das Passwort für einen Container, so kann sie ohne Probleme auch auf alle anderen Container zugreifen sowie Programme mit gespeicherten Credentials öffnen.

Ebenfalls weit verbreitet, aus Sicherheitssicht aber ebenso gefährlich, ist das Teilen privater Schlüssel und Anmeldeinformationen mit dem ganzen Team. Dies erhöht das Risiko von Insider-Bedrohungen – seien es bewusste oder unbewusste – und sorgt letztlich für einen vollkommenen Kontrollverlust von Passwörtern, etwa wenn Mitarbeiter das Unternehmen verlassen und sensible Zugriffsdaten „mitnehmen“.

Ähnlich risikoreich – und dennoch im DevOps-Umfeld üblich – ist das Erstellen von Data-Buckets für eine effektive Kontrolle kritischer Daten, die für einen bestimmten DevOps-Prozess erforderlich sind. Dies geschieht, indem der ursprüngliche Server immer wieder geklont wird, was bedeutet, dass auch die Anmeldeinformationen über alle Instanzen des Servers hinweg dupliziert werden und sich die Cyberangriffsfläche stark vergrößert.

Ziel sollte es sein, derartige Schwachstellen frühzeitig zu unterbinden. Sorgen sich IT-Sicherheits-Verantwortliche nicht von Anfang um die Einführung und Umsetzung konsequenter Sicherheitsverfahren und -prozesse, kann aus dem DevOps-Traum schnell ein Albtraum werden.

Sicherheit von Anfang an mitdenken

Die große Herausforderung bei der Absicherung von privilegierten Zugriffen in DevOps-Prozessen ist die Wahrung der Geschwindigkeit. Niemand käme auf die Idee, ein Formel-1-Auto während eines laufenden Grand Prix anzuhalten, um das Bremssystem zu überprüfen und auf ein besseres umzustellen – das Rennen wäre verloren. Ähnlich ist es im DevOps-Umfeld.

Wer anfängt, sich im laufenden Prozess um angemessene Schutzmaßnahmen Gedanken zu machen, hat keine Chance mehr. Ein Security-by-Design-Ansatz, also das aktive Härten von Prozessen und Software gegen Schwachstellen und Sicherheitslücken schon während der Entwicklung, ist hier besonders wichtig. Nur so lässt sich sicherstellen, dass man den hohen Anforderungen von DevOps-Umgebungen hinsichtlich Geschwindigkeit und Skalierbarkeit nachkommen kann.

Automatisierung – nicht nur bei den Prozessen, auch bei der Sicherheit

Um einen risikoreichen Umgang mit sensiblen Zugriffsinformationen zu unterbinden, ohne dabei die DevOps-Prozesse zu behindern, müssen Unternehmen auf ein Privileged Access Management setzen, das ihnen eine absolute Automatisierung ihrer Passwortverwaltung bietet.

Bei PAM-Lösungen, die speziell für DevOps entwickelt wurden, kommen keine fest programmierten oder extern gespeicherten Anmeldeinformationen mehr zum Einsatz. Vielmehr verbinden sich die Systeme über API-Aufrufe mit einem Passworttresor und generieren und verarbeiten dort individuelle Anmelde- und Passwortabfragen.

Dies stellt sicher, dass alle vertraulichen Anmeldeinformationen, auf die die Nutzer zugreifen, einzigartig und angemessen stark sind, automatisiert in regelmäßigen Abständen rotieren und zusätzlich durch Sicherheits-Token verstärkt werden. Alle Sicherheitsrisiken, die mit dem manuellen Erstellen, Merken, Teilen oder Abändern von Passwörtern einhergehen, fallen somit weg und minimieren auf diese Weise die Angriffsfläche von DevOps-Umgebungen beträchtlich. Die Geschwindigkeit und Agilität der Prozesse bleiben dabei unberührt.

Zusätzlich bieten automatisierte PAM-Lösungen IT-Abteilungen eine vollständige Transparenz über sämtliche privilegierte Aktivitäten und ermöglichen es ihnen so, unübliche und potenziell schädliche Zugriffe frühzeitig (und bevor größerer Schaden entsteht) zu identifizieren. Am effektivsten gelingt dies mit Lösungen, die auf Machine Learning-Technologien zurückgreifen und Benutzeraktivitäten auf Basis von individuellen Verhaltensmustern analysieren und verdächtige Zugriffe auf privilegierte Accounts automatisch melden.

Eine möglichst kurze Time-to-Market ist für Anbieter von Software und digitaler Services heute geschäftskritisch geworden, um Kunden zu gewinnen, zu binden und sich von den Wettbewerbern abzuheben. Sich dabei allein auf die Geschwindigkeit der Prozesse zu verlassen und Aspekte der Sicherheit zu vernachlässigen, kann aber schnell gefährlich werden. Denn das beste und schnellst entwickelte Produkt wird unwichtig, wenn Cyberangreifer zuschlagen und Unternehmen mit von großangelegten Hackerangriffen, Ransomware oder dem Diebstahl geistigen Eigentums zu kämpfen haben.

* Markus Kahmen ist Regional Director CEE bei Thycotic.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 46227181 / Application Security)