Übersicht über die Sicherheit von Anthos Service Mesh
Die Sicherheit von Anthos Service Mesh hilft Ihnen, Insider-Bedrohungen abzuschwächen und das Risiko einer Datenpanne zu verringern, indem sichergestellt wird, dass die gesamte Kommunikation zwischen Arbeitslasten verschlüsselt ist, sich gegenseitig authentifiziert und autorisiert.
Bisher wurde die Mikrosegmentierung mit IP-basierten Regeln genutzt, um das Risiko der Datenweitergabe durch Insider zu verringern. Durch die Einführung von Containern, gemeinsam genutzten Diensten und verteilten Produktionsumgebungen über mehrere Clouds hinweg ist dieser Ansatz jedoch schwieriger zu konfigurieren und noch schwieriger zu pflegen.
Mit Anthos Service Mesh können Sie eine dienstkontextsensitive und anfragekontextsensitive Netzwerksicherheitsebene konfigurieren, die von der Sicherheit des zugrunde liegenden Netzwerks unabhängig ist. Aus diesem Grund können Sie mit Anthos Service Mesh eine gestaffelte Sicherheitsebene anwenden, die den Zero Trust-Sicherheitsgrundsätzen entspricht. Auf diese Weise können Sie diesen Sicherheitsstatus durch deklarative Richtlinien erreichen, ohne den Anwendungscode zu ändern.
Gegenseitiges TLS
Anthos Service Mesh nutzt gegenseitige TLS-Authentifizierung (mTLS) für die Peer-Authentifizierung. Authentifizierung bezieht sich auf die Identität: Wer ist ein Dienst? Wer ist dieser Endnutzer? und ich kann darauf vertrauen, dass sie das sind, wofür sie sich ausgeben?
Mit mTLS können Arbeitslasten die Identitäten des jeweils anderen prüfen und sich authentifizieren. Möglicherweise sind Sie mit einfachem TLS vertraut. Dies wird in HTTPS genutzt, um es Browsern zu ermöglichen, Webservern zu vertrauen und die ausgetauschten Daten zu verschlüsseln. Wenn einfaches TLS verwendet wird, stellt der Client fest, dass der Server als vertrauenswürdig eingestuft werden kann, indem er sein Zertifikat validiert. mTLS ist eine Implementierung von TLS, in der sowohl der Client als auch der Server Zertifikate bereitstellen und die Identität des jeweils anderen überprüft wird.
mTLS ist die Methode, mit der Anthos Service Mesh sowohl die Authentifizierung als auch die Verschlüsselung zwischen Diensten implementiert.
In Anthos Service Mesh 1.6 und höher ist automatisches mTLS standardmäßig aktiviert. Bei „automTLS“ erkennt ein Client-Sidecar-Proxy automatisch, ob der Server einen Sidecar hat. An Arbeitslasten mit Sidecars sendet der Client-Sidecar-Proxy mTLS und an Arbeitslasten ohne Sidecars sendet er Nur-Text-Traffic. Dienste akzeptieren sowohl Nur-Text- als auch mTLS-Traffic. Um Ihr Service Mesh zu sichern, empfehlen wir Ihnen, Ihre Dienste so zu migrieren, dass nur mTLS-Traffic akzeptiert wird.
Weitere Informationen zur Erzwingung nur von mTLS finden Sie unter Anthos Service Mesh am Beispiel: mTLS.
Konfiguration der Cipher Suite
Die folgende Liste enthält die FIPS-konformen standardmäßigen Cipher Suites von Anthos Service Mesh:
ECDHE-ECDSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-ECDSA-AES256-GCM-SHA384
ECDHE-RSA-AES256-GCM-SHA384
Für mehr Sicherheit ist die serverseitige TLS-Mindestversion, die von Anthos Service Mesh-Arbeitslasten unterstützt wird, Version 1.2, die die Anpassung von Cipher Suites unterstützt. Anthos Service Mesh unterstützt auch TLS v1.3. Chiffresammlungen werden dort hartcodiert und können nicht geändert werden.
Weitere Informationen zu Cipher Suites finden Sie unter Allgemeine TLS-Konfiguration von Envoy und gegenseitige TLS-Authentifizierung von Istio.
Sicherheitsvorteile
Anthos Service Mesh bietet die folgenden Sicherheitsvorteile:
Verminderung des Risikos von Replay- oder Imitationsangriffen, bei denen gestohlene Anmeldedaten verwendet werden. Anthos Service Mesh verwendet mTLS-Zertifikate zur Authentifizierung von Peers anstelle von Inhabertokens wie JSON Web Tokens (JWT). Da mTLS-Zertifikate an den TLS-Kanal gebunden sind, kann eine Entität in Ihrer Produktionsumgebung nicht als eine andere Identität ausgegeben werden. Dazu wird einfach das Authentifizierungstoken ohne Zugriff auf die privaten Schlüssel ausgegeben.
Sicherstellen der Verschlüsselung während der Übertragung. Durch die Verwendung von mTLS für die Authentifizierung wird außerdem sichergestellt, dass alle TCP-Kommunikationen bei der Übertragung verschlüsselt werden.
Zugriff auf einen Dienst mit vertraulichen Daten nur durch autorisierte Clients. Nur autorisierte Clients können auf einen Dienst mit vertraulichen Daten zugreifen, unabhängig vom Netzwerkstandort des Clients und den Anmeldedaten auf Anwendungsebene. Sie können angeben, dass nur Clients mit autorisierten Dienstidentitäten oder in autorisierten Kubernetes-Namespaces auf einen Dienst zugreifen können. Sie können auch IP-basierte Zugriffsrichtlinien verwenden, um Clients, die außerhalb der GKE Enterprise-Umgebung bereitgestellt werden, Zugriff zu gewähren.
Verminderung des Risikos von Verstößen gegen Nutzerdaten in Ihrem Produktionsnetzwerk. Sie können gewährleisten, dass Insider nur über autorisierte Clients auf vertrauliche Daten zugreifen können. Darüber hinaus können Sie dafür sorgen, dass bestimmte Clients nur dann Zugriff auf Nutzerdaten erhalten, wenn der Client ein gültiges und vorübergehendes Nutzer-Token vorweisen kann. Dadurch wird das Risiko minimiert, dass der Zugriff auf die Anmeldedaten eines einzigen Clients einem Angreifer Zugriff auf alle Nutzerdaten ermöglicht.
Identifikation von Clients, die auf einen Dienst mit vertraulichen Daten zugegriffen haben. Das Zugriffs-Logging von Anthos Service Mesh erfasst zusätzlich zur IP-Adresse die mTLS-Identität des Clients. Dadurch können Sie problemlos erkennen, welche Arbeitslast auf einen Dienst zugegriffen hat, auch wenn die Arbeitslast sitzungsspezifisch und dynamisch und in einem anderen Cluster oder VPC-Netzwerk (Virtual Private Cloud) bereitgestellt wird.
Features
In diesem Abschnitt werden die Features beschrieben, die Anthos Service Mesh bietet, um seine Sicherheitsvorteile zu nutzen.
Automatische Zertifikate und Schlüsselrotation
Die Verwendung von mTLS auf Basis von Dienstidentitäten ermöglicht die Verschlüsselung der gesamten TCP-Kommunikation und bietet sicherere, nicht wiederholbare Anmeldedaten für die Zugriffssteuerung. Eine der größten Herausforderungen bei der Verwendung von mTLS in großem Maßstab ist die Verwaltung der Schlüssel und Zertifikate für alle Zielarbeitslasten. Anthos Service Mesh kümmert sich um die Rotation von mTLS-Schlüsseln und -Zertifikaten für GKE Enterprise-Arbeitslasten, ohne die Kommunikation zu unterbrechen. Die Konfiguration kleinerer Aktualisierungsintervalle für das Zertifikat kann das Risiko reduzieren.
Anthos Service Mesh-Zertifizierungsstelle (Mesh CA)
Anthos Service Mesh enthält eine verwaltete, multiregionale private Zertifizierungsstelle, Mesh CA, um Zertifikate für mTLS zu erstellen. Mesh CA ist ein sehr zuverlässiger und skalierbarer Dienst, der für dynamisch skalierte Arbeitslasten in einer Cloud-Plattform optimiert ist. Mit Mesh CA verwaltet Google die Sicherheit und Verfügbarkeit des CA-Back-Ends. Mesh CA ermöglicht es Ihnen, sich in allen GKE Enterprise-Clustern auf eine einzige Root of Trust zu verlassen. Bei Verwendung von Mesh CA können Sie sich auf Workload Identity-Pools stützen, um eine grobe Isolation zu ermöglichen. Standardmäßig schlägt die Authentifizierung fehl, wenn sich der Client und der Server nicht im selben Workload Identity-Pool befinden.
Zertifikate der Mesh CA enthalten die folgenden Daten zu den Diensten Ihrer Anwendung:
- Die Google Cloud-Projekt-ID
- Der GKE-Namespace
- Der Name des GKE-Dienstkontos
Certificate Authority Service
Als Alternative zu Mesh CA können Sie Anthos Service Mesh für die Verwendung des Certificate Authority Service konfigurieren, das für die folgenden Anwendungsfälle geeignet ist:
- Wenn Sie unterschiedliche CAs benötigen, um Arbeitslastzertifikate auf unterschiedlichen Clustern zu signieren.
- Wenn Sie Zertifikate von benutzerdefinierten Istio-CA-Plug-ins verwenden möchten.
- Wenn Sie Ihre Signaturschlüssel in einem verwalteten HSM sichern müssen.
- Wenn Sie in einer stark regulierten Branche tätig sind und der Compliance unterliegen.
- Wenn Sie Ihre Anthos Service Mesh-Zertifizierungsstelle mit einem benutzerdefinierten Unternehmensstammzertifikat verketten möchten, um Arbeitslast-Zertifikate zu signieren.
Die Kosten für Mesh CA sind im Preis für Anthos Service Mesh inbegriffen. CA Service ist nicht im Basispreis für Anthos Service Mesh enthalten und wird separat in Rechnung gestellt. Darüber hinaus enthält CA Service ein explizites SLA, die Mesh-CA jedoch nicht.
Für diese Einbindung erhalten alle Arbeitslasten in Anthos Service Mesh zwei IAM-Rollen:
Richtlinien für identitätssensitive Zugriffssteuerung (Firewall)
Mit Anthos Service Mesh können Sie Netzwerksicherheitsrichtlinien konfigurieren, die auf der mTLS-Identität im Vergleich zur IP-Adresse des Peers beruhen. Auf diese Weise können Sie Richtlinien erstellen, die unabhängig vom Netzwerkstandort der Arbeitslast sind. Derzeit wird nur die Kommunikation zwischen Clustern im selben Google Cloud-Projekt unterstützt.
Richtlinien für anforderungssensitive Zugriffssteuerung (Firewall)
Zusätzlich zur mTLS-Identität können Sie den Zugriff auf Basis der Anforderungen im JWT-Header von HTTP- oder gRPC-Anfragen gewähren. Mit Anthos Service Mesh können Sie feststellen, ob ein JWT von einer vertrauenswürdigen Entität signiert wurde. Das bedeutet, dass Sie Richtlinien konfigurieren können, die den Zugriff von bestimmten Clients nur dann zulassen, wenn eine Anforderung vorhanden ist oder einem bestimmten Wert entspricht.
Nutzerauthentifizierung mit Identity-Aware Proxy
Sie authentifizieren Nutzer, die auf Dienste zugreifen, die in einem Anthos Service Mesh-Ingress-Gateway verfügbar sind, mit einem Identity-Aware Proxy (IAP). IAP kann Nutzer authentifizieren, die sich über einen Browser anmelden, sich in benutzerdefinierte Identitätsanbieter einbinden und ein kurzlebiges JWT-Token oder RCToken ausstellen, das verwendet werden kann, um den Zugriff auf das Ingress-Gateway oder einen nachgelagerten Dienst (mithilfe eines Sidecars) zu gewähren. Weitere Informationen finden Sie unter IAP in Anthos Service Mesh einbinden.
Nutzerauthentifizierung mit Ihrem vorhandenen Identitätsanbieter:
Sie können Ihren vorhandenen Identitätsanbieter in Anthos Service Mesh einbinden, um eine browserbasierte Endnutzerauthentifizierung und Zugriffssteuerung für Ihre bereitgestellten Arbeitslasten zu ermöglichen. Weitere Informationen finden Sie unter Anthos Service Mesh-Nutzerauthentifizierung konfigurieren.
Zugriffs-Logging und -Monitoring:
Anthos Service Mesh stellt sicher, dass Zugriffslogs und -messwerte in der Google Cloud-Beobachtbarkeit verfügbar sind, und bietet ein integriertes Dashboard, um Zugriffsmuster für einen Dienst oder eine Arbeitslast anhand dieser Daten zu verstehen. Sie können auch ein privates Ziel konfigurieren. Mit Anthos Service Mesh können Sie die Ausgabe falscher positiver Ergebnisse in Zugriffslogs reduzieren, indem Sie erfolgreiche Zugriffe nur einmal in einem konfigurierbaren Zeitfenster protokollieren. Anfragen, die von einer Sicherheitsrichtlinie abgelehnt werden oder zu einem Fehler führen, werden immer protokolliert. Dadurch können Sie die Kosten für die Aufnahme, Speicherung und Verarbeitung von Logs erheblich reduzieren, ohne dass wichtige Sicherheitssignale verloren gehen.
FIPS-konform
Alle Komponenten und Proxys der Steuerungsebene im Cluster in der x86-Architektur verwenden FIPS 140-2-validierte Verschlüsselungmodule.
Beschränkungen
Für die Sicherheit von Anthos Service Mesh gilt derzeit die folgende Einschränkung:
- Für die Nutzerauthentifizierung, die IAP verwendet, muss ein Dienst im Internet veröffentlicht werden. Mit IAP und Anthos Service Mesh können Sie Richtlinien konfigurieren, die den Zugriff auf autorisierte Nutzer und Clients in einem zulässigen IP-Bereich einschränken. Wenn Sie den Dienst nur für Clients innerhalb desselben Netzwerks freigeben möchten, müssen Sie eine benutzerdefinierte Richtlinien-Engine für die Nutzerauthentifizierung und die Ausstellung von Tokens konfigurieren.
Nächste Schritte
- Anthos Service Mesh – Best Practices für die Sicherheit
- Transportsicherheit konfigurieren
- Autorisierungsrichtlinien aktualisieren