Auf dieser Seite erfahren Sie, wie Sie das Feature Shielded GKE-Knoten verwenden. Shielded GKE-Knoten bieten eine starke, überprüfbare Knotenidentität und -integrität, um die Sicherheit von GKE-Knoten (Google Kubernetes Engine) zu erhöhen.
Für GKE Autopilot-Cluster ist das Shielded GKE-Knoten-Feature standardmäßig aktiviert und kann nicht überschrieben werden. Für GKE-Standardcluster ist das Shielded GKE-Knoten-Feature standardmäßig aktiviert, kann aber überschrieben werden.
Shielded GKE-Knoten
Shielded GKE-Knoten werden zusätzlich zu Shielded VMs von Compute Engine erstellt. Ohne Shielded GKE-Knoten kann ein Angreifer eine Sicherheitslücke in einem Pod ausnutzen, um Bootstrap-Anmeldedaten zu stehen und die Identität von Knoten im Cluster anzunehmen. Dadurch erhält der Angreifer Zugriff auf Cluster-Secrets. Wenn Shielded GKE-Knoten aktiviert sind, prüft die GKE-Steuerungsebene Folgendes:
- Jeder Knoten im Cluster ist eine virtuelle Maschine, die im Rechenzentrum von Google ausgeführt wird.
- Jeder Knoten ist Teil einer verwalteten Instanzgruppe, die für den Cluster bereitgestellt ist.
- Dem Kubelet wird ein Zertifikat für den Knoten bereitgestellt, auf dem es ausgeführt wird.
Dadurch wird es einem Angreifer erschwert, die Identität eines Knotens in Ihrem Cluster anzunehmen, auch wenn er Bootstrap-Anmeldedaten des Knotens stehlen kann.
Knoten der GKE-Cluster-Steuerungsebene verwenden immer Shielded GKE-Knoten, auch wenn Sie das Feature für Ihren Cluster deaktivieren. Das Aktivieren oder Deaktivieren von Shielded GKE-Knoten wirkt sich nur darauf aus, ob die Worker-Knoten, auf denen Ihre Arbeitslasten ausgeführt werden, das Feature verwenden.
Preise
Für die Ausführung von Shielded GKE-Knoten fallen keine zusätzlichen Kosten an. Shielded GKE-Knoten generieren beim Start jedoch etwa 0,5 KB mehr Logs als Standardknoten. Weitere Informationen finden Sie auf der Preisseite für Cloud Logging.
Hinweise
Führen Sie die folgenden Aufgaben aus, bevor Sie beginnen:
- Aktivieren Sie die Google Kubernetes Engine API. Google Kubernetes Engine API aktivieren
- Wenn Sie die Google Cloud CLI für diesen Task verwenden möchten, müssen Sie die gcloud CLI installieren und dann initialisieren. Wenn Sie die gcloud CLI bereits installiert haben, rufen Sie die neueste Version mit dem Befehl
gcloud components update
ab. In früheren gcloud CLI-Versionen werden die Befehle in diesem Dokument möglicherweise nicht unterstützt.
Shielded GKE-Knoten in einem neuen Cluster aktivieren
Sie können einen neuen Cluster mit aktivierten Shielded GKE-Knoten mithilfe der gcloud CLI oder der Google Cloud -Konsole erstellen.
gcloud
Geben Sie beim Erstellen eines neuen Clusters die Option --enable-shielded-nodes
an:
gcloud container clusters create CLUSTER_NAME \
--enable-shielded-nodes
Console
Rufen Sie in der Google Cloud Console die Seite Kubernetes-Cluster erstellen auf.
Klicken Sie im Navigationsbereich unter Cluster auf Sicherheit.
Klicken Sie auf das Kästchen Shielded GKE-Knoten aktivieren.
Konfigurieren Sie den Cluster nach Bedarf.
Klicken Sie auf Erstellen.
Weitere Informationen zum Erstellen von Clustern finden Sie unter Cluster erstellen.
Shielded GKE-Knoten in einem vorhandenen Cluster aktivieren
Sie können Shielded GKE-Knoten in einem vorhandenen Cluster mithilfe des Google Cloud CLI oder der Google Cloud Console aktivieren.
So aktiviert GKE Shielded GKE-Knoten
Nachdem Sie Shielded GKE-Knoten aktiviert haben, werden die Worker-Knoten als Shielded VMs neu erstellt. Die Clusterknoten werden rollierend neu erstellt, um Ausfallzeiten zu minimieren.
Nachdem Sie Shielded GKE-Knoten aktiviert haben, aktualisiert GKE Ihren Cluster mit den folgenden Schritten:
- GKE erstellt die Steuerungsebene sofort neu und ignoriert die Wartungsverfügbarkeit.
- GKE erstellt die Worker-Knoten als Shielded VMs neu und berücksichtigt dabei die Wartungsverfügbarkeit. GKE verwendet Surge-Upgrades, um die einzelnen Knotenpools zu aktualisieren. Das hängt von der Ressourcenverfügbarkeit ab. Durch das Deaktivieren von automatischen Knotenupgrades wird diese Änderung nicht verhindert.
Details zu dieser spezifischen Änderung finden Sie in der entsprechenden Zeile in der Tabelle Manuelle Änderungen, die die Knoten mit einer Knotenupgrade-Strategie neu erstellen und Wartungsrichtlinien berücksichtigen. Weitere Informationen zu Knotenupdates finden Sie unter Unterbrechungen durch Knotenupdates planen.
Shielded GKE-Knoten aktivieren
gcloud
Geben Sie beim Aktualisieren des Clusters die Option --enable-shielded-nodes
an:
gcloud container clusters update CLUSTER_NAME \
--enable-shielded-nodes
Console
Öffnen Sie in der Google Cloud Console die Seite Google Kubernetes Engine.
Klicken Sie auf den Namen des Clusters, den Sie ändern möchten.
Klicken Sie unter Sicherheit im Feld Shielded GKE-Knoten auf edit Shielded GKE-Knoten bearbeiten.
Klicken Sie auf das Kästchen Shielded GKE-Knoten aktivieren.
Klicken Sie auf Änderungen speichern.
Aktivierung von Shielded GKE-Knoten prüfen
Sie prüfen, ob Ihr Cluster Shielded GKE-Knoten mit dem Google Cloud CLI oder der Google Cloud Console verwendet.
gcloud
Cluster beschreiben:
gcloud container clusters describe CLUSTER_NAME
Wenn Shielded GKE-Knoten aktiviert sind, sind in der Ausgabe des Befehls folgende Zeilen enthalten:
shieldedNodes:
enabled: true
Console
So prüfen Sie, ob ein Cluster Shielded GKE-Knoten verwendet:
Öffnen Sie in der Google Cloud Console die Seite Google Kubernetes Engine.
Klicken Sie auf den Namen des Clusters, den Sie prüfen möchten.
Prüfen Sie im Feld Shielded GKE-Knoten unter Sicherheit, ob Shielded GKE-Knoten Aktiviert ist.
Sie können auch die Integrität der zugrunde liegenden Shielded VMs Ihrer Knoten prüfen. Informationen zum Verfahren finden Sie unter Integrität von Shielded VM-Instanzen überwachen.
Shielded GKE-Knoten deaktivieren
Sie können Shielded GKE-Knoten über das Google Cloud CLI oder die Google Cloud Console deaktivieren.
So deaktiviert GKE Shielded GKE-Knoten
Nachdem Sie Shielded GKE-Knoten deaktiviert haben, aktualisiert GKE Ihren Cluster mit den folgenden Schritten:
- GKE erstellt die Steuerungsebene sofort neu und ignoriert die Wartungsverfügbarkeit.
- GKE erstellt die Worker-Knoten als nicht Shielded VMs neu und berücksichtigt dabei die Verfügbarkeit für die Wartung. GKE verwendet Surge-Upgrades, um die einzelnen Knotenpools zu aktualisieren. Das hängt von der Ressourcenverfügbarkeit ab. Durch das Deaktivieren von automatischen Knotenupgrades wird diese Änderung nicht verhindert.
Details zu dieser spezifischen Änderung finden Sie in der entsprechenden Zeile in der Tabelle Manuelle Änderungen, die die Knoten mit einer Knotenupgrade-Strategie neu erstellen und Wartungsrichtlinien berücksichtigen. Weitere Informationen zu Knotenupdates finden Sie unter Unterbrechungen durch Knotenupdates planen.
Shielded GKE-Knoten deaktivieren
gcloud
Geben Sie beim Aktualisieren des Clusters die Option --no-enable-shielded-nodes
an:
gcloud container clusters update CLUSTER_NAME \
--no-enable-shielded-nodes
Console
Öffnen Sie in der Google Cloud Console die Seite Google Kubernetes Engine.
Klicken Sie auf den Namen des Clusters, den Sie ändern möchten.
Klicken Sie unter Sicherheit im Feld Shielded GKE-Knoten auf edit Shielded GKE-Knoten bearbeiten.
Deaktivieren Sie das Kästchen Shielded GKE-Knoten aktivieren.
Klicken Sie auf Änderungen speichern.
Knotenintegrität
Sie können optional Knotenintegritätsprüfungen für Knotenpools konfigurieren, um einen verbesserten Rootkit- und Bootkit-Schutz für Ihre Knoten bereitzustellen. Shielded GKE-Knoten, Secure Boot sowie das Integritätsmonitoring sind voneinander unabhängig und lassen sich einzeln aktivieren und deaktivieren.
Secure Boot
Secure Boot ist eine Knotenpooleinstellung, mit der die Bootkomponenten Ihrer Knoten-VMs, z. B. der Kernel und der Bootloader, während des Bootvorgangs authentifiziert werden. Secure Boot ist für Knotenpools standardmäßig deaktiviert.
Bevor Sie Secure Boot in Ihren Knotenpools aktivieren, sollten Sie Folgendes berücksichtigen:
- Wenn Sie Secure Boot auf Ubuntu-Knoten aktivieren, wird verhindert, dass unsignierte Kernelmodule von Drittanbietern auf diesen Knoten geladen werden.
- Das Aktivieren von Secure Boot in Container-Optimized OS-Knoten hat keine Auswirkungen auf das Laden von Kernel-Modulen, da Container-Optimized OS-Knoten-Images die Möglichkeit zum Laden von Kernel-Modulen von Drittanbietern unabhängig von Secure Boot steuern.
Verwenden Sie die Google Cloud CLI oder die Console von Google Cloud , um Secure Boot zu aktivieren.
gcloud
So aktivieren Sie Secure Boot beim Erstellen eines Clusters:
gcloud container clusters create CLUSTER_NAME \
--shielded-secure-boot
So aktivieren Sie Secure Boot beim Erstellen eines Knotenpools:
gcloud container node-pools create POOL_NAME \
--shielded-secure-boot
Secure Boot ist standardmäßig deaktiviert. Sie können die Einstellung beim Erstellen eines Clusters oder Knotenpools mit der Option --no-shielded-secure-boot
explizit deaktivieren.
Console
So aktivieren Sie Secure Boot beim Erstellen eines Knotenpools:
Öffnen Sie in der Google Cloud Console die Seite Google Kubernetes Engine.
Klicken Sie auf den Namen des Clusters, den Sie ändern möchten.
Klicken Sie auf Knotenpool hinzufügen add_box.
Klicken Sie im Menü Navigation auf Sicherheit.
Klicken Sie unter Shielded-Optionen das Kästchen Secure Boot aktivieren an.
Klicken Sie auf Erstellen.
Integritätsmonitoring
Integritätsmonitoring ist eine Knotenpooleinstellung, die in GKE standardmäßig aktiviert ist. Sie können das Integritätsmonitoring mit dem Google Cloud CLI oder der Google Cloud -Konsole deaktivieren.
gcloud
So deaktivieren Sie das Integritätsmonitoring für Systemkomponenten beim Erstellen eines Knotenpools:
gcloud container node-pools create POOL_NAME \
--no-shielded-integrity-monitoring
Das Integritätsmonitoring ist standardmäßig aktiviert. Sie können es beim Erstellen eines Knotenpools mit der Option --shielded-integrity-monitoring
explizit aktivieren.
Console
So deaktivieren Sie das Integritätsmonitoring beim Erstellen eines Knotenpools:
Öffnen Sie in der Google Cloud Console die Seite Google Kubernetes Engine.
Klicken Sie auf den Namen des Clusters, den Sie ändern möchten.
Klicken Sie auf Knotenpool hinzufügen add_box.
Klicken Sie im Navigationsbereich auf Sicherheit.
Entfernen Sie unter Shielded-Optionen das Häkchen bei Integritätsmonitoring aktivieren.