top of page

Protect: Secrets Management

Dieser Blogpost befasst sich mit dem Thema Secrets Management. Er soll als kurze Einführung in das Thema dienen und die Kern-Eigenschaften und Vorteile von Secrets Management beschreiben.

Doch, zu aller erst sollten wir vielleicht mit der Definition des Begriffes „Secret“ beginnen. Was ist eigentlich ein Secret? Das Cambridge Dictionary definiert ein Secret als:

a piece of information that is only known by one person or a few people and should not be told to others

Also ein Stück Information, dass nur einer Person oder einer kleinen Personengruppe bekannt ist und dass nicht weitergegeben werden soll. Dabei handelt es sich um die Definition des Wortes Secret – oder Geheimnis – als Ganzes, diese lässt sich aber dennoch sehr gut direkt in die IT-Branche umlegen.

Secrets sind üblicherweise Informationen wie etwa beispielsweise Kryptografische Schlüssel, Passwörter oder Konfigurationsdateien, die zum Betrieb von Applikationen notwendig sind. Alle diese Beispiele haben eine Eigenschaft gemein: Ihr Verlust oder Diebstahl kann für ein Unternehmen schwerwiegende Konsequenzen haben. Im besten Fall müssen, bei einem Verlust, die betroffenen Applikationen mit neuen Secrets ausgestattet werden, im schlimmsten Fall folgt ein Cyberangriff und darauf hohe Strafzahlungen, ein Imageschaden und Insolvenz.

Nun da wir geklärt haben, was ein Secret ist, sollten wir uns ansehen wie Secrets in der Praxis eingesetzt werden. In modernen Unternehmen werden Applikationen über Continuous Integration (CI) und Continuous Deployment (CD) Prozesse ständig weiterentwickelt und automatisiert ausgerollt. In beiden Fällen bedingt dies, dass die Software die Tools im Hintergrund Zugriff auf die Secrets der jeweiligen Applikation haben. Wenn beispielsweise eine Applikation für ein vollständiges Deployment, Zugriff auf eine Datenbank benötigt, dann müssen diese Zugangsdaten ihren Weg in die Konfiguration der Anwendung finden.

In der Vergangenheit wurden die dazu nötigen Zugangsdaten oft direkt in der Versionskontrolle hinterlegt, ohne Kontrolle wer letztendlich darauf zugreifen kann, im Klartext lesbar und statisch. Diese Praxis gehört glücklicherweise größtenteils der Vergangenheit an, dennoch erkannten die Entwickler und Entwicklerinnen von CI/CD Software den Bedarf und implementierten Möglichkeiten in den jeweiligen Tools Secrets zu hinterlegen.

Bis vor wenigen Jahren war die Anzahl an Secrets in Software überschaubar. Verschlüsselung von http Web-Traffic mittels Transport Layer Security ist etwa erst seit wenigen Jahren wirklich der überwiegende Standard. Durch den, in den letzten Jahren rapide gestiegenen, Bedarf an Sicherheit zeigen sich allerdings mittlerweile die Limitierungen dieser Implementierungen. Secrets in CI/CD Tools abzulegen führt etwa oft dazu, das verschiedenste Konfigurationen über zig Server verteilt sind, insbesondere wenn mit verschiedenen Abnahme- und Testsystemen gearbeitet wird. Ein gemeinsamer Standard fehlt ebenso wie eine zentrale Verwaltung, um gegebenenfalls verlorene Secrets zu ändern.

Hier kommt nun Secrets Management ins Spiel. Secrets Management beschreibt eine Kategorie von Software, ebenso wie eine Praxis mit sensiblen Daten umzugehen. Anstatt, wie bisher, Secrets direkt in den Systemen abzulegen, die sie konsumieren, wird ein zentralisierter Ansatz gewählt. Eine Plattform um alle Secrets gesammelt verwalten zu können. Mit einheitlichen Schnittstellen für alle Konsumenten. Die Vorteile sind mannigfaltig. Wenn alle Secret-Konsumenten von ein und derselben Stelle Secrets beziehen, dann bedeutet das, dass Änderungen nur einmal durchgeführt werden müssen. Wo in der Vergangenheit dasselbe Passwort für einen Deployment Server auf drei verschiedene Tools verteilt war, ist nun auf diesen Tools nur mehr eine Referenz auf die Secrets Management Plattform. Wo in der Vergangenheit TLS-Zertifikate über eine, oftmals selbstentwickelte, Lösung bereitgestellt werden mussten, gibt es jetzt eine zentrale, offene Schnittstelle über die dies klar kontrolliert und unbestreitbar aufgezeichnet übernimmt.

Doch Secrets Management kann noch mehr als einfach nur sensible Daten zentral ablegen.

Moderne Secrets Management Lösungen bieten etwa Schnittstellen-Integrationen für Datenbanken, Cloud- oder Identitätsprovider an um dynamisch, nach Bedarf Zugänge zu generieren. Das bedeutet, das eine Applikation, die auf eine Datenbank zugreifen muss, nicht mehr statisch mit dem immer gleichen Passwort ausgerollt wird, sondern jedes Mal ein neues Passwort bekommt – ein enormer Sicherheitsgewinn.

Genauso können für Deployments temporär Zugänge in unterstützten Clouds generiert werden, so kann verhindert werden, dass Hacker Zugangsdaten, die eigentlich für Deployments vorgesehen sind, klauen um dann für betroffene Unternehmen hohe Cloud Kosten zu verursachen.

Die Vorteile von Secrets Management sind wie beschrieben also groß, doch nun stellt sich die Frage, ist es nicht ein Risiko, alle Secrets an einem Ort zu haben? Was passiert, wenn ich nun doch gehacked werde?


Eine berechtigte Frage, kein Stück Software ist perfekt und Sicherheit in der IT-Branche funktioniert nur über einen sogenannten „Defense-in-Depth“ Ansatz. Defense in Depth bedeutet, mehrere Sicherheitsmechanismen zu kombinieren, um ein möglichst breites Spektrum an Sicherheitsanforderungen abzudecken. Liegt dasselbe Secret verteilt auf drei Systemen ist es nur so sicher, wie das schwächste System. Während Secrets Management Plattformen genau eine Aufgabe haben und rigoros getestet werden, übernehmen CI/CD Systeme oft mehrere Aufgaben auf einmal (etwa auch Secrets Management) um ein möglichst breites Einsatzspektrum abzudecken. Leider hat die Vergangenheit gezeigt, dass Sicherheit hier oftmals nicht die höchste Priorität hat.


Derzeitiger Spitzenreiter im Bereich Secrets Management ist HashiCorp Vault, welches damit auch die klare Empfehlung von FullStackS ist. Vault vereint sämtliche oben genannte Features: Sichere Software, eine Vielzahl von Schnittstellen-Integrationen, sowohl in Vault selbst, als auch auf externen Plattformen, sowie einen hohen Grad an Automatisierbarkeit durch Tools wie Terraform.


Zusätzlich ist Vault in der Lage selbst große Multi-Cloud Architekturen und Cloud-Native Systeme zu unterstützen, in dem etwa Vault Secrets in die jeweils nativen Hyper-Scaler Key- und Secrets-Management Systeme synchronisiert werden können. Also rundum ein komplettes Paket, welches sich als Industrie- und Branchenstandard im Bereich Secrets Management etabliert hat.

29 Ansichten

Aktuelle Beiträge

Alle ansehen

コメント


bottom of page