Was ist das Secrets-Management?

Beim Secrets-Management geht es um die Sicherung und Kontrolle von Berechtigungsnachweisen für die automatisierten Komponenten einer Anwendung.

Was ist das Secrets-Management?

Unter Secrets-Management versteht man die sichere Speicherung sensibler Informationen, die im Fall eines Leaks böswilligen oder unbefugten Parteien Zugang zur Anwendungsinfrastruktur verschaffen könnten. Ein „Secret“ bezieht sich in diesem Zusammenhang auf die Verschlüsselungsschlüssel, API-Schlüssel, SSH-Schlüssel, Token, Passwörter oder Zertifikate, mit denen verschiedene Teile der Anwendungsinfrastruktur miteinander verbunden werden können.

Während ein Nutzer vielleicht nur ein Passwort benötigt, um sich bei einer Anwendung anzumelden, besteht diese Anwendung selbst aus verschiedenen Teilen, die allesamt für die Kommunikation miteinander Anmeldedaten – diese Secrets – benötigen.

Fast jeder weiß, wie mühsam es sein kann, sich Passwörter für mehrere Anwendungen zu merken, insbesondere wenn diese Passwörter regelmäßig aktualisiert werden müssen. Aus diesem Grund gehen viele Menschen zu unsicheren Passwortpraktiken über, wie z. B. das Aufschreiben ihrer Passwörter oder die Verwendung desselben Passworts für alle Anwendungen.

Entwickler stehen bei der Entwicklung von Software vor ähnlichen Herausforderungen. Die Infrastruktur, mit der Anwendungen funktionieren oder auf der ein Unternehmen läuft, kann Hunderte oder sogar Millionen von Schlüsseln, Token und Passwörtern erfordern. Da die Verwaltung all dieser Geheimnisse so anstrengend ist, werden sie oft fest in die Anwendungssoftware einkodiert. Sie werden unter Umständen nie aktualisiert und sind manchmal im Klartext kodiert, wodurch sie anfällig für Angriffe sind.

Was ist ein „Secret“?

Im Kontext der Anwendungsentwicklung ist ein Secret oder Geheimnis ein Teil der Daten, der als Berechtigungsnachweis verwendet wird. Genauso wie sich eine Person für den Zugriff auf ihre E-Mails mit Benutzername und Passwort authentifizieren muss, müssen sich die nicht-menschlichen Komponenten dieser E-Mail-Anwendung (oder jeder anderen Anwendung) gegenseitig authentifizieren, damit die Anwendung funktioniert. Zu diesen Komponenten gehören unter anderem API-Verbindungen, Container, Microservices, Skripte, Funktionen und Automatisierungstools. Zur Authentifizierung verwenden sie Anmeldeinformationen.

Geheimnisse können sein:

Denken Sie daran, wie Kinderbausteine (z. B. LEGO®) ineinander greifen, um eine stabile, wenn auch winzige Struktur zu bilden. Geheimnisse sind wie diese Befestigungsmechanismen, die eine Anwendung zusammenhalten. Ohne sie fällt die App auseinander.

Warum müssen Geheimnisse aktualisiert werden?

Im Gegensatz zu Legosteinen, die immer an den selben Stellen ineinander greifen, müssen Geheimnisse regelmäßig geändert werden. Wenn ein Geheimnis zu lange verwendet wird, kann ein Angreifer es möglicherweise durch einen Brute-Force-Angriff erraten. Und je länger ein Geheimnis verwendet wird, desto wahrscheinlicher wird ein Leak.

Da Geheimnisse regelmäßig geändert werden müssen, wird die sichere Verwaltung dieser Geheimnisse noch komplexer. Genauso wie es schwierig sein kann, sich ein neues Passwort zu merken, ist auch das regelmäßige Wechseln von Geheimnissen eine große Herausforderung. Ein Dutzend Apps kann von einer einzigen API abhängen, und alle diese Apps müssen ihre Geheimnisse aktualisieren, wenn die API neue Anmeldedaten erfordert. In manchen Fällen weiß ein Unternehmen nicht einmal, wie viele Apps von dieser API abhängig sind und was bei der Aktualisierung eines Geheimnisses kaputt gehen wird.

Manchmal verzichten Entwicklungsteams aus Gründen der Effizienz ganz auf die Aktualisierung von Geheimnissen, so wie viele Menschen lieber nie ihre Passwörter ändern. Es kann sogar vorkommen, dass sie Geheimnisse in Skripten und Funktionen fest codieren, weil sie davon ausgehen, dass die Geheimnisse nicht geändert werden müssen.

Welche weiteren Herausforderungen gibt es beim Secrets-Management?

Manuelle Weitergabe: Entwickler, die nicht über eine Lösung für das Secrets-Management verfügen, sind möglicherweise gezwungen, Geheimnisse manuell zwischen den Entwicklungsteams auszutauschen, was zu einer mangelhaften Dokumentation und zur Einführung von Geheimnissen in ungesicherte Umgebungen führt.

Konten von Dritten: Externe Nutzer benötigen unter Umständen Zugriff auf interne APIs und Datenbanken. Da sie nicht zum Unternehmen gehören, ist es schwierig, ein sicheres Secrets-Management durchzusetzen.

Cloud-Computing: Cloud-Umgebungen sind weitreichend und flüchtig. Zur Unterstützung von Diensten werden regelmäßig neue virtuelle Maschineninstanzen eingerichtet, die alle ihre eigenen Geheimnisse benötigen. Cloud-Anwendungen ermöglichen außerdem einen umfassenden Zugriff von nahezu unendlich vielen Standorten aus, wodurch sich die Anzahl der zu verwaltenden Anmeldeinformationen und Berechtigungen enorm erhöht.

Fehlen einer zentralen Verwaltung: Genauso wie es schwierig sein kann, sich mit einer Gruppe auf eine Uhrzeit für das Abendessen zu einigen, ist es auch schwierig, Geheimnisse zu verwalten, die über mehrere Teams und Bereiche verteilt sind. Jedes Team dokumentiert Geheimnisse anders, speichert sie anders oder hat keinen Einblick in die Geheimnisse, die andere Teams verwenden.

Wie eine Lösung für das Secrets-Management funktioniert

Secrets-Management-Tools können alle notwendigen Prozesse für die sichere Verwaltung von Geheimnissen automatisieren. Außerdem speichern sie Geheimnisse in einer sicheren Umgebung, getrennt vom Code der Anwendung. So können Entwickler vermeiden, Geheimnisse fest zu kodieren oder sie im Klartext zu speichern, wo sie kompromittiert werden könnten.

Wie hilft Cloudflare beim Secrets-Management?

Cloudflare bietet eine hoch skalierbare Entwicklungsplattform für die Ausführung von Code über sein globales Netzwerk. Cloudflare Secrets Store ermöglicht es Entwicklern, die Geheimnisse, die ihre Anwendungen benötigen, sicher zu speichern und zu verwalten - von API-Tokens bis hin zu Headern für die Autorisierung von Anfragen. Erfahren Sie mehr über Secrets Store.

FAQs

Was ist das Secrets-Management?

Beim Secrets-Management geht es um den Schutz und die Regulierung digitaler Berechtigungsnachweise, die von den automatisierten Teilen einer Anwendung verwendet werden. Dabei geht es um die sichere Speicherung sensibler Daten, die bei Offenlegung unbefugten Personen den Zugriff auf die Infrastruktur einer Anwendung ermöglichen könnten.

Was gilt bei der Anwendungsentwicklung als Secret?

In diesem Zusammenhang ist ein Secret ein Datenelement, das als Anmeldeinformation für nichtmenschliche Komponenten dient. Diese nichtmenschlichen Elemente, wie etwa API-Verbindungen, Microservices und Automatisierungstools, verwenden diese Anmeldedaten, um sich gegenseitig zu authentifizieren, damit die Anwendung funktionieren kann. Beispiele hierfür sind IPsec-Schlüssel, TLS-Privatschlüssel, API-Schlüssel und Passwörter.

Welche Arten von sensiblen Daten werden üblicherweise als Secrets verwaltet?

Zu den gängigen Secrets zählen API-Schlüssel, Verschlüsselungsschlüssel, Passwörter und Tokens. Dazu gehören auch Zertifikate wie TLS- oder IPsec-Zertifikate sowie SSH-Schlüssel, mit denen sich verschiedene Teile einer Infrastruktur verbinden können.

Warum ist es notwendig, Secrets regelmäßig auszutauschen?

Secrets müssen regelmäßig aktualisiert werden, um das Risiko zu verringern, dass Angreifer sie per Brute-Force-Angriff erraten. Je länger ein Secret im Einsatz bleibt, desto höher ist zudem die Wahrscheinlichkeit, dass es offengelegt wird. Eine regelmäßige Rotation hilft, die Sicherheit der Anwendung langfristig aufrechtzuerhalten.

Welche primären Herausforderungen gibt es beim Secrets-Management in einer Cloud-Umgebung?

Cloud-Umgebungen sind oft weitreichend und ändern sich häufig, wobei es ständig neue virtuelle Maschinen gibt, die jeweils ihre eigenen Anmeldedaten benötigen. Darüber hinaus sind die verschiedenen Komponenten oft voneinander abhängig, sodass ein Secret bei einer Aktualisierung Verbindungen zwischen Komponenten unterbrechen kann, die nicht mit den neuen Informationen aktualisiert wurden. Diese Erweiterung erhöht die Gesamtzahl der Berechtigungen und Geheimnisse, die eine Organisation überwachen und verwalten muss. Die Anzahl der zu verwaltenden Secrets übersteigt die manuellen Möglichkeiten der internen Teams bei Weitem.

Wie verbessern Tools für das Secrets-Management die Sicherheit für Entwickler?

Secrets-Management-Lösungen automatisieren die Verwaltung und speichern Zugangsdaten in einer sicheren Umgebung getrennt vom Anwendungscode. So vermeiden Entwickler, Secrets fest im Code zu hinterlegen oder im Klartext zu speichern, wo Angreifer sie deutlich leichter finden können.

Wie unterstützt Cloudflare bei der Verwaltung von Anwendungsanmeldeinformationen?

Cloudflare bietet ein Tool namens Secrets Store an, das auf seinem globalen Netzwerk aufbaut. Dieser Dienst ermöglicht es Entwicklern, die verschiedenen Anmeldeinformationen, die ihre Anwendungen benötigen, sicher zu speichern und zu verarbeiten.