Credential Management im DevOps-Bereich Hashicorp Vault bei den Schweizerischen Bundesbahnen

Von M.A. Jürgen Höfling |

Anbieter zum Thema

Rund 1.000 Applikationen, die von etwa 2.000 Entwicklern programmiert und gepflegt werden, bilden derzeit das IT-Gerüst der Schweizerischen Bundesbahnen. Die Verwaltung der Anmeldedaten verlangt dabei hohe Sicherheitsstandards, die mit „Hashicorp Vault“ erfüllt werden. Auf der Konferenz „Hashiconf ´22“ in Amsterdam gab es dazu Einzelheiten.

„Hashicorp Vault“ ist ein Tresor für die Anmeldedaten der DevOps-Teams in den Multicloud-Umgebungen der SBB-IT.
„Hashicorp Vault“ ist ein Tresor für die Anmeldedaten der DevOps-Teams in den Multicloud-Umgebungen der SBB-IT.
(Bild: gemeinfrei: MasterTux / Pixabay)

Auf der Hashiconf 22 in Amsterdam (hier eine Zusammenfassung der Konferenz) dominierten bei den vorgestellten Anwendungsbeispielen naturgemäß die Schwergewichte in Industrie und im Dienstleistungssektor, die zunehmend ihre IT-Arbeitslasten in dynamischen Multi-Cloud-Umgebungen mit verschiedenen Anbietern abarbeiten.

Ein Beispiel dafür sind die Schweizerischen Bundesbahnen (SBB). Andreas Meister, präsentierte zusammen mit Michael Hofer vom Systemintegrator Adfinis das neu installierte „Credential Management System“ in der IT-Abteilung der SBB, das man auf der Basis der „Secrets-Management-Produkts“ Hashicorp Vault aufgesetzt hat.

„Secrets Management“ mit Hashicorp Vault

Hashicorp Vault stellt Mechanismen zum Sichern, Speichern und kontrollierten Zugriff auf Token, Kennwörter, Zertifikate und Schlüssel zum Schutz von granular definierten Zugangsberechtigungen und vertraulichen Daten für Benutzer- oder Geräte-Identitäten bereit. Bei Hashicorp spricht man in diesem Zusammenhang von „Secrets Management“.

Zu den Geheimnissen, die mit Vault verwaltet werden, gehören vertrauliche Umgebungsvariablen, Datenbankanmelde-Informationen, API-Schlüssel oder Anmelde-Informationen von Systemen.Hashicorp Vault umfasst die Funktionen Aufbewahrung und Verwaltung der Schlüssel, Schlüsselgenerierung sowie Inhaltsverschlüsselung von Daten sowie identitätsbasierter Zugang. Die jeweiligen Benutzer und Anwendungen können auf verschiedene Arten auf die Geheimnisse zugreifen: über eine Benutzeroberfläche, eine Befehlszeilen-Schnittstelle (Command Line Interface, CLI) oder eine HTTP-API.

Das klingt alles sehr aufwendig, doch der Aufwand wird nach Aussage von Andreas Meister und Michael Hofer durch intelligente Automatismen weitgehend von den Benutzern abgeschirmt. So sei der Entsiegelungsprozess von Vault, der unter anderem eine Zusammenführung von Teilschlüsseln, die nur gemeinsam den Safe entsperren, komplett automatisiert.

„Developer-First-Ansatz“

Warum benötigt man bei den SBB eine softwaretechnisch derart hochgezüchtete Verwaltung der unternehmenseigenen Geheimnisse im IT-Bereich, die zwar hochgradig automatisiert ist, aber doch auch hochgradig komplex?

Die SBB fahren eine Multi-Cloud-Strategie. Deshalb wird Vault auf zwei Clustern betrieben. Das aktive, das „Primary Cluster“, läuft verteilt über drei „Availability-Zonen“ auf AWS. Das zweite (passive) Cluster wird auf der privaten SBB Cloud, die von T-Systems betrieben wird, über zwei Availability-Zonen repliziert. Derzeit hat man rund 1.000 Applikationen, die man am Laufen halten und gleichzeitig absichern muss.

Die Zugriffsmöglichkeiten auf die Ressourcen, die eine Entwicklerin benötigt, sollen sich schnell, weitgehend automatisiert und komfortabel präsentieren, gleichzeitig aber hundertprozentig sicher gegen unberechtigte Zugriffe sein. „Natürlich gibt es entsprechende Security-Lösungen auch von den Cloud-Providern selbst - da haben wir uns auch umgesehen -, aber schlussendlich wollten wir eine Lösung, die unabhängig von den Providern funktioniert“, sagt Meister.

Andreas Meister ist der Product Owner im SBB Application Security Team.
Andreas Meister ist der Product Owner im SBB Application Security Team.
(Bild: privat)

Und er nennt die drei wesentlichen Kriterien, an denen sich die angestrebte Lösung orientieren sollte:

  • Zum einen muss die Lösung hochverfügbar sein, also kompromisslos für einen Rund-um-die Uhr-Betrieb geeignet sein,
  • zum anderen mit so vielen Funktionen ausgestattet sein, dass sie auch zukünftige Sicherheitsanforderungen erfüllen kann und
  • zum Dritten sollte sie sich ganz an der Denk- und Arbeitsweise der Entwicklerinnen orientieren.

„Viele der Security-Tools kommen ja aus der Security-, nicht aus der Entwickler-Ecke, uns war aber ein Developer-First-Ansatz wie wir ihn bei Hashicorp Vault gefunden haben, sehr wichtig“, sagt Meister. In den DevOps-Teams der SBB arbeiten rund 2.000 Entwickler an container-basierten Anwendungen auf der Basis von Kubernetes als „Container-as-a- Service-Framework“ sowie „Red Hat Openshift“ als Software, die dieses Framework noch sicherer und komfortabler für den Ablauf der jeweiligen Anwendungen macht.

Kein digitales „Herumschicken“ von Geheimnissen

Hashicorp Vault lässt sich nach den Worten von Meister „transparent in die Openshift-Plattform“ integrieren. Das habe man beim Testen sehr gründlich geprüft und überzeugend bestätigt bekommen. Wichtig war bei diesen Tests vor allem, dass mit dem Security-System ein sauberer Workflow aufgesetzt werden könne, dass also die jeweiligen Authentifizierungsdaten erfolgreich an die angesteuerten Zielobjekte, zum Beispiel: Datenbanken, Umgebungsvariablen und API-Schlüssel, übergeben und dadurch die angestrebten Zugriffe nahtlos ermöglicht werden.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu RZ- und Server-Technik

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

„Entwickler sind in großen Cloud-Projekten ja oft in Sorge, dass sie nicht vernünftig arbeiten können, weil sie in der System-zu-System-Kommunikation die notwendigen Secrets nicht oder zumindest nicht ruckelfrei, wenn ich es mal so nennen darf, zur Verfügung haben“, erläutert Meister. Er und sein Application Security Team konnten überzeugend demonstrieren, dass das hochsichere und automatisch ablaufende Vault-System durch die eingebauten Automatismen sich nahtlos in den täglichen Entwickler-Job einfügt. Das fahrlässige „digitale Herumschicken“ von Secrets, das in Entwicklerkreisen außerhalb der SBB immer noch oder immer mal wieder praktiziert werde, sei jedenfalls in den DevOps-Teams bei der SBB passé.

„Security-Champions“ in den DevOps-Gruppen

Trotz der vielen Vorteile, die ein Secrets Management mit Hashicorp Vault bringt, ist die Einführung eines solch mächtigen Systems kein Selbstläufer, machen Meister und Hofer vom Systemintegrator Adfinis deutlich. Letzterer verfügt über große Expertise in Sachen Vault und brachte diese auch regelmäßig in Schulungen der „Vault-Frontleute“ bei der SBB IT ein. Die Vorteile müssten gut kommuniziert werden, sind sich die beiden sicher.

Bei den DevOps-Teams der Schweizerischen Bundesbahnen funktioniert das über verschiedene Kanäle: Man hat Tutorien verfasst, hat auch einen Wiki-Kanal aufgebaut und arbeitet nicht zuletzt mit so genannten Security Champions in jeder Entwicklergruppe. Diese Spezialisten haben neben ihrer Tagesarbeit zusätzlich die Aufgabe, als Ansprechpartnerinnen in Sachen Vault bereitzustehen und dem Secrets Management bei den SBB quasi ein tägliches menschliches Gesicht zu geben.

Neben diesen organisatorischen und edukatorischen Aktivitäten gibt es bei den DevOps-Gruppen der SBB zusätzlich ein mit kleinen Prämien versehenes Schwachstellen-Meldesystem (Cloud Bug Bounty Program). „Falls doch einmal Leute ein Ticket im System sehen sollten, das sie nicht sehen sollten, könnten wir solche kleineren Schwachstellen dadurch schnell beheben“, freut sich Meister.

Cloud-Secrets zu den Applikationen bringen

Seite März 2022 ist Hashicorp Vault jetzt bei den DevOps-Teams der Schweizerischen Bundesbahnen produktiv. Im Moment hat man drei Applikationen durch das Security-System abgesichert. Bei diesen Applikationen handelt es sich um die Themenkreise Kundeninformation, Technische Steuerung und Zug-Management. Speziell das API-Management kommt dabei immer mehr in den Fokus und ist praktisch schon ein eigener (vierter) Use Case.

Ein großes Projekt ist auch das Self-Service-Portal für Entwicklerinnen und Entwickler. „Wir wollen die Cloud Secrets zu den Applikationen bringen“, sagt Meister. Und darüber hinaus sei zeitnah geplant, die Zugangsinformationen für die Datenbanken regelmäßig und dynamisch rotieren zu lassen.

Alle diese Anstrengungen kommen letztlich den Fahrgästen und den Frachtkunden der SBB zugute, und das sind sehr viele. Die SBB bewegen täglich über das Schienennetz knapp eine Million Passagiere und mehr als zweihunderttausend Tonnen Güter in mehr als zehntausend Zügen pro Tag.

Artikelfiles und Artikellinks

(ID:48539771)