Blog

Sichere Bereitstellung: 10 Hinweise zur Verwaltung von Geheimnissen

Jeroen Willemsen

Ben de Haan

Aktualisiert Oktober 20, 2025
8 Minuten

In einem früheren Blog haben wir über die sichere Bereitstellung gesprochen. Die Verwaltung von Geheimnissen ist ein wichtiger Teil davon. Was bedeutet das also? In diesem Blog geben wir Ihnen einige Hinweise darauf, wie Sie Geheimnisse im Hinblick auf eine sichere Bereitstellung gut verwalten können. Es ist leicht zu sagen: "Verwenden Sie Tool X, um das Geheimnis zu speichern" oder "Setzen Sie all diese Erkennungstools ein!", aber das würde zu blinden Flecken führen. Lassen Sie uns stattdessen einen Blick auf einige Hinweise werfen, die Ihnen helfen, die Sicherheit von Geheimnissen ganzheitlich zu erhöhen.

Das ist eine ganze Menge an Geheimnissen, die es zu verwalten gilt...
Quelle: https://commons.wikimedia.org/wiki/File:Birn_Municipal_Bank_HQ_Safes.jpg

1. Inventarisieren Sie Ihre Geheimnisse

Viele Sicherheitsvorfälle rühren daher, dass ein "Geheimnis" nicht als Geheimnis behandelt oder nicht richtig geschützt wurde. Neben Datenlecks gibt es noch andere Risiken im Zusammenhang mit Geheimnissen: Ihre Anwendung kann gefährdet werden, wenn Geheimnisse nach außen dringen. Viele Anwendungen funktionieren nicht mehr ohne ihre Geheimnisse. Wenn Sie Ihre Geheimnisse gut schützen wollen, müssen Sie zunächst wissen, was Sie als Geheimnis einstufen und wo Sie es derzeit speichern. Auf dieser Grundlage können Sie Maßnahmen ergreifen, um das Geheimnis weiter zu schützen.

2. Bereiten Sie die Migration vor

Ihr Technologie-Stack entwickelt sich ständig weiter, und Sie werden irgendwann wechseln. Vielleicht haben Sie eine Migration von "Jenkins" zu "GitHub-Aktionen" oder von Ihrem "geheimen Shell-Skript" zu " vault" durchgeführt. In ähnlicher Weise können Sie den Speicherort für Ihr Geheimnis wechseln: von Ihren Kubernetes Secrets zu Ihrem "Tresor" oder zu Ihrem Cloud-Anbieter (oder umgekehrt). Und das alles mit gutem Grund. Der wichtigste Aspekt bleibt: Sie müssen die Migration eines Geheimnisses vorbereiten, denn Sie wollen sicherstellen, dass Ihre Geheimnisse geheim bleiben. Daher müssen Sie in der Lage sein, den Zweck des Geheimnisses und seine Verwendung zu bestimmen. Es ist hilfreich, die Metadaten eines Geheimnisses in der Nähe des Geheimnisses zu speichern, damit Sie leicht erkennen können, was/wann Sie migrieren müssen.

3. Machen Sie Geheimnisse zeitlich begrenzt

Kein Geheimnis ist unendlich sicher. Die Wahrscheinlichkeit, dass ein Geheimnis nach außen dringt und große Auswirkungen auf Ihr Unternehmen hat, ist sehr viel geringer, wenn Sie die Gültigkeit des Geheimnisses einschränken. Das bedeutet, dass Sie dafür sorgen sollten, dass Geheimnisse eine begrenzte Lebensdauer haben und bei Bedarf geändert werden können. Je nach Art des Geheimnisses wird es einfacher, sie zeitlich zu begrenzen. Ein Cloud-Provider-Zugangs-Token kann zum Beispiel sehr kurzlebig sein. Dies ist besonders wichtig für hochprivilegierte Zugangstoken. Andererseits: Ihre privaten TLS-Schlüssel müssen möglicherweise etwas länger stabil sein, falls Sie eine Einrichtung ohne perfekte Forward Secrecy unterstützen müssen. Wenn Sie sicherstellen können, dass Ihr Schlüsselpaar aus öffentlichem und privatem Schlüssel nur ein Jahr lang gültig ist, ist es immer noch "zeitlich begrenzt". Ändern Sie auch regelmäßig die Passwörter der Konten, die Ihnen lieb und teuer sind - ein Passwort-Manager macht dies sehr viel einfacher.

4. Vergewissern Sie sich, dass sie nicht in Code/Konfiguration sind

Geheimnisse in Code/Konfiguration sind für andere leicht zu lesen und, was noch wichtiger ist, für Tools leicht zu exfiltrieren. Es ist inzwischen allgemein bekannt, dass ein Geheimnis nicht in Git eingecheckt werden sollte. Orte wie Ihr Terraform-State-Bucket, Umgebungskonfigurationsdateien und Ihre Kubernetes-Config-Maps werden jedoch oft übersehen. Im Idealfall befinden sich Ihre Geheimnisse nur im Speicher oder, vorzugsweise, in Software-/Hardware-Sicherheitsmodulen. Wenn Sie also Ihr Geheimnis generieren, sollte ein angemessener Anteil an (sicherer) Zufälligkeit im Spiel sein. Ihr Konfigurationscode kann die Länge eines Geheimnisses, den Typ, das möglicherweise verwendete Alphabet oder andere Kriterien enthalten, aber er sollte nicht das Geheimnis selbst enthalten. In diesem Fall befinden sich die Anweisungen zur Generierung und Verwendung des Geheimnisses im Code, aber die eigentlichen Geheimnisse sind nur in der Software oder dem Hardware-Sicherheitsmodul enthalten.

5. Bringen Sie das Geheimnis in die Nähe des Empfängers

Wenn Sie ein Geheimnis nicht nur dem beabsichtigten Empfänger offenbaren, erhöhen Sie das Risiko, dass es an Unbefugte weitergegeben wird. Ein Beispiel: Wenn eine bestimmte Anwendung in Ihrem Kubernetes-Cluster ein Geheimnis benötigt, ist es besser, wenn die Anwendung das Geheimnis abrufen kann und nicht der Worker Node. Dafür gibt es einen einfachen Grund: Wenn alle Pods über den Worker Node auf das Geheimnis zugreifen können, kann jeder dieser Pods es ausplaudern. Dies gilt nicht nur für Kubernetes, sondern für alle Technologiestapel in ähnlicher Form.

6. Sicherstellung des Zugriffs mit den geringsten Rechten

Der Zugriff mit den geringsten Rechten bei der Verwaltung von Geheimnissen geht in zwei Richtungen:

  • Sie möchten sicherstellen, dass alle Entitäten nur die Privilegien haben, die sie benötigen - möglicherweise vorübergehend (siehe #3)
  • Der geheime Bereich bietet nur Zugriff auf das, was der Benutzer benötigt

In der Praxis bedeutet dies, dass Sie separate Geheimnisse für separate Funktionen oder Entitäten erstellen und den uneingeschränkten Zugriff verhindern sollten. Vernünftige Standardeinstellungen und eine vorübergehende Erhöhung der Berechtigungen sind hier der Schlüssel. Sie möchten nicht, dass jeder die ganze Zeit Root ist, und der uneingeschränkte Zugriff auf Geheimnisse ist im Grunde dasselbe. Wenn eines Ihrer Teammitglieder kompromittiert wird, werden Sie sehr froh sein, dass der Angreifer standardmäßig nur eingeschränkten Zugriff hat.

7. Arbeiten Sie nicht allein

Wenn Sie mit Geheimnissen umgehen, sei es durch automatische Generierung oder durch manuellen Import in Ihr System: stellen Sie sicher, dass Sie kooperieren. Das Ändern eines Geheimnisses kann große Auswirkungen auf die Benutzer des Geheimnisses haben. Daher ist es gut, dies gemeinsam zu tun - im Stil der Paarprogrammierung -, um sicherzustellen, dass keine Fehler gemacht werden. Die Paarprogrammierung hilft auch, das Wissen über den Prozess zu verbreiten! Schließlich können Sie sich gegenseitig helfen, indem Sie sicherstellen, dass Kopien eines importierten Geheimnisses im Falle eines manuellen Imports vernichtet werden.

8. Geheimnisse nicht wiederverwenden

Verwenden Sie keine Passwörter für verschiedene Dienste, verwenden Sie keine Schlüssel für verschiedene Zwecke. Jedes Mal, wenn Sie ein Geheimnis für eine bestimmte Einheit verwenden und diese Einheit kompromittiert wird, ist auch Ihr Geheimnis betroffen. Daher hilft ein einziger Zweck pro Geheimnis, die Auswirkungen im Falle eines aufgedeckten Geheimnisses zu verringern.

9. Geheimen Zugang überwachen

Es gibt verschiedene Möglichkeiten, den Zugriff auf Ihre Geheimnisse zu überwachen. Wir besprechen die 'traditionelle' Audit-Protokollierung und Überwachung, Canaries und externe Dienste, die undichte Stellen in Ihrem Unternehmen aufspüren.

Audit-Protokollierung

Die älteste und im Allgemeinen zuverlässigste Methode zur Überwachung, ob auf ein Geheimnis zugegriffen oder es verändert wurde, ist die Verwendung von Audit-Protokollen. Dies kann über Anwendungszugriffsprotokolle, Cloud Audit Monitoring oder Systemdienste wie AuditD erfolgen. Audit-Protokolle sind eine grundlegende Kontrolle, um festzustellen, was passiert ist. Die Sache kann jedoch knifflig werden: Ein Angreifer könnte ein kompromittiertes (Dienst-)Konto verwenden, um an ein Geheimnis zu gelangen. In diesem Fall würden Sie nur sehen, wie das (Dienst-)Konto auf das Geheimnis zugreift. Das bedeutet, dass Sie einen solchen Angriff nicht erkennen können, wenn Sie die verschiedenen Protokollquellen nicht miteinander abgleichen.


Kanaren

In einigen Fällen von Datenschutzverletzungen wird ein Unternehmen von einer externen Stelle darüber informiert, dass es möglicherweise eine Datenschutzverletzung erlitten hat. Das muss nicht der Fall sein. So wie Kanarienvögel in Kohlebergwerken zur Warnung vor Gas eingesetzt wurden, können Sie Kanarienvogel-Tokens, Benutzer oder Zugangsschlüssel an verschiedenen Stellen platzieren. In dem Moment, in dem auf sie zugegriffen wird oder sie benutzt werden, alarmieren sie Sie über möglichen Unfug und geben Ihnen eine frühe Warnung (die vielleicht Ihre einzige ist). Ein Dienst, mit dem Sie beginnen können, ist canarytokens.org.

HaveIBeenPwned

Eine andere Möglichkeit, um herauszufinden, ob ein Teil Ihrer Geheimnisse geleakt wurde, ist die Überprüfung von haveibeenpwned. Dieser Dienst kann Ihnen auf der Grundlage Ihrer E-Mail-Adresse sagen, ob Ihre Daten in einer Sicherheitsverletzung aufgetaucht sind. Bitte beachten Sie, dass, wenn Ihre E-Mail-Adresse nicht auftaucht, dies nicht bedeutet, dass es nie einen Einbruch gab. Ein weiterer Indikator, den Sie verwenden können, ist der Dienst pwned passwords. Dieser kann Ihnen sagen, ob das Passwort Ihrer Wahl schon einmal geleakt wurde.


Pastebin / Dark Web Überwachung

Keine echte Lösung, aber hey: Sie können auch versuchen, das Internet selbst zu überwachen, um zu sehen, ob Ihr Geheimnis irgendwo auftaucht ;-). Oft ist es besser, spezialisierte Dritte zu beauftragen, dies für Sie zu tun. Seien Sie gewarnt: die Effektivität dieser Anbieter kann variieren.
Pro-Tipp: es ist nützlich, Tools zur Überwachung Ihrer eigenen Repositories zu aktivieren! Auch verschiedene Open-Source-Tools können bereits sehr hilfreich sein!

10. Machen Sie Geheimnisse zu einem Teil Ihres Bedrohungsmodells

Geheimnisse sind ein wichtiger Aktivposten, also sind sie natürlich auch das Objekt mehrerer möglicher Bedrohungen. Wenn Sie ein Bedrohungsmodell erstellen, sollten Sie diese mit einbeziehen! Beachten Sie, dass es schwierig sein kann, die Wahrscheinlichkeit oder die Auswirkungen von "Geheimnissen" zu quantifizieren. Wenn Sie jedoch eine Bedrohung wie "Admin-Passwort in unserem Git-Repository wird wiederverwendet, um unser Hauptkonto zu löschen" identifizieren, wird es viel einfacher, das mögliche Risikoniveau zu erkennen.

Wie geht es jetzt weiter?

Das waren eine ganze Menge Hinweise für den Anfang! Was sollten Sie jetzt tun?

  • Vergewissern Sie sich, dass Ihr Inventar an Geheimnissen auf dem neuesten Stand ist: Sobald Sie wissen, welche Geheimnisse Sie haben, können Sie entscheiden, was Sie mit ihnen machen wollen.
  • Stellen Sie sicher, dass Sie risikobasiert vorgehen: Führen SieÜbungen zur Bedrohungsmodellierung durch, um Prioritäten zu setzen, was mit welchem Geheimnis zu tun ist.
  • Wenn Sie zu spät zur Party kommen und eine Menge Geheimnisse herumliegen haben, machen Sie sich keine Sorgen: Teilen Sie sich die Arbeit in kleine Stücke auf, und vor allem: Fangen Sie an!

Wenn Sie Fragen, Anmerkungen oder Ergänzungen haben, zögern Sie nicht, uns zu kontaktieren!

Weitere Lektüre

 

Verfasst von

Jeroen Willemsen

Typical security jack-of-all-trades. Hands-on security architect with a nack for security, automation, and risk management. Jeroen has been involved in various OWASP projects. He enjoys a pentest every now and then, while helping organizations to get secure enough. Jeroen is often engaged in knowledge sharing through talks, blogs, projects at github, and trainings. Want to reach out? Check his allmylinks page.

Contact

Let’s discuss how we can support your journey.