Suchen

Entwickler mit Credential- und Secrets-Management unterstützen Sichere Entwicklung beginnt beim Zugriffsschutz

| Autor / Redakteur: Christian Goetz * / Stephan Augsten

Unternehmen setzen zunehmend auf eine agile Softwareentwicklung und DevOps-Modelle, um Innovationen voranzutreiben und die geschäftliche Performance zu verbessern. Die Sicherheit darf dabei allerdings nicht auf der Strecke bleiben. Und sie sollte kein Add-on, sondern muss integraler Bestandteil sein.

Firmen zum Thema

In der Software-Entwicklung werden immer mehr Zugangsdaten generiert und über vernetzte Systeme hinweg geteilt.
In der Software-Entwicklung werden immer mehr Zugangsdaten generiert und über vernetzte Systeme hinweg geteilt.
(© tippapatt - stock.adobe.com)

Nach wie vor unterschätzen Unternehmen bei der agilen Entwicklung und DevOps-Implementierungen die Sicherheit. Dabei lassen sie außer Acht, dass gerade dadurch die Angriffsfläche für Cyber-Attacken steigt, allein schon, weil mehr Zugangsdaten generiert und über vernetzte Systeme hinweg geteilt werden.

Zu solchen Zugangsdaten und Anmeldeinformationen gehören etwa API- und SSH-Keys, Secrets von Containern oder eingebettete Passwörter in Programm-Code, der häufig auch in zentralen oder gar öffentlich zugänglichen Repositories liegt. In der Hand eines externen Angreifers stellen diese vertraulichen Zugangsdaten eine erhebliche Sicherheitsgefahr dar, da sie letztlich eine vollständige Kontrolle über die IT-Infrastruktur eines Unternehmens ermöglichen können.

Dieses Bewusstsein für die Gefahren muss auf Unternehmensseite vielfach noch entwickelt werden – die Empfehlung lautet: Denken wie ein Angreifer. Und darüber hinaus müssen auch unterstützende Sicherheitslösungen eingesetzt werden, die die Entwickler entlasten.

Sicherheit muss immer integraler Bestandteil in allen Prozessschritten der agilen Entwicklung und der DevOps-Landschaft sein: von der Designphase über die Entwicklung und das Testen bis zum Rollout einer Applikation. Um eine hohe Sicherheit und Qualität der Applikationen zu gewährleisten, sind prinzipiell zwei Punkte von hoher Relevanz: die Code-Analyse und die Sicherung von Anmeldeinformationen, die etwa in Form von Passwörtern, Tokens oder API-Keys vorliegen.

Für die Codeanalyse sind zahlreiche Automationstools für die Problemermittlung bei Operationen oder Prozeduren verfügbar. Sie sind unverzichtbar, da auch Menschen Fehler und seien es nur Flüchtigkeitsfehler machen können.

API-Schlüssel richtig nutzen

Typischer Angriffspunkt und damit das größte Sicherheitsrisiko sind aber die Anmeldeinformationen, etwa die von Anwendungen und Diensten programmatisch genutzten API-Zugriffsschlüssel. Sie dienen unter anderem der Zugriffsvalidierung bei Automationstools, mit denen die Provisionierung eines Containers oder Änderungen in der Cloud-Umgebung wie das Stoppen und Starten eines Servers vorgenommen werden.

Das Grundproblem dabei ist, dass Anmeldeinformationen vielfach statisch gespeichert werden, etwa in Code hinterlegt oder in Repositories wie GitHub gespeichert. Die Lösung muss deshalb lauten: Anmeldeinformationen dynamisch erzeugen und erst zur Laufzeit laden.

Bezogen auf die API-Key-Nutzung ergibt sich dadurch folgender Ablauf: Starten des Funktionsaufrufs, Übergabe der Anmeldeinformationen und Berechtigungsprüfung etwa für den Applikations- oder Datenbankzugriff. Für die Speicherung und Verwaltung von Zugangsdaten und API-Schlüsseln bietet sich ein digitaler Datentresor (Vault) an, also ein speziell „gehärteter“ Server, der mit mehreren unterschiedlichen Security-Layern zuverlässigen Schutz vor unbefugten Zugriffen bietet.

Cloud-Konten als Gefahrenquelle

In engem Zusammenhang mit DevOps-Modellen steht auch die Cloud-Nutzung, etwa die Verwendung von Cloud-basierten Source-Code-Repositories. Um Sicherheitsgefahren bei der Nutzung von Cloud-Services auszuschließen, müssen Unternehmen die Zugangsdaten zu Cloud-Managementkonsolen und -portalen adäquat verwalten, sichern und überwachen.

Bei einer Single-Cloud-Lösung können dabei prinzipiell Identity-and-Access-Management (IAM)-Funktionen, Multi Factor Authentication (MFA) und Key Management Stores (KMS) in der jeweiligen Cloud selbst genutzt werden. Bei einer Multi-Cloud-Lösung hingegen sollten Unternehmen eine von einer bestimmten Cloud-Lösung unabhängige Credential- und Secrets-Management-Lösung einsetzen, die zentral den Zugriff auf Anmeldeinformationen regelt.

Die agile Entwicklung und Nutzung von DevOps-Modellen bringt Unternehmen erhebliche Vorteile wie die Reduzierung von Kosten oder die Erhöhung von Flexibilität und Skalierbarkeit. Und auch die Sicherheit muss dabei nicht zu kurz kommen. Eine elementare Voraussetzung ist allerdings, dass Sicherheit von Anfang an elementarer Bestandteil der Prozess-kette ist und alle Anmeldedaten zuverlässig geschützt werden.

* Christian Goetz ist Director of Presales DACH bei CyberArk.

(ID:46829600)