Shielded GKE-Knoten verwenden


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.

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.

Sie können optional Knotenintegritätsprüfungen für Knotenpools konfigurieren, um einen verbesserten Rootkit- und Bootkit-Schutz für Ihre Knoten bereitzustellen. Diese Knotenpooleinstellungen sind unabhängig von Shielded GKE-Knoten und funktionieren auch, wenn Shielded GKE-Knoten auf dem Cluster deaktiviert sind.

Weitere Informationen finden Sie in der Shielded VM-Dokumentation.

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.

Verfügbarkeit

  • Shielded GKE-Knoten sind in der GKE-Version 1.13.6-gke.0 und höher verfügbar.
  • Shielded GKE-Knoten sind in allen Zonen und Regionen verfügbar.
  • Shielded GKE-Knoten können mit allen Knoten-Images verwendet werden.
  • Shielded GKE-Knoten können mit GPUs verwendet werden.

Vorbereitung

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 diese Aufgabe 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 gcloud components update ab.

Shielded GKE-Knoten in einem neuen Cluster aktivieren

Sie können einen neuen Cluster mit aktivierten Shielded GKE-Knoten mithilfe der gcloud CLI oder Google Cloud Console 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

  1. Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf.

    Zur Seite „Google Kubernetes Engine“

  2. Klicken Sie auf Erstellen.

  3. Klicken Sie im Navigationsbereich unter Cluster auf Sicherheit.

  4. Klicken Sie auf das Kästchen Shielded GKE-Knoten aktivieren.

  5. Konfigurieren Sie den Cluster nach Bedarf.

  6. 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.

Nachdem Sie Shielded GKE-Knoten aktiviert haben, werden die Steuerungsebene und die Knoten als Shielded VMs neu erstellt. Die Steuerungsebene ist in dieser Zeit nicht verfügbar. Die Clusterknoten werden rollierend neu erstellt, um Ausfallzeiten zu minimieren.

gcloud

Geben Sie beim Aktualisieren des Clusters die Option --enable-shielded-nodes an:

gcloud container clusters update CLUSTER_NAME \
    --enable-shielded-nodes

Console

  1. Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf:

    Zur Seite „Google Kubernetes Engine“

  2. Klicken Sie auf den Namen des Clusters, den Sie ändern möchten.

  3. Klicken Sie unter Sicherheit im Feld Shielded GKE-Knoten auf Shielded GKE-Knoten bearbeiten.

  4. Klicken Sie auf das Kästchen Shielded GKE-Knoten aktivieren.

  5. 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:

  1. Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf.

    Zur Seite „Google Kubernetes Engine“

  2. Klicken Sie auf den Namen des Clusters, den Sie prüfen möchten.

  3. 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.

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

  1. Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf:

    Zur Seite „Google Kubernetes Engine“

  2. Klicken Sie auf den Namen des Clusters, den Sie ändern möchten.

  3. Klicken Sie unter Sicherheit im Feld Shielded GKE-Knoten auf Shielded GKE-Knoten bearbeiten.

  4. Deaktivieren Sie das Kästchen Shielded GKE-Knoten aktivieren.

  5. Klicken Sie auf Änderungen speichern.

Wenn Sie Shielded GKE-Knoten deaktiviert haben, werden die Steuerungsebene und die Knoten als normale, nicht Shielded VMs neu erstellt. Die Steuerungsebene ist nicht verfügbar, wenn sie gerade wiederhergestellt wird. Die Clusterknoten werden rollierend neu erstellt, um Ausfallzeiten zu minimieren.

Knotenintegrität

Secure Boot und Integritätsmonitoring sind Knotenpooleinstellungen, die zusammen mit Shielded GKE-Knoten verwendet werden können. 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, die in GKE standardmäßig deaktiviert ist, da unsignierte Kernel-Module von Drittanbietern sonst nicht geladen werden können.

Wenn Sie keine unsignierten Kernel-Module von Drittanbietern verwenden, können Sie Secure Boot mit der Google Cloud CLI oder der Google Cloud Console 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:

  1. Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf:

    Zur Seite „Google Kubernetes Engine“

  2. Klicken Sie auf den Namen des Clusters, den Sie ändern möchten.

  3. Klicken Sie auf Knotenpool hinzufügen .

  4. Klicken Sie im Menü Navigation auf Sicherheit.

  5. Klicken Sie unter Shielded-Optionen das Kästchen Secure Boot aktivieren an.

  6. 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 Console deaktivieren.

gcloud

So deaktivieren Sie das Integritätsmonitoring für Systemkomponenten beim Erstellen eines Clusters:

gcloud container clusters create CLUSTER_NAME \
    --no-shielded-integrity-monitoring

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 Clusters oder eines Knotenpools mit der Option --shielded-integrity-monitoring explizit aktivieren.

Console

So deaktivieren Sie das Integritätsmonitoring beim Erstellen eines Knotenpools:

  1. Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf:

    Zur Seite „Google Kubernetes Engine“

  2. Klicken Sie auf den Namen des Clusters, den Sie ändern möchten.

  3. Klicken Sie auf Knotenpool hinzufügen .

  4. Klicken Sie im Navigationsbereich auf Sicherheit.

  5. Entfernen Sie unter Shielded-Optionen das Häkchen bei Integritätsmonitoring aktivieren.

Nächste Schritte