DevOps
Die Bedeutung von Maschinenidentitäten im Zeitalter der digitalen Transformation

Risiko- und Aufwandsminimierung beim Schlüssel- und Zertifikatsmanagement
Von Kevin Bocek, VP Security Strategy und Threat Intelligence bei Venafi

In der fortschreitenden digitalen Transformation führen PCs und Cloud Computing-Umgebungen zu beispiellosen Verbesserungen der Unternehmenseffizienz. Unternehmen erhöhen gleichzeitig ihre Abhängigkeit von Maschinen. Dadurch wächst die Anzahl der Maschinen exponentiell. Die digitale Zukunft besteht aus Dienstnetzen, Micro Services, Containern und Funktionen, die alle über die Clouds hinweg funktionieren. Sie wird viele weitere Maschinenidentitäten mit sich bringen. Um sicher kommunizieren zu können, benötigt jeder PC eine eindeutige Identität, die vertrauenswürdig ist, den Richtlinien entspricht und vor Angriffen schützt. Die Fähigkeit von Organisationen, diese Maschinenidentitäten zu schützen, hält jedoch nicht mit dem Tempo dieser Entwicklung Schritt.
Unternehmen, die in einem Multi-Cloud-Modell arbeiten, benötigen eine Reihe von standardisierten, gemeinsamen Diensten, um Konsistenz, Agilität und Geschwindigkeit zu erreichen. Da sich die Auswirkungen des Cloud-Betriebsmodells auf die Abteilungen in den Bereichen Infrastruktur, Sicherheit, Netzwerk und Anwendungen auswirken, sehen wir ein sich wiederholendes Muster bei den Unternehmen, sich auf Cloud- und umgebungsunabhängige Plattformdienste zu verlassen, um die dynamische Infrastruktur bereitzustellen, die für eine sichere Anwendungsbereitstellung erforderlich ist.
Ziel muss es sein, Hersteller zu finden, die gemeinsam eine konsistente Plattform bereitstellen wollen. Sie soll es den Abteilungen ermöglichen, sich schnell und sicher zu bewegen und gleichzeitig Wahlfreiheit und Agilität bei der Auswahl der Anwendungen zu gewährleisten. Das ist eine bewährte Blaupause für den Erfolg.
Bedeutung von Maschinenidentitäten
Maschinenidentitäten, wie X.509-Zertifikate, haben sich für Sicherheitsabteilungen schon immer als problematisch erwiesen. Zum einen gehört Cybersicherheit nicht zu den Kernkompetenzen von Anwendungs- und Betriebsabteilungen. Zum anderen haben Sicherheitsabteilungen allzu oft Mühe, Maschinenidentitäten mit einem ineffizienten Durcheinander von Tabellenkalkulationen und Schnittstellen von internen PKIs und Zertifizierungsstellen (CAs) zu bewahren, die keine Transparenz über ihre IT-Umgebungen bieten.
Sicherheitsverantwortliche müssen sich auch Gedanken darüber machen, ob das Anwendungs- und Betriebsabteilungen Fehler machen oder Richtlinien ignorieren könnte. Dies hat zu Unbekannten geführt, die sich in kostspielige zertifikatsbedingte Ausfälle verwandeln, wie sie bei LinkedIn, O2, Softbank, Microsoft Azure und vielen anderen zu beobachten waren. Darüber hinaus werden massive Datenverstöße wie der von Equifax im Jahr 2017 häufig durch nicht verfolgte, ablaufende Zertifikate, die blind für Angriffe sind, verschlimmert.
Der Übergang zu Containern, Mikrodiensten und Infrastruktur als Code bringt auch neue Herausforderungen mit sich, die spezifisch für Maschinenidentitäten sind. Die dynamische Natur der Infrastruktur erschwert die Aufgabe der eindeutigen Identifizierung, Autorisierung und Sicherung der Kommunikation zwischen physischen und virtuellen Maschinen. Die schnelle Bereitstellung, Änderung und Aufhebung ihrer Identitäten erhöht die Herausforderung, die Kommunikation zwischen Cloud-Workloads sicher zu halten, exponentiell.
Da Maschinen heutzutage dazu verwendet werden, fast jeden Aspekt unserer globalen digitalen Wirtschaft zu kontrollieren, ist die Notwendigkeit, die Integrität der Kommunikation zwischen Maschinen zu erstellen, zu installieren, schnell zu bewerten und sicherzustellen, von entscheidender Bedeutung und muss sofort skalierbar sein. Die meisten Organisationen verfügen schlicht und einfach nicht über die Technologie oder Automatisierung, die für die genaue Überwachung und den Schutz der riesigen Anzahl von Maschinenidentitäten erforderlich sind, die Unternehmen heutzutage benötigen.
Echtzeit-Durchsetzung und Sichtbarkeit von Richtlinien
Sicherheitsabteilungen müssen jederzeit wissen, worauf sie sich verlassen können und worauf nicht, um Maschinenidentitäten in dynamischen Umgebungen wirksam zu schützen. Folglich muss die intelligente Durchsetzung von Richtlinien automatisiert und in die von den Anwendungsentwicklungsteams verwendeten Tools eingebettet werden. Durch die Verlagerung von Maschinenidentitätsprozessen, die in der Vorproduktionsphase belassen werden, und die direkte Einbindung in automatisierte DevOps-Workflows können Sicherheitsabteilungen die Kontrolle über X.509-Zertifikate in vollständig automatisierten Umgebungen zurückgewinnen.
Abbildung 1: Vergangenheit und Zukunft der wichtigsten drei Maßnahmen für Sicherheitsabteilungen (Quelle: https://www.hashicorp.com/resources/protecting-machine-identities-blueprint-for-the-cloud-operating-model/#executive-summary)
Die Herangehensweise an die Software-Entwicklung hat sich in den letzten zehn Jahren dramatisch entwickelt. Mit diesem Wandel müssen sich auch die Prozesse für X.509-Zertifikate weiterentwickeln. Es ist wichtig, dass sich diese Prozesse von menschenbasierten Prozessen zu solchen entwickeln, die mit Hilfe von Code automatisch gesteuert, gewartet und ausgeführt werden.
Die Entwickler sind jetzt die erste Verteidigungslinie und tragen gemeinsam die Verantwortung für die Einhaltung der Richtlinien des Sicherheitsteams. Daher sollten sich die Entwickler, anstatt einen zusammengesteckten Sicherheitsansatz zu verfolgen, auf einen zentralisierten gemeinsamen Dienst verlassen, der vom Sicherheitsteam bereitgestellt wird, um Geschwindigkeit und Einhaltung der Sicherheitsrichtlinien des Unternehmens zu erreichen.
Abbildung 2: Vergangenheit und Zukunft der wichtigsten drei Maßnahmen für DevOps-Teams (Quelle: https://www.hashicorp.com/resources/protecting-machine-identities-blueprint-for-the-cloud-operating-model/#executive-summary)
Plattform-Beispiel I: HashiCorp Vault und Venafi
Die beiden Anbieter liefern Plattformen, mit denen DevOps-Teams und Sicherheitsabteilungen Infrastruktur und Anwendungen sicher und mit der Geschwindigkeit aufbauen, absichern und verbinden können, die die heutigen DevOps-Teams erwarten. Anwendungsentwicklungsabteilungen müssen sich nicht mehr mit den Details von X.509-Zertifikaten befassen, wenn sie einen gemeinsamen Dienst in Anspruch nehmen. Sicherheitsabteilungen sorgen für eine intelligente Richtliniendurchsetzung, so dass ihre Verantwortung für die Einhaltung von Richtlinien und den Schutz vor Bedrohungen gegenüber dem Unternehmen und den Kunden stets erfüllt wird.
Als gemeinsamer Service über Clouds hinweg liefert die Plattform konsistente Arbeitsabläufe für die Bereitstellung, Sicherung, Verbindung und den Betrieb jeder Infrastruktur für jede Anwendung. Die beiden Plattformen werden genutzt, um Maschinenidentitäten zu schützen, indem Transparenz, Intelligenz und Automatisierung für X.509-Zertifikate auszuliefern.
Ohne Richtlinien als Code greifen Organisationen zur Genehmigung von Änderungen auf einen Ticket-basierten Überprüfungsprozess zurück. Dies führt dazu, dass Entwickler wochenlang oder länger auf die Bereitstellung der Infrastruktur, einschließlich der Maschinenidentitäten warten müssen, was zu einem Engpass wird. Dies ermutigt Entwickler, Maschinenidentitäten außerhalb der Sicherheitskontrollen des Unternehmens zu beschaffen. Dies führt nicht nur zu Konformitäts- und Sicherheitsrisiken (weil Maschinenidentitäten ablaufen und oft nicht mehr verfolgt werden), sondern kann auch zu lähmenden Ausfällen aufgrund des Ablaufs von Zertifikaten führen.
Durch die Definition von Maschinenidentitäten und Richtlinien im Code stammen ihre Anforderung, Ausgabe und ihr Lebenszyklus immer aus genehmigten PKI-Quellen, so dass Sicherheitsteams darauf vertrauen können, dass sie in der Lage sind, Richtlinien kontinuierlich durchzusetzen und die Transparenz aufrechtzuerhalten.
Eine dynamische Cloud-Infrastruktur bedeutet eine Verlagerung von einer host-basierten Identität hin zu einer maschinenbasierten Identität, mit Low- oder Zero-Trust-Netzwerken über mehrere Clouds hinweg ohne klare Netzwerkgrenzen. In der traditionellen Sicherheitswelt gingen wir davon aus, dass interne Netzwerke ein hohes Vertrauen genießen, was zu einer harten Schale und einem weichen Inneren führte. Mit dem modernen „Zero Trust"-Ansatz ist es wichtig, auch das Innere zu verhärten. Dies erfordert, dass Maschinen explizit authentifiziert und autorisiert werden, bevor sie Geheimnisse abrufen und sensible Operationen durchführen können, wobei sie streng geprüft werden müssen.
Die Lösung Vault ermöglicht es Abteilungen, Token, Passwörter, Zertifikate und Verschlüsselungsschlüssel, die zum Schutz der Maschinen benötigt werden, sicher zu speichern und den Zugriff streng zu kontrollieren. Dies bietet eine umfassende Lösung zur Verwaltung von Geheimnissen. Sie verwendet Richtlinien, um zu kodifizieren, wie sich Anwendungen authentifizieren, welche Anmeldedaten sie verwenden dürfen und wie Audits durchgeführt werden sollen. Dabei kann sie sich auch wie eine CA verhalten, um dynamische, kurzlebige Zertifikate für die sichere Kommunikation mit TLS bereitzustellen. Dies ist besonders nützlich in Anwendungsfällen mit geringer Latenz und hohem Durchsatz bei der Maschinenidentität.
Abbildung 3: Vor und nach Vault und Venafi X.509 Zertifikatsausstellung (Quelle: https://www.hashicorp.com/resources/protecting-machine-identities-blueprint-for-the-cloud-operating-model/#executive-summary)
Für Sicherheitsabteilungen bietet sie die Möglichkeit, Richtlinien zu implementieren, ohne die DevOps zu behindern oder zu verlangsamen. Ohne zentralisierte Sichtbarkeit und Kontrolle der in allen Instanzen verwendeten Richtlinien wird die autonome Ausstellung von X.509-Zertifikaten jedoch oft als höheres Risiko angesehen.
Plattform Beispiel II: HashiCorp Terraform
Ein weiteres Beispiel ist HashiCorp Terraform Dabei handelt es sich um eine Open-Source-Infrastruktur als Code-Software-Tool. Sie ermöglicht es, Infrastruktur als Code auszudrücken. Dieser Zustand wird in einer einfachen, von Menschen lesbaren Sprache übersetzt. Die Open-Source-Infrastruktur verwendet diese Sprache, um einen Ausführungsplan für Änderungen zu erstellen, der auf Sicherheit überprüft und dann zur Durchführung von Änderungen angewendet werden kann. Unternehmen ermöglicht sie die Verwaltung einer breiten Palette von Ressourcen, einschließlich Hardware, IaaS, PaaS und SaaS-Diensten.
Der Infrastruktur-als-Code-Ansatz zur Automatisierung der Cloud-Infrastruktur ermöglicht es Unternehmen, die Lösung für die Bereitstellung und Verwaltung im Cloud-Betriebsmodell zu erweitern. Es reduziert die Risiken, denen Unternehmen ausgesetzt sind, wenn sie mehr Daten und Anwendungen aus der Cloud nutzen. Der Mangel an IT-Governance im verteilten Betriebsmodell erhöht jedoch die Risiken für die Sicherheit, die Einhaltung von Vorschriften und die betriebliche Konsistenz.
Beispiele für Sicherheitsbedenken sind:
- Einschränkung von App-Versionen mit Schwachstellen
- Ressourcen mit einer öffentlichen IP-Adresse einschränken
- Verhinderung von Sicherheitsgruppen mit Ausstieg 0.0.0.0
- Verwendung auf nur genehmigte Module beschränken
Ein Beispiel für die eingehaltenen Vorschriften:
- DSGVO-Vorschriften
- FedRamp-Regelungen
- HIPAA-Vorschriften
- PCI-Normen
Beispiele für operative Belange:
- Sicherstellen, dass die Infrastruktur organisationsbasierten Best Practices folgt
- Verwaltung und Kontrolle der Ausgaben und des Wachstums von Clouds und Diensten
Traditionelle Ansätze zur Verhinderung von Verstößen sind in der Idee verankert, dass die IT der Wächter zur Infrastruktur ist. Die Richtlinien sind nicht kodifiziert, sondern innerhalb des IT-Teams bekannt. Wenn eine Richtlinie durchgesetzt wird, dann wird sie von dieser Gatekeeper-Organisation manuell durchgesetzt. Dieser Ansatz behindert die Geschwindigkeit und die Vorteile, die die Cloud-Infrastruktur den Unternehmen durch die Selbstbedienung der Entwickler bietet. Einige Teams automatisieren die Richtliniendurchsetzung, tun dies jedoch durch Scans, die nach der Bereitstellung der Infrastruktur durchgeführt werden. Dadurch werden Risikopotenziale eröffnet, während die nicht konforme Infrastruktur bereits existiert, bevor sie gescannt wird.
Durch die Integration mit Venafi profitieren Unternehmen beispielsweise von reduzierten Risiken, weniger Aufwand beim Beantragen und Installieren von Schlüsseln und Zertifikaten mit nativer Terraform-Integration. Weitere Vorteile sind die Entwicklung im elastischen Maßstab ohne die Zwänge traditioneller Zertifikate-Pipelines und die automatisierte Nutzung von HTTPS mit richtliniengestützter Entscheidungsfindung in der Cloud. Die Zertifikatausgabe-Pipeline ist mit nativer Integration schnell verfügbar, automatisiert sichere Lebenszyklus-Schlüssel- und Zertifikatsoperationen und native DevOps-Workflows für kontinuierliche die Dienstbereitstellung und Automatisierung.
Um gemeinsam genutzte Dienste für die Infrastrukturbereitstellung über Clouds hinweg zu erreichen, müssen DevOps-Teams im Code reproduzierbare Infrastruktur als Code Practices definieren. In Kombination mit Venafi baut Terraform eine Infrastruktur mit Maschinenidentitäten auf, die den Richtlinien und der von Sicherheitsabteilungen geforderten Konformität entsprechen.
Abbildung 4: Terraform mit Venafi Aufbau einer Infrastruktur zur Kontrolle und Übersicht über Maschinenidentitäten (Quelle: https://www.hashicorp.com/resources/protecting-machine-identities-blueprint-for-the-cloud-operating-model/#executive-summary)
Ohne Richtlinien als Code greifen Unternehmen zur Genehmigung von Änderungen auf einen Ticket-basierten Überprüfungsprozess zurück. Dies führt dazu, dass Entwickler wochenlang oder länger auf die Bereitstellung der Infrastruktur, einschließlich der Maschinenidentitäten, warten müssen. Dies führt dazu, dass die Teams sich Zugriff auf Maschinenidentitäten außerhalb der Sicherheitskontrollen des Unternehmens verschaffen, zumeist auch noch kostenlos von nichtvertrauenswürdigen Zertifizierungsstellen. Durch die Definition von Maschinenidentitäten und Richtlinien im Code stammen ihre Anforderung, Ausgabe und ihr Lebenszyklus immer aus genehmigten PKI-Quellen, so dass Sicherheitsteams darauf vertrauen können, dass sie in der Lage sind, Richtlinien kontinuierlich durchzusetzen und die Transparenz aufrechtzuerhalten.
Fazit
Für Sicherheitsabteilungen heißt dies, dass sie Vertrauen darin haben, dass ihr Unternehmen in der Multi-Cloud-Umgebung abgesichert ist. Für DevOps-Teams war die Beschaffung und Verwendung von Maschinenidentitäten wie X.509 TLS-Schlüssel und -Zertifikate bisher eine notwendige, aber umständliche Anforderung. Sicherheitsabteilungen können nun einen Unternehmensdienst über private und öffentliche Wolken hinweg anbieten.