Google Cloud bietet Steuerelemente zum Schutz Ihrer Computing- und GKE (Google Kubernetes Engine)-Containerressourcen. In diesem Dokument des Google Cloud-Architektur-Frameworks werden wichtige Steuerelemente und die Best Practices für deren Verwendung beschrieben.
Verwenden Sie gehärtete, ausgewählte VM-Images.
Google Cloud enthält Shielded VM, mit der Sie Ihre VM-Instanzen härten können. Shielded VM ist so konzipiert, dass während des Bootvorgangs kein schädlicher Code geladen wird. Es bietet Bootsicherheit, überwacht die Integrität und verwendet das Virtual Trusted Platform Module (vTPM). Verwenden Sie Shielded VM für sensible Arbeitslasten.
Zusätzlich zur Verwendung von Shielded VM können Sie Google Cloud-Partnerlösungen nutzen, um Ihre VMs noch besser zu schützen. Viele in Google Cloud angebotene Partnerlösungen sind in das Security Command Center eingebunden, das die Erkennung von Bedrohungen und die Statusüberwachung bietet. Sie können Partner für die erweiterte Bedrohungsanalyse oder zur Verbesserung der Laufzeitsicherheit nutzen.
Verwenden Sie Confidential Computing zum Verarbeiten vertraulicher Daten.
Standardmäßig verschlüsselt Google Cloud inaktive und aktuell übertragene Daten im Netzwerk, aber nicht, während sie im Speicher verwendet werden. Falls Ihre Organisation vertrauliche Daten verarbeitet, müssen Sie gegen Bedrohungen vorgehen, die die Vertraulichkeit und Integrität der Anwendung oder der Daten im Systemspeicher beeinträchtigen. Vertrauliche Daten sind personenidentifizierbare Informationen (PIIs), Finanz- und Gesundheitsdaten.
Confidential Computing baut auf Shielded VM auf. Sie schützt aktive Daten, indem sie eine Berechnung in einer hardwarebasierten vertrauenswürdigen Ausführungsumgebung durchführt. Diese Art von sicherer und isolierter Umgebung trägt dazu bei, unbefugten Zugriff oder Änderungen an Anwendungen und Daten zu verhindern, während diese Daten verwendet werden. Eine vertrauenswürdige Ausführungsumgebung erhöht auch die Sicherheit für Organisationen, die sensible und regulierte Daten verwalten.
Um in Google Cloud Confidential Computing zu aktivieren führen Sie Confidential VMs oder Confidential GKE Nodes aus. Aktivieren Sie Confidential Computing, wenn Sie vertrauliche Arbeitslasten verarbeiten oder vertrauliche Daten (z. B. Secrets) haben, die während ihrer Verarbeitung sichtbar sein müssen. Weitere Informationen finden Sie im Confidential Computing-Consortium.
VMs und Container schützen
OS Login ermöglicht es Ihren Mitarbeitern, Verbindungen zu Ihren VMs herzustellen. Dazu verwenden Sie IAM (Identity and Access Management)-Berechtigungen statt SSH-Schlüsseln als „Source of Truth“. Entsprechend müssen Sie SSH-Schlüssel nicht in Ihrer gesamten Organisation verwalten. OS Login verknüpft den Zugriff eines Administrators mit dessen Mitarbeiter-Lebenszyklus. Wenn ein Mitarbeiter zu einer anderen Rolle wechselt oder Ihre Organisation verlässt, wird dessen Zugriff mit dessen Konto ungültig. OS Login unterstützt auch die 2-Faktor-Authentifizierung, die eine zusätzliche Sicherheitsebene bei Kontoübernahmeangriffen bietet.
In GKE führt App Engine Anwendungsinstanzen in Docker-Containern aus. Achten Sie darauf, dass Ihre Container zustandslos und unveränderlich sind, um ein definiertes Risikoprofil zu aktivieren und zu verhindern, dass Mitarbeiter Änderungen an Containern vornehmen. Das Prinzip der Unveränderlichkeit bedeutet, dass Ihre Mitarbeiter den Container nicht ändern oder interaktiv aufrufen. Wenn es geändert werden muss, erstellen Sie ein neues Image und stellen es noch einmal bereit. Aktivieren Sie den SSH-Zugriff auf die zugrunde liegenden Container nur in bestimmten Debugging-Szenarien.
Externe IP-Adressen deaktivieren, sofern sie nicht erforderlich sind
Um die externe IP-Adresszuweisung für Ihre Produktions-VMs zu deaktivieren (Video) und die Verwendung externer Load-Balancer zu verhindern, können Sie Organisationsrichtlinien verwenden. Wenn Ihre VMs auf das Internet oder Ihr lokales Rechenzentrum zugreifen müssen, können Sie ein Cloud NAT-Gateway aktivieren.
Sie können in GKE private Cluster bereitstellen. In einem privaten Cluster haben Knoten nur interne IP-Adressen. Das heißt, Knoten und Pods sind standardmäßig vom Internet isoliert. Sie können auch Netzwerkrichtlinien definieren, um die Pod-zu-Pod-Kommunikation im Cluster zu verwalten. Weitere Informationen finden Sie unter Private Zugriffsoptionen für Dienste.
Compute-Instanz und GKE-Nutzung überwachen
Cloud-Audit-Logs werden für Compute Engine und GKE automatisch aktiviert. Mit Audit-Logs können Sie automatisch alle Aktivitäten mit Ihrem Cluster erfassen und auf verdächtige Aktivitäten überwachen.
Sie können GKE zur Laufzeitsicherheit in Partnerprodukte einbinden. Sie können diese Lösungen in das Security Command Center einbinden und so eine zentrale Oberfläche zum Überwachen Ihrer Anwendungen erhalten.
Images und Cluster auf dem neuesten Stand halten
Google Cloud bietet ausgewählte Betriebssystem-Images, die regelmäßig gepatcht werden. Sie können benutzerdefinierte Images verwenden und in Compute Engine ausführen, aber in diesem Fall müssen Sie diese selbst patchen. Google Cloud aktualisiert Betriebssystem-Images regelmäßig, um neue Sicherheitslücken zu beheben, wie in Sicherheitsbulletins beschrieben, und bietet Lösungen zur Behebung von Sicherheitslücken bei vorhandenen Bereitstellungen.
Wenn Sie GKE verwenden, empfehlen wir, das automatische Knotenupgrade zu aktivieren, damit Google Ihre Clusterknoten mit den neuesten Patches aktualisiert. Google verwaltet GKE-Steuerungsebenen, die automatisch aktualisiert und gepatcht werden. Verwenden Sie außerdem von Google ausgewählte containeroptimierte Images für Ihre Bereitstellung. Google patcht und aktualisiert diese Images regelmäßig.
Zugriff auf Images und Cluster steuern
Es ist wichtig zu wissen, wer Instanzen erstellen und einführen kann. Sie können diesen Zugriff per IAM steuern. Informationen zur Bestimmung des erforderlichen Zugriffs von Arbeitslasten finden Sie unter Workload Identities planen.
Darüber hinaus können Sie mit VPC Service Controls benutzerdefinierte Kontingente für Projekte definieren, um einzuschränken, wer Images starten kann. Weitere Informationen finden Sie im Abschnitt Netzwerk sichern.
Zur Sicherstellung der Infrastruktursicherheit Ihres Clusters können Sie in GKE IAM mit RBAC (Role-Based Access Control) nutzen, um den Zugriff auf Ihren Cluster und Ihre Namespaces zu verwalten.
Container in einer Sandbox isolieren
Verwenden Sie GKE Sandbox, um mehrmandantenfähige Anwendungen bereitzustellen, die eine zusätzliche Sicherheitsebene und die Isolation von ihrem Host-Kernel erfordern. Beispiel: Verwenden Sie GKE Sandbox, wenn Sie unbekannten oder nicht vertrauenswürdigen Code ausführen. GKE Sandbox ist eine Containerisolierungslösung, die eine zweite Sicherheitsebene zwischen Containerarbeitslasten in GKE bietet.
GKE Sandbox wurde für Anwendungen mit niedrigen E/A-Anforderungen entwickelt, die hoch skaliert sind. Diese containerisierten Arbeitslasten müssen ihre Geschwindigkeit und Leistung beibehalten, können jedoch auch nicht vertrauenswürdigen Code enthalten, der zusätzliche Sicherheitsmaßnahmen erfordert. Verwenden Sie gVisor, eine Container-Laufzeit-Sandbox, um eine zusätzliche Sicherheitsisolation zwischen Anwendungen und dem Host-Kernel herzustellen. gVisor bietet zusätzliche Integritätsprüfungen und begrenzt die Zugriffsoptionen von Diensten. Das ist kein Container-Härtungsdienst zum Schutz vor externen Bedrohungen. Weitere Informationen zu gVisor finden Sie unter gVisor: Schutz von GKE- und serverlosen Nutzern in echten Welt.
Nächste Schritte
Hier finden Sie weitere Informationen zur Computing- und Containersicherheit:
- Netzwerk sichern (nächstes Dokument in dieser Reihe)
- Warum die Containersicherheit wichtig ist (PDF)
- Start-Checkliste für Google Cloud
- Identität von Instanzen prüfen
- Identitätsföderation von Arbeitslasten für GKE
- Shielded VM
- Best Practices für Snapshots nichtflüchtiger Speicher
- Best Practices für die Imageverwaltung