Übersicht über die Sicherheit von Cloud Service Mesh

Die Sicherheit von Cloud Service Mesh mit Istio APIs hilft Ihnen, Insider-Bedrohungen zu verringern und das Risiko einer Datenpanne zu reduzieren , indem sichergestellt wird, dass alle Kommunikationen zwischen Arbeitslasten verschlüsselt, gegenseitig authentifiziert und autorisiert werden.

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 Cloud Service Mesh können Sie eine Ebene der dienstkontextbezogenen und anfragekontextbezogenen Netzwerksicherheit konfigurieren, die unabhängig von der Sicherheit des zugrunde liegenden Netzwerks ist. Aus diesem Grund können Sie mit Cloud Service Mesh eine mehrschichtige Sicherheitsstrategie anwenden, die mit den Zero-Trust -Sicherheitsprinzipien übereinstimmt. Sie können diese Strategie durch deklarative Richtlinien und ohne Änderung des Anwendungscodes erreichen.

Gegenseitiges TLS

Cloud Service Mesh verwendet gegenseitiges TLS (mTLS) für die Peer-Authentifizierung. Bei der Authentifizierung geht es um die Identität: Wer ist dieser Dienst? Wer ist dieser Endnutzer? Und kann ich darauf vertrauen, dass er der ist, der er vorgibt zu sein?

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 Cloud Service Mesh sowohl die Authentifizierung als auch die Verschlüsselung zwischen Diensten implementiert.

In Cloud Service Mesh ist automatisches mTLS standardmäßig aktiviert. Bei automatischem TLS erkennt ein Client-Sidecar-Proxy automatisch, ob der Server eine Sidecar-Datei hat. An Arbeitslasten mit Sidecar-Dateien sendet der Client-Sidecar-Proxy mTLS und an Arbeitslasten ohne Sidecar-Dateien sendet er Nur-Text. 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 Cloud Service Mesh am Beispiel: mTLS.

Sicherheitsvorteile

Cloud Service Mesh bietet die folgenden Sicherheitsvorteile:

  • Verminderung des Risikos von Replay- oder Imitationsangriffen, bei denen gestohlene Anmeldedaten verwendet werden. Cloud 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 sich eine Entität in Ihrer Produktionsumgebung nicht als eine andere ausgeben, indem sie das Authentifizierungstoken ohne Zugriff auf die privaten Schlüssel wiederholt.

  • 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 außerhalb des Mesh-Netzwerks Zugriff zu gewähren.

  • Verringert das Risiko einer Datenpanne von Nutzerdaten in Ihrem Produktionsnetzwerk. Sie können dafür sorgen, 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 verringert, dass ein Angreifer durch die Kompromittierung eines einzelnen Client-Anmeldedatums Zugriff auf alle Nutzerdaten erhält.

  • Identifiziert, welche Clients auf einen Dienst mit vertraulichen Daten zugegriffen haben. Bei der Zugriffs-Logging von Cloud Service Mesh wird neben der IP-Adresse auch die mTLS-Identität des Clients erfasst. So können Sie nachvollziehen, welche Arbeitslast auf einen Dienst zugegriffen hat, auch wenn die Arbeitslast kurzlebig und dynamisch bereitgestellt ist und sich in einem anderen Cluster oder VPC-Netzwerk (Virtual Private Cloud) befindet.

Features

In diesem Abschnitt werden die Features beschrieben, die Cloud 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 umfangreichen Nutzung von mTLS ist die Verwaltung der Schlüssel und Zertifikate für alle Zielarbeitslasten. Cloud Service Mesh kümmert sich um die Rotation von mTLS-Schlüsseln und ‑Zertifikaten für Mesh-Arbeitslasten, ohne die Kommunikation zu unterbrechen. Es ist möglich, kleinere Zertifikataktualisierungsintervalle zu konfigurieren, um das Risiko zu verringern.

Cloud Service Mesh-Zertifizierungsstelle

Cloud Service Mesh enthält eine verwaltete, multiregionale private Zertifizierungsstelle, die Cloud Service Mesh-Zertifizierungsstelle , um Zertifikate für mTLS zu erstellen. Die Cloud Service Mesh-Zertifizierungsstelle ist ein sehr zuverlässiger und skalierbarer Dienst, der für dynamisch skalierte Arbeitslasten in einer Cloud-Plattform optimiert ist. Mit der Cloud Service Mesh-Zertifizierungsstelle verwaltet Google die Sicherheit und Verfügbarkeit des CA-Back-Ends. Mit der Cloud Service Mesh-Zertifizierungsstelle können Sie sich für alle Cluster auf eine einzige Root of Trust verlassen. Bei Verwendung der Cloud Service Mesh-Zertifizierungsstelle können Sie sich auf Workload Identity-Pools stützen, um eine grobe Isolation zu ermöglichen. Die Authentifizierung schlägt standardmäßig fehl, wenn sich Client und Server nicht im selben Workload Identity-Pool befinden.

Zertifikate der Cloud Service Mesh-Zertifizierungsstelle 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 zur Cloud Service Mesh-Zertifizierungsstelle können Sie Cloud 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 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 Cloud Service Mesh-Zertifizierungsstelle mit einem benutzerdefinierten Unternehmens-Root-Zertifikat verketten möchten, um Arbeitslastzertifikate zu signieren.

Die Kosten für die Cloud Service Mesh-Zertifizierungsstelle sind im Preis für Cloud Service Mesh enthalten. Die Kosten für CA Service sind nicht im Basispreis für Cloud Service Mesh enthalten und werden separat in Rechnung gestellt. Darüber hinaus enthält CA Service ein explizites SLA, die Cloud Service Mesh-Zertifizierungsstelle jedoch nicht.

Für diese Einbindung erhalten alle Arbeitslasten in Cloud Service Mesh zwei IAM-Rollen:

Richtlinien für identitätssensitive Zugriffssteuerung (Firewall)

Mit Cloud 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. Nur die Kommunikation zwischen Clustern im selben Google Cloud Projekt wird 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 Cloud 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 Cloud 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 Cloud Service Mesh einbinden.

Nutzerauthentifizierung mit Ihrem vorhandenen Identitätsanbieter:

Sie können Ihren vorhandenen Identitätsanbieter in Cloud Service Mesh einbinden, um eine browserbasierte Endnutzerauthentifizierung und Zugriffssteuerung für Ihre bereitgestellten Arbeitslasten zu ermöglichen. Weitere Informationen finden Sie unter Cloud Service Mesh-Nutzerauthentifizierung konfigurieren.

Zugriffs-Logging und -Monitoring:

Cloud Service Mesh gewährleistet, dass Zugriffslogs und Messwerte in Google Cloud Observability verfügbar sind und bietet ein integriertes Dashboard , um die Zugriffsmuster auf einen Dienst oder eine Arbeitslast auf Basis dieser Daten zu verstehen.

FIPS-konform

Die Datenebenenkomponente verwendet gemäß FIPS 140-3 validierte Verschlüsselungs module.

Beschränkungen

Für die Sicherheit von Cloud Service Mesh gilt die folgende Einschränkung:

  • Für die Nutzerauthentifizierung, die IAP verwendet, muss ein Dienst im Internet veröffentlicht werden. Mit IAP und Cloud Service Mesh können Sie Richtlinien konfigurieren, die den Zugriff auf autorisierte Nutzer und Clients in einem zulässigen IP-Bereich beschränken. Wenn Sie den Dienst nur für Clients im selben Netzwerk verfügbar machen möchten, müssen Sie eine benutzerdefinierte Policy Engine für die Nutzerauthentifizierung und die Tokenausstellung konfigurieren.

Nächste Schritte