Utilizzo di nodi GKE schermati


Questa pagina mostra come utilizzare la funzionalità Nodi GKE schermati. I nodi GKE schermati forniscono un'identità e un'integrità dei nodi verificabili e solidi per aumentare la sicurezza dei nodi Google Kubernetes Engine (GKE).

Per i cluster GKE Autopilot, la funzionalità Shielded GKE Nodes è abilitata per impostazione predefinita e non può essere sostituita. Per i cluster GKE standard, la funzionalità Shielded GKE Nodes è abilitata per impostazione predefinita, ma può essere sostituita.

Informazioni su Shielded GKE Nodes

I nodi GKE schermati sono basati su Compute Engine VM schermate. Senza Nodi GKE schermati che un utente malintenzionato può sfruttare una vulnerabilità in un pod per esfiltrare le credenziali di bootstrap e impersonare i nodi il tuo cluster, dando agli aggressori l'accesso ai secret del cluster. Quando i nodi GKE schermati sono abilitati, il control plane GKE verifica in modo crittografico che:

  • Ogni nodo nel tuo cluster è una macchina virtuale in esecuzione nei dati di Google Google Cloud.
  • Ogni nodo fa parte del gruppo di istanze gestite (MIG) di cui è stato eseguito il provisioning per il cluster.
  • È in corso il provisioning di un certificato per il kubelet per il nodo su cui si trova in esecuzione.

Questo limita la capacità di un utente malintenzionato di impersonare un nodo in per il tuo cluster anche se sono in grado di esfiltrare le credenziali di bootstrap nodo.

I nodi del piano di controllo del cluster GKE usano sempre i nodi GKE schermati, anche se disabiliti la funzionalità sul tuo cluster. Attivazione o disattivazione I nodi GKE schermati influiscono solo sul fatto che i nodi worker che eseguono i tuoi carichi di lavoro la funzionalità.

Prezzi

Non sono previsti costi aggiuntivi per l'esecuzione dei nodi GKE schermati. Tuttavia, i nodi GKE schermati generano circa 0,5 kB di log in più all'avvio rispetto ai nodi standard. Consulta le Pagina dei prezzi di Cloud Logging per maggiori dettagli.

Prima di iniziare

Prima di iniziare, assicurati di aver eseguito le seguenti attività:

  • Attiva l'API Google Kubernetes Engine.
  • Attiva l'API Google Kubernetes Engine
  • Se vuoi utilizzare Google Cloud CLI per questa attività, installa e poi inizializza gcloud CLI. Se hai già installato gcloud CLI, scarica la versione più recente eseguendo gcloud components update.

Abilitazione dei nodi GKE schermati in un nuovo cluster

Puoi creare un nuovo cluster con i nodi GKE protetti abilitati utilizzando la riga di comando gcloud o la console Google Cloud.

gcloud

Quando crei un nuovo cluster, specifica l'opzione --enable-shielded-nodes:

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

Console

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud.

    Vai a Google Kubernetes Engine

  2. Fai clic su Crea.

  3. Nel riquadro di navigazione, in Cluster, fai clic su Sicurezza.

  4. Seleziona la casella di controllo Abilita nodi GKE schermati.

  5. Configura il cluster come preferisci.

  6. Fai clic su Crea.

Per ulteriori dettagli sulla creazione di cluster, consulta Creare un cluster.

Abilitazione dei nodi GKE schermati in un cluster esistente

Puoi abilitare i nodi GKE schermati in un cluster esistente utilizzando il metodo Google Cloud CLI o la console Google Cloud.

Dopo aver attivato i nodi GKE schermati, i nodi worker vengono ricreati come VM schermate. I nodi del cluster vengono ricreati in modo incrementale per ridurre al minimo i tempi di inattività.

gcloud

Quando aggiorni il cluster, specifica l'opzione --enable-shielded-nodes:

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

Console

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud.

    Vai a Google Kubernetes Engine

  2. Fai clic sul nome del cluster da modificare.

  3. In Sicurezza, nel campo Nodi GKE schermati, fai clic su Modifica nodi GKE schermati.

  4. Seleziona la casella di controllo Abilita nodi GKE schermati.

  5. Fai clic su Salva modifiche.

Verificare che i nodi GKE schermati siano abilitati

Verifica che il cluster utilizzi i nodi GKE protetti con la CLI Google Cloud o la console Google Cloud.

gcloud

Descrivi il cluster:

gcloud container clusters describe CLUSTER_NAME

Se i nodi GKE schermati sono abilitati, l'output del comando includerà queste linee:

shieldedNodes:
  enabled: true

Console

Per verificare che un cluster stia utilizzando nodi GKE schermati:

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud.

    Vai a Google Kubernetes Engine

  2. Fai clic sul nome del cluster da ispezionare.

  3. In Sicurezza, nel campo Nodi GKE schermati, verifica che L'opzione Nodi GKE schermati è Abilitata.

Puoi anche monitorare l'integrità dei nodi le Shielded VM sottostanti. Per la procedura, consulta Monitoraggio dell'integrità su istanze VM schermate.

Disabilitazione dei nodi GKE schermati

Puoi disabilitare i nodi GKE schermati con Google Cloud CLI o la console Google Cloud.

gcloud

Quando aggiorni il cluster, specifica l'opzione --no-enable-shielded-nodes:

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

Console

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud.

    Vai a Google Kubernetes Engine

  2. Fai clic sul nome del cluster da modificare.

  3. In Sicurezza, nel campo Nodi GKE schermati, fai clic su Modifica nodi GKE schermati.

  4. Deseleziona la casella di controllo Abilita Shielded GKE Nodes.

  5. Fai clic su Salva modifiche.

Dopo aver disattivato i nodi GKE schermati, i nodi vengono ricreati come VM non schermate normali. I nodi del cluster vengono ricreati in modo a rotazione per ridurre al minimo o un tempo di inattività.

Integrità dei nodi

Facoltativamente, puoi configurare i controlli di integrità dei nodi sui pool di nodi per fornire una protezione avanzata contro rootkit e bootkit per i tuoi nodi. I nodi GKE schermati, l'avvio protetto e il monitoraggio dell'integrità sono indipendenti ciascuna delle quali può essere attivata o disattivata singolarmente.

Avvio protetto

Avvio protetto è un pool di nodi disabilitata per impostazione predefinita su GKE non è possibile caricare moduli kernel non firmati quando è abilitato l'avvio protetto.

Se non utilizzi moduli del kernel non firmati di terze parti, puoi attivare l'avvio protetto con Google Cloud CLI o la console Google Cloud.

gcloud

Per abilitare l'avvio protetto quando crei un cluster:

gcloud container clusters create CLUSTER_NAME \
    --shielded-secure-boot

Per abilitare l'avvio protetto durante la creazione di un pool di nodi:

gcloud container node-pools create POOL_NAME \
    --shielded-secure-boot

L'avvio protetto è disattivato per impostazione predefinita. Puoi disabilitarlo esplicitamente durante la creazione in un cluster o in un pool di nodi con l'opzione --no-shielded-secure-boot.

Console

Per abilitare l'avvio protetto durante la creazione di un pool di nodi:

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud.

    Vai a Google Kubernetes Engine

  2. Fai clic sul nome del cluster da modificare.

  3. Fai clic su Aggiungi pool di nodi.

  4. Nel menu di navigazione, fai clic su Sicurezza.

  5. Nella sezione Opzioni per nodi schermati, seleziona la casella di controllo Abilita l'avvio protetto.

  6. Fai clic su Crea.

Monitoraggio dell'integrità

Il monitoraggio dell'integrità è un'impostazione del pool di nodi abilitata per impostazione predefinita in GKE. Puoi disattivare il monitoraggio dell'integrità con Google Cloud CLI o la console Google Cloud.

gcloud

Per disabilitare il monitoraggio dell'integrità per i componenti di sistema durante la creazione di un cluster:

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

Per disabilitare il monitoraggio dell'integrità per i componenti di sistema durante la creazione di un pool di nodi:

gcloud container node-pools create POOL_NAME \
    --no-shielded-integrity-monitoring

Il monitoraggio dell'integrità è abilitato per impostazione predefinita. Puoi abilitarla esplicitamente quando creando un cluster o un pool di nodi con --shielded-integrity-monitoring .

Console

Per disattivare il monitoraggio dell'integrità durante la creazione di un pool di nodi:

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud.

    Vai a Google Kubernetes Engine

  2. Fai clic sul nome del cluster da modificare.

  3. Fai clic su Aggiungi pool di nodi.

  4. Nel riquadro di navigazione, fai clic su Sicurezza.

  5. In Opzioni per nodi schermati, deseleziona Abilita il monitoraggio dell'integrità. casella di controllo.

Passaggi successivi