Rafforzamento della sicurezza del cluster

Con la velocità di sviluppo di Kubernetes, spesso ci sono nuove funzionalità di sicurezza che puoi utilizzare. Questo documento descrive come proteggere i tuoi cluster GKE On-Prem.

Questo documento dà la priorità alla mitigazione di valore elevato che richiedono la tua azione al momento della creazione del cluster. Le funzionalità meno critiche, le impostazioni predefinite per la sicurezza e quelle che possono essere attivate dopo la creazione del cluster vengono menzionate più avanti nel documento. Per una panoramica generale degli argomenti relativi alla sicurezza, consulta la pagina Sicurezza.

Elenco di controllo

Il seguente elenco di controllo del deployment evidenzia le best practice per la protezione del deployment della piattaforma dei cluster Anthos. Per ulteriori informazioni su ciascuna pratica, consulta le sezioni del documento.

Elenco di controllo per il deployment Descrizione
Identità e controllo dell'accesso

Utilizza i privilegi dell'account vSphere:
Utilizza un account amministratore vSphere con privilegi minimi.

Account di servizio Google Cloud sicuri:
riduci al minimo i privilegi dell'account di servizio Google Cloud.

Configura OpenID Connect (OIDC):
Configura OpenID Connect per l'autenticazione degli utenti.

Utilizza gli spazi dei nomi Kubernetes e RBAC per limitare l'accesso:
Utilizza gli spazi dei nomi con RBAC per l'isolamento amministrativo e meno ruoli e diritti dei privilegi.

Protezione dei dati

Cripta le macchine virtuali vSphere:
Imposta vSphere per criptare i volumi utilizzati da GKE On-Prem.

Gestisci i secret:
Cripta i secret at-rest.

Protezione di rete

Limita l'accesso di rete al piano di controllo e ai nodi:
configura i controlli per isolare e proteggere le reti e i nodi del piano di controllo.

Usa i criteri di rete per limitare il traffico:
Implementa i criteri di rete per limitare il traffico tra cluster.

Sicurezza dichiarativa

Utilizza il controller dei criteri di Anthos Config Management:
Installa Anthos Config Management Policy Controller per i criteri di sicurezza dichiarativi all'interno dei tuoi cluster.

Manutenzione

Esegui l'upgrade di Anthos:
Assicurati di eseguire la versione più recente di Anthos per la tua piattaforma.

Monitorare i bollettini sulla sicurezza:
Consulta i bollettini sulla sicurezza di Anthos per gli ultimi consigli e indicazioni sul controllo delle versioni.

Monitoraggio e logging

Imposta le opzioni per il logging dei cluster Anthos:
Assicurati che il logging sia attivato e integrato in una soluzione SIEM.

Identità e controllo dell'accesso

Utilizza i privilegi dell'account vSphere

L'account utente vCenter che utilizzi per installare GKE On-Prem deve avere privilegi sufficienti. Ad esempio, un account utente a cui è assegnato il ruolo Amministratore di vCenter ha i privilegi per l'accesso completo a tutti gli oggetti vCenter e fornisce un amministratore del cluster GKE on-prem con accesso completo.

Si consiglia il principio del privilegio minimo, che concede solo i privilegi necessari per installare correttamente Anthos. Abbiamo definito il set minimo di privilegi necessari per eseguire l'installazione, nonché i comandi necessari per concedere queste autorizzazioni.

Proteggi gli account di servizio Google Cloud

GKE On-Prem richiede quattro account di servizio Google Cloud:

  • Un account di servizio predefinito per accedere al software GKE On-Prem. Puoi crearlo quando acquisti Anthos.
  • Un account di servizio di registrazione che deve essere utilizzato da Connect per la registrazione dei cluster GKE On-Prem con Google Cloud.
  • Un account di servizio Connect che deve essere utilizzato da Connect per stabilire una connessione tra cluster GKE on-prem e Google Cloud.
  • Un account di servizio Cloud Logging per la raccolta dei log del cluster per l'utilizzo da parte di Cloud Logging.

Durante l'installazione, assumi i ruoli di Identity and Access Management a questi account di servizio. Questi ruoli concedono agli account di servizio privilegi specifici all'interno del progetto e possono essere generati durante l'installazione.

Configura OpenID Connect

Puoi configurare l'autenticazione solo al momento della creazione del cluster. Per configurare l'autenticazione utente per i tuoi cluster, utilizza OpenID Connect (OIDC).

GKE On-Prem supporta OIDC come uno dei meccanismi di autenticazione per interagire con un server API Kubernetes del cluster utente. Con OIDC puoi gestire l'accesso ai cluster Kubernetes utilizzando le procedure standard nella tua organizzazione per creare, abilitare e disabilitare gli account utente.

Per il supporto specifico di OIDC, consulta la seguente documentazione:

Usa gli spazi dei nomi Kubernetes e RBAC per limitare l'accesso

Per concedere ai team l'accesso con privilegi minimi a Kubernetes, crea spazi dei nomi o cluster specifici per l'ambiente di Kubernetes. Assegna centri di costo ed etichette appropriate a ogni spazio dei nomi per responsabilità e storno di addebito. Concedi agli sviluppatori solo il livello di accesso ai loro spazi dei nomi di cui devono eseguire il deployment e gestire le applicazioni, soprattutto in produzione.

Mappa le attività che gli utenti devono completare sul cluster e definisci le autorizzazioni necessarie per completare ciascuna attività. Per concedere le autorizzazioni a livello di cluster e spazio dei nomi, utilizza KubernetesRBAC.

Oltre alle autorizzazioni per gli account di servizio Google Cloud utilizzati per installare GKE On-Prem, IAM non si applica ai cluster GKE On-Prem.

Per saperne di più, consulta la seguente documentazione:

Protezione dei dati

Cripta le macchine virtuali vSphere

I nodi del cluster GKE On-Prem vengono eseguiti su macchine virtuali (VM) nel tuo cluster vSphere. Google consiglia vivamente di criptare tutti i dati at-rest. Per farlo su vSphere, segui il PDF del VMS per la sicurezza di VMware e le best practice per la crittografia delle VM.

Questa operazione deve essere eseguita prima dell'installazione di Anthos.

Gestisci i secret

Per fornire un ulteriore livello di protezione per i dati sensibili, come i secret di Kubernetes archiviati in etcd, configura un gestore di secret integrato con i cluster GKE on-prem.

Se stai eseguendo carichi di lavoro in più ambienti, potresti preferire una soluzione che funzioni sia per Google Kubernetes Engine sia per GKE On-Prem. Se scegli di utilizzare un gestore di secret esterno, ad esempio HashiCorp Vault, configuralo prima di integrare i cluster GKE On-Prem.

Hai a disposizione diverse opzioni per la gestione dei secret:

  • Puoi utilizzare i secret di Kubernetes in modo nativo in GKE On-Prem. Prevediamo che i cluster utilizzino la crittografia vSphere per le VM come descritto in precedenza, il che fornisce protezione di base della crittografia dei dati inattivi per i secret. I secret non sono ulteriormente criptati per impostazione predefinita.
  • Puoi utilizzare un gestore di secret esterno, ad esempio HashiCorp Vault. Puoi eseguire l'autenticazione ad HashiCorp utilizzando un account di servizio Kubernetes o un account di servizio Google Cloud.

Per saperne di più, consulta la seguente documentazione:

Protezione della rete

Limita l'accesso di rete al piano di controllo e ai nodi

Limita l'esposizione del tuo piano di controllo del cluster e dei nodi a Internet. Queste scelte non possono essere modificate dopo la creazione del cluster. Per impostazione predefinita, i nodi del cluster GKE On-Prem vengono creati utilizzando indirizzi RFC 1918; la best practice è non modificare questo valore. Implementa regole firewall nella tua rete on-premise per limitare l'accesso al piano di controllo.

Utilizza i criteri di rete per limitare il traffico

Per impostazione predefinita, tutti i servizi in un cluster GKE On-Prem possono comunicare tra loro. Per informazioni sul controllo delle comunicazioni tra i servizi in base alle necessità per i carichi di lavoro, consulta le sezioni seguenti.

Limitare l'accesso di rete ai servizi rende molto più difficile per gli utenti malintenzionati spostarsi lateralmente all'interno del cluster e offre ai servizi una certa protezione contro i denial of service involontari o intenzionali. Esistono due metodi consigliati per controllare il traffico:

  • Per controllare il traffico L7 verso gli endpoint della tua applicazione, utilizza Istio. Scegli questa opzione se ti interessano il bilanciamento del carico, l'autorizzazione del servizio, la limitazione, la quota e le metriche.
  • Per controllare il traffico L4 tra i pod, utilizza i criteri di rete di Kubernetes. Scegli questa opzione se stai cercando la funzionalità di controllo dell'accesso di base gestita da Kubernetes.

Puoi abilitare il criterio di rete Istio e Kubernetes dopo aver creato i cluster GKE on-prem. Se necessario, puoi utilizzarli insieme.

Per saperne di più, consulta la seguente documentazione:

Sicurezza dichiarativa

Utilizza il controller dei criteri di Anthos Config Management

I controller di ammissione Kubernetes sono plug-in che regolano e applicano il modo in cui viene utilizzato un cluster Kubernetes. I controller di ammissione sono una parte importante dell'approccio di difesa in profondità alla protezione del cluster.

La best practice è utilizzare il controller dei criteri di Anthos Config Management. Policy Controller utilizza il Framework del vincolo OPA per descrivere e applicare il criterio come CRD. I vincoli applicati al cluster vengono definiti nei modelli di vincolo, di cui viene eseguito il deployment nei cluster.

Per informazioni su come utilizzare i vincoli di Policy Controller per ottenere molte delle stesse protezioni di PodSecurityPolicies, con la possibilità di testare i criteri prima di applicarli, consulta l'articolo Utilizzare i vincoli per applicare la sicurezza dei pod.

Per saperne di più, consulta la seguente documentazione:

Manutenzione

Esegui l'upgrade di Anthos

Kubernetes introduce regolarmente nuove funzionalità di sicurezza e fornisce patch di sicurezza.

Sei responsabile di mantenere aggiornati i tuoi cluster GKE on-prem. Per ogni release, consulta le note di rilascio. Inoltre, pianifica di eseguire l'aggiornamento alle nuove release delle patch ogni mese e alle versioni secondarie ogni tre mesi. Scopri come eseguire l'upgrade dei cluster.

Inoltre, sei responsabile dell'upgrade e della protezione dell'infrastruttura vSphere:

Monitorare i bollettini di sicurezza

Il team per la sicurezza di Anthos pubblica bollettini sulla sicurezza per le vulnerabilità di gravità elevata e critica.

Questi bollettini seguono uno schema di numerazione delle vulnerabilità Google Cloud comune e sono collegati dalla pagina dei bollettini principali di Google Cloud e dalle note di rilascio di GKE On-Prem. Ogni pagina del bollettino sulla sicurezza ha un feed RSS in cui gli utenti possono iscriversi agli aggiornamenti.

Quando è richiesto un intervento da parte del cliente per far fronte a queste vulnerabilità alte e critiche, Google contatta i clienti via email. Inoltre, Google potrebbe anche contattare i clienti con contratti di assistenza tramite canali di assistenza.

Per saperne di più, consulta la seguente documentazione:

Monitoraggio e logging

Imposta le opzioni per il logging dei cluster Anthos

GKE On-Prem include diverse opzioni per il logging e il monitoraggio dei cluster, inclusi i servizi gestiti basati su cloud, gli strumenti open source e la compatibilità convalidata con soluzioni commerciali di terze parti:

  • Cloud Logging e Cloud Monitoring, abilitati dagli agenti in-cluster di cui è stato eseguito il deployment con GKE On-Prem
  • Prometheus e Grafana, disattivati per impostazione predefinita
  • Configurazioni convalidate con soluzioni di terze parti

Qualsiasi sia la soluzione di logging che scegli in base ai requisiti aziendali, ti consigliamo vivamente di registrare eventi e avvisi pertinenti in avanti per un servizio di sicurezza e gestione di eventi (SIEM) centralizzato per la gestione degli incidenti di sicurezza.

Per saperne di più, consulta la seguente documentazione: