Verbesserte Sicherheit mit weniger Aufwand ist kein Widerspruch!

Wie ein einziges Produkt Deine allgemeine Sicherheitslage drastisch verbessern und die operativen Sicherheitsaktivitäten vereinfachen kann.

Autor: Jakob Beckmann

Security Operations in grösseren Unternehmen erfordern ein hohes Mass an manueller Arbeit, die kostenineffizient und fehleranfällig ist. Mit HashiCorp Vault kannst Du diese Aufgaben automatisieren und die Sicherheit durch fortschrittliche Credential- und Key-Management-Techniken umfassend verbessern. Dadurch können Unternehmen die Kosten für ihre operativen Sicherheitsteams senken, die Zuverlässigkeit und Standardisierung sicherheitsorientierter Prozesse verbessern und Raum für innovative Lösungen in modernen Umgebungen schaffen. Was Vault genau ist, wo es zum Einsatz kommt und wie es sich von anderen Security Produkten unterscheidet, erfährt ihr in diesem Grundlagentext.

Was ist ein Vault?

Heutzutage besteht die operative Sicherheit aus vielen hochgradig manuellen Aufgaben. So benötigen die meisten Anwendungen Zertifikate, um eine sichere Kommunikation mit Clients zu ermöglichen oder sich sogar gegenüber umliegenden Systemen zu authentifizieren. Solche Zertifikate und die dazugehörigen privaten Schlüssel sind hochsensible Informationen, die in der Regel nur eine begrenzte Gültigkeitsdauer haben. Daher müssen Prozesse vorhanden sein, die die Verwaltung dieser Zertifikate ermöglichen. Die Aufgabe, die Lebensdauer von Zertifikaten zu überwachen, sie vor Ablauf zu ersetzen oder sie im Falle einer Kompromittierung von einem zentralen Trust zu widerrufen, wird in der Regel von Hand erledigt. Dies bedeutet für grosse Unternehmen nicht nur viel Arbeit, sondern jenes ist auch fehleranfällig und kann unsicher sein. Ein weiteres Beispiel wäre die allgemeine Aufgabe der Konfiguration von Anwendungs-Credentials während der Deployment-Prozesse. Dies beinhaltet in der Regel die manuelle Erstellung von Credentials, die dann von einem Systemadministrator im Deployment-Prozess konfiguriert werden. Mit anderen Worten: Es gibt in der Regel eine Person oder eine Gruppe von Personen, die Credentials manuell in Systemen speichern muss und Zugang zu allen Anmeldedaten in den Organisationen hat. Dies ist nicht nur aus Sicherheitsgründen problematisch, sondern auch teuer und fehlerbehaftet.

Vaults, oder manchmal auch "Secret Managers" genannt, sind Softwarekomponenten, die die automatische Verwaltung von Secrets für andere Anwendungen ermöglichen. Es handelt sich dabei um spezialisierte Komponenten, die Funktionen wie die Verwaltung, das Abrufen und Überprüfen von Zugangsdaten auf sichere und skalierbare Weise ermöglichen. Während die Verwaltung von Credentials ihr Hauptanwendungsfall ist, bieten viele Vaults zusätzliche Funktionen wie Zertifikatsverwaltung. Eine solche Funktion bietet in der Regel PKI-ähnliche Funktionen zum Ausstellen und Widerrufen von Zertifikaten und zur Verwaltung von kryptografischem Schlüsselmaterial für Anwendungsfälle wie "Bring your own key" (BYOK)-Integrationen für öffentliche Cloud-Anbieter. Der typische Mehrwert der Verwendung von Vaults liegt in ihrer Fähigkeit, sicherheitsrelevante Prozesse zu verbessern und den Schutz vertraulicher Daten zu erhöhen.

Obwohl Vaults in der Regel benutzerfreundliche Schnittstellen zur Verwaltung ihrer Nutzung bieten, liegt ihr Hauptvorteil in der Automatisierung, die sie durch programmatischen Zugriff ermöglichen. RESTful APIs ermöglichen es anderen Softwarekomponenten, mit dem Vault zu interagieren und so entweder die Verwaltung des Vaults zu automatisieren oder die erforderlichen Anmeldedaten abzurufen, die vom Vault verwaltet werden. Ein Beispiel für einen solchen Fall wäre das automatische Abrufen und Rotieren von Zertifikatsmaterial in hochdynamischen Umgebungen wie Kubernetes.

Warum Vaults?

Immer mehr Unternehmen führen Vaults in ihren Applikationslandschaften ein, um die Speicherung und Verteilung von Secrets auszulagern. Dies hat mehrere Vorteile gegenüber der Speicherung der Secrets in der Anwendung selbst. In erster Linie ist es weniger fehleranfällig als die Implementierung der Logik in der Applikation, wenn eine spezielle und spezialisierte Software mit solch hochsensiblen Informationen umgehen kann. Zweitens wird das Deployment der Anwendung durch eine Standardisierung bei der Einspeisung von Credentials vereinfacht. So kann die Anwendung geografisch verteilt eingesetzt werden, ohne dass hochkomplexe Mechanismen zur Verteilung oder Synchronisierung von Secrets erforderlich sind. Schliesslich bieten Vaults in der Regel zusätzliche Funktionen, wie z. B. die automatische Rotation von Secrets, die den manuellen Verwaltungsaufwand für die Sicherheit von Anmeldedaten verringern.

Eine solche Integration eines Vaults ermöglicht Unternehmen eine bessere Basissicherheit für alle Projekte und bietet einen zentralen Knotenpunkt zur Durchsetzung normativer Sicherheitsanforderungen in der gesamten Softwarelandschaft. Es sollte jedoch erwähnt werden, dass die Integration eines Vaults zur Bewältigung einer solch zentralen Aufgabe Komplexität und das Potenzial für einen größeren Verfügbarkeitsengpass mit sich bringt.

Warum HashiCorp?

Es gibt viele Vault Anbieter, unter denen sich HashiCorp Vault als De-facto-Standard positioniert hat. Während andere Vaults in der Regel Cloud-spezifisch sind (z. B. Azure Key Vault), ist HashiCorp Vault vollständig Cloud-unabhängig und kann überall eingesetzt werden. Alternativen wie Privileged-Access-Management- oder Passwortmanagement-Lösungen bieten nicht die Vielfalt an Funktionen, die HashiCorp Vault bietet, und können daher die Sicherheitsanforderungen der meisten Unternehmen nicht umfassend abdecken. Beispiele für Funktionen, die in HashiCorp Vault standardmäßig integriert sind:

  • Statische Verwaltung von Secrets, einschliesslich deren Versionierung und compare-and-swap-ähnlichen Operationen.
  • Dynamische Erzeugung von Secrets für Dienste wie Datenbanken, Cloud-Anbieter, Messaging-Queues, SSH und andere.
  • Lease-Management für alle ausstehenden Secrets, mit verschiedenen Widerrufsmechanismen.
  • PKI-Funktionen zur Ausstellung signierter Zertifikate bei Bedarf, einschliesslich anderer Schlüsselverwaltungsdienste.
  • Encryption as a Service, mit verschiedenen Verschlüsselungsfunktionen wie konvergente Verschlüsselung, Signierung, BYOK und mehr.

Darüber hinaus bietet HashiCorp Vault eine Vielzahl von Authentifizierungsmethoden, um Clients die Authentifizierung mit Plattformidentitäten von Cloud-Anbietern, Kubernetes, SSO-Anbietern, Active Directory, Kerberos und vielen anderen zu ermöglichen. Dies macht Vault zu einer unglaublich flexiblen Software, die in Organisationen integriert werden kann, ohne dass die Identitäten auf den umgebenden Systemen neugestaltet werden müssen. Darüber hinaus bietet es zusätzliche technische Funktionen, wie eine Vielzahl von Speicher-Backends und Metrik-Typen, um die Integration, den Betrieb und die Überwachung der Komponente noch weiter zu erleichtern.

Schliesslich handelt es sich bei HashiCorp Vault im Gegensatz zu fast allen Alternativen um eine Open-Source-Software, die in einer lizenzierten Enterpriseversion Support und einige zusätzliche Funktionen bietet. Daher können Unternehmen, die keine erweiterten Funktionen von Vault benötigen und auf den Support verzichten können, HarshiCorp Vault kostenlos nutzen.

Wer nutzt es?

Wir haben eine Vielzahl von Kunden, die Vault in unseren Kernbranchen von Government, Banken und Versicherungen nutzen. Die Anwendungsfälle der einzelnen Kunden sind unterschiedlich, aber die meisten beginnen ihre Reise mit der Integration von Vault in den Deploymentprozess. Dadurch wird sichergestellt, dass alle Anmeldeinformationen zentral in einer verwalteten Vault-Instanz gespeichert und dann bei dem Deployment in die Anwendungen injiziert werden. Der Vorteil einer solchen Lösung besteht darin, dass der Zugriff auf die im Vault gespeicherten Anmeldeinformationen von den Entwicklerteams isoliert ist. Dadurch sinkt die Wahrscheinlichkeit, dass Anmeldeinformationen verloren gehen oder Fehler bei der sicheren Handhabung dieser auftreten. Darüber hinaus wird die Verwaltung aller Berechtigungsnachweise in einer einzigen Komponente zentralisiert. Dies ermöglicht eine bessere Beobachtung und Prüfung der Verwendung von Secrets durch Anwendungen und Administratoren. Leider ist dies zwar ein Schritt in die richtige Richtung, aber viele der Funktionen, die Vault bietet, werden nicht genutzt, obwohl sie die Sicherheit drastisch weiter verbessern würden.

Kunden, die etwas mehr Erfahrung mit Vault haben, nutzen bereits dynamische Credentials, um Anwendungen mit kurzlebigen Anmeldeinformationen für umliegende Dienste auszustatten oder sogar menschlichen Benutzern einen einmaligen Zugriff auf bestimmte Ressourcen zu ermöglichen. Obwohl die Komplexität und der Aufwand solcher Lösungen im Vergleich zu einfacheren Integrationen zunehmen, haben sie einen wesentlich größeren Einfluss auf die Sicherheitslage eines Unternehmens. Indem die Lebensdauer von Credentials sehr kurzgehalten wird, kann das Risiko durch den Verlust von Zugangsdaten im Wesentlichen vermieden werden. Darüber hinaus ermöglicht dies eine genauere Kontrolle aller in der Organisation vorhandenen aktiven Credentials und bietet die Möglichkeit, Anwendungen oder Dienste über ein zentrales System, den Vault, auf Autorisierungsebene zu isolieren. Ein Beispiel für einen solchen Anwendungsfall ist in der nachstehenden Abbildung zu sehen:

blogpost-diag.png

Der fortschrittlichste Anwendungsfall, den wir derzeit bei unseren Kunden sehen, ist schliesslich die vollständige Schlüsselverwaltung. So verwenden Unternehmen Vault beispielsweise als zwischengeschaltete Zertifizierungsstelle über die PKI Secret Engine. Dies ermöglicht die vollautomatische Ausstellung von Zertifikaten in hochdynamischen Umgebungen (wie z. B. Kubernetes oder Red Hat OpenShift), wobei die volle Kontrolle über die ausgestellten Zertifikate, im Vergleich zu anderen Lösungen wie z. B. cert-manager, erhalten bleibt. Der Betrieb von Vault auf diese Weise bietet eine Fülle von Optionen, die in dynamischen Umgebungen nur sehr schwer zu implementieren sind, wie z. B. Cross-Service mTLS.

In anderen Worten haben wir Kunden, die mit unserer Hilfe bereits Dutzende von hochverfügbaren Vault-Clustern betreiben, die Credentials im gesamten Unternehmen verwalten. Gleichzeitig stehen andere erst am Anfang ihrer Reise und betreiben lediglich einen kleinen Cluster, der nur für ein paar Entwicklungsteams verfügbar ist.

Wie sieht die Zukunft aus?

Nach dem, was wir derzeit in der Branche sehen können, sieht es so aus, als ob HashiCorp Vault in grossen Organisationen noch mehr an Bedeutung gewinnen wird. Wir gehen davon aus, dass Vault mehr und mehr Sicherheitsverantwortung übernehmen wird und dass Organisationen, die Vault bereits nutzen, es weiter in ihre Softwarelandschaft integrieren werden, wenn sie mehr Erfahrung mit dem Produkt sammeln.

Darüber hinaus ist Vault ein Produkt, das nach wie vor schnell und aktiv weiterentwickelt wird und dessen neue Funktionen sehr regelmässig veröffentlicht werden. Dies deutet darauf hin, dass Vault in der Lage sein könnte, in Zukunft noch umfassendere Aufgaben zu übernehmen. Wir bei ipt glauben an die langfristige Vision von Vault, so sehr, dass wir sogar zu diesem Open Source Projekt beitragen. Zum Beispiel haben wir verschiedene Features der Kubernetes Secrets-Engine, die mit Vault Version 1.11 veröffentlicht wurde, mitentwickelt und helfen ebenfalls bei der Behebung von Bugs und Issues.

Wenn Du Fragen zu Vault hast oder daran interessiert bist, wie es die Sicherheit in Deiner Organisation verbessern könnte, zögere bitte nicht, uns zu kontaktieren.

Dein ipt-Experte

Ich freue mich auf Deine Kontaktaufnahme