Utilizzo di nodi GKE schermati


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

Informazioni sui nodi GKE schermati

I nodi GKE schermati sono basati sulle VM schermate di Compute Engine. Senza nodi GKE schermati, un utente malintenzionato può sfruttare una vulnerabilità in un pod per esfiltrare le credenziali di bootstrap e impersonare i nodi nel cluster, consentendo agli utenti malintenzionati di accedere ai secret del cluster. Quando i nodi GKE schermati sono abilitati, il piano di controllo GKE verifica in modo crittografico che:

  • Ogni nodo nel cluster è una macchina virtuale in esecuzione nel data center di Google.
  • Ogni nodo fa parte del gruppo di istanze gestite di cui è stato eseguito il provisioning per il cluster.
  • È in corso il provisioning di un certificato per il kubelet per il nodo su cui è in esecuzione.

Ciò limita la capacità di un utente malintenzionato di impersonare un nodo nel cluster anche se è in grado di esfiltrare le credenziali di bootstrap del nodo.

Facoltativamente, puoi configurare i controlli di integrità dei nodi sui pool di nodi per fornire una protezione avanzata da rootkit e bootkit ai nodi. Queste impostazioni del pool di nodi sono indipendenti dai nodi GKE schermati e funzioneranno anche se i nodi GKE schermati sono disabilitati nel cluster.

Per saperne di più, consulta la documentazione relativa alle VM schermate.

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

Disponibilità

  • I nodi GKE schermati sono disponibili in GKE versione 1.13.6-gke.0 e successive.
  • I nodi GKE schermati sono disponibili in tutte le zone e le regioni.
  • I nodi GKE schermati possono essere utilizzati con tutte le immagini dei nodi.
  • I nodi GKE schermati possono essere utilizzati con le GPU.

Prima di iniziare

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

  • Abilita l'API Google Kubernetes Engine.
  • Abilita l'API Google Kubernetes Engine
  • Se vuoi utilizzare Google Cloud CLI per questa attività, installa e initialize 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 nodi GKE schermati abilitati utilizzando gcloud CLI 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 dei cluster, consulta Creazione di un cluster.

Abilitazione dei nodi GKE schermati in un cluster esistente

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

Dopo aver abilitato i nodi GKE schermati, il piano di controllo e i nodi vengono ricreati come VM schermate. Il piano di controllo non è disponibile durante la nuova creazione. I nodi del cluster vengono ricreati in modo continuativo 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.

Verifica dell'abilitazione dei nodi GKE schermati

Per verificare che il cluster utilizzi nodi GKE schermati, puoi utilizzare Google Cloud CLI 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à le seguenti righe:

shieldedNodes:
  enabled: true

Console

Per verificare che un cluster utilizzi 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 che vuoi ispezionare.

  3. In Sicurezza, nel campo Nodi GKE schermati, verifica che l'opzione Nodi GKE schermati sia Abilitata.

Puoi anche monitorare l'integrità delle Shielded VM sottostanti dei tuoi nodi. Per la procedura, consulta Monitoraggio dell'integrità su Shielded 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 nodi GKE schermati.

  5. Fai clic su Salva modifiche.

Dopo aver disabilitato i nodi GKE schermati, il piano di controllo e i nodi vengono ricreati come normali VM non schermate. Il piano di controllo non è disponibile durante la nuova creazione. I nodi del cluster vengono ricreati in modo continuativo per ridurre al minimo i tempi di inattività.

Integrità del nodo

Avvio protetto e monitoraggio dell'integrità sono impostazioni del pool di nodi che possono essere utilizzate insieme ai nodi GKE schermati. I nodi GKE schermati, l'avvio protetto e il monitoraggio dell'integrità sono funzionalità indipendenti che possono essere abilitate o disabilitate singolarmente.

Avvio protetto

Avvio protetto è un'impostazione del pool di nodi disabilitata per impostazione predefinita in GKE perché non è possibile caricare moduli kernel non firmati di terze parti se è abilitato l'avvio protetto.

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

gcloud

Per abilitare l'avvio protetto durante la creazione di 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

Avvio protetto è disattivato per impostazione predefinita. Puoi disabilitarla esplicitamente durante la creazione di un cluster o di 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 su GKE. Puoi disabilitare 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 abilitarlo esplicitamente durante la creazione di un cluster o di un pool di nodi con l'opzione --shielded-integrity-monitoring.

Console

Per disabilitare 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 la casella di controllo Abilita il monitoraggio dell'integrità.

Passaggi successivi