Sicurezza

In questa pagina vengono descritte le funzionalità di sicurezza incluse nei cluster Anthos su VMware (GKE On-Prem), tra cui ogni livello dell'infrastruttura e come configurare queste funzionalità di sicurezza in base alle tue esigenze.

Panoramica

I cluster Anthos su VMware offrono diverse funzionalità per proteggere i carichi di lavoro, tra cui i contenuti dell'immagine container, il runtime del container, la rete del cluster e l'accesso al server API del cluster.

È meglio adottare un approccio a più livelli per proteggere i cluster e i carichi di lavoro. Puoi applicare il principio del privilegio minimo al livello di accesso che fornisci agli utenti e ai carichi di lavoro. Potrebbe essere necessario trovare dei compromessi per offrire il giusto livello di flessibilità e sicurezza.

Autenticazione e autorizzazione

Esegui l'autenticazione sui cluster Anthos sui cluster VMware tramite OpenID Connect (OIDC) o su un token dell'account di servizio Kubernetes tramite Cloud Console.

Per configurare un accesso più granulare alle risorse Kubernetes a livello di cluster o all'interno degli spazi dei nomi di Kubernetes, utilizzi il controllo degli accessi basato sui ruoli (RBAC) di Kubernetes. RBAC consente di creare criteri dettagliati che definiscono le operazioni e le risorse a cui vuoi consentire agli utenti e agli account di servizio di accedere. Con RBAC puoi controllare l'accesso per qualsiasi identità convalidata fornita.

Per semplificare e ottimizzare ulteriormente la tua strategia di autenticazione e autorizzazione per Kubernetes Engine, i cluster Anthos su VMware disattivano il controllo degli accessi basato sugli attributi (ABAC) legacy.

Sicurezza del piano di controllo

I componenti del piano di controllo includono il server, lo scheduler, i controller e il database etcd di Kubernetes in cui la configurazione di Kubernetes viene mantenuto. Mentre in Kubernetes Engine, i componenti del piano di controllo Kubernetes sono gestiti e gestiti da Google, gli amministratori locali gestiscono i componenti del piano di controllo nei cluster Anthos su VMware.

Nei cluster Anthos su VMware, i componenti del piano di controllo vengono eseguiti all'interno della tua rete aziendale. Puoi proteggere i cluster Anthos sul server API di VMware utilizzando i tuoi criteri di rete aziendale e i firewall esistenti. Puoi anche assegnare un indirizzo IP privato al server API e limitare l'accesso a tale indirizzo.

Tutte le comunicazioni nei cluster Anthos su VMware utilizzano canali TLS, governati da tre autorità di certificazione (CA): etcd, cluster e org:

  • La CA etcd protegge la comunicazione dal server API alle repliche etcd e anche il traffico tra le repliche etcd. Questa CA è autofirmata.
  • La CA del cluster protegge la comunicazione tra il server API e tutti i client API Kubernetes interni (kubelet, controller, scheduler). Questa CA è autofirmata.
  • La CA dell'organizzazione è una CA esterna utilizzata per fornire l'API Kubernetes a utenti esterni. Gestisci questa CA.

Per i piani di controllo dell'amministratore, le chiavi sono archiviate nel nodo del piano di controllo. Per i cluster utente, le chiavi vengono archiviate come Kubernetes Secret nel piano di controllo dell'amministratore. Il server API è configurato con un certificato fornito dall'utente firmato dalla CA dell'organizzazione. Il server API utilizza il nome del server (SNI) per determinare se utilizzare la chiave firmata dalla CA del cluster o la chiave firmata dalla CA dell'organizzazione.

L'autenticazione del cluster nei cluster Anthos su VMware è gestita da certificati e token di connessione dell'account di servizio. In qualità di amministratore, esegui l'autenticazione sul piano di controllo utilizzando OIDC o con il certificato amministrativo (che utilizzi per la creazione iniziale dell'associazione dei ruoli o per scopi di emergenza).

La rotazione dei certificati viene gestita nei seguenti modi:

  • Per il server API, i piani di controllo e i nodi, i certificati vengono creati o ruotati a ogni upgrade.
  • Le autorità di certificazione possono essere ruotate raramente o on demand.

Sicurezza dei nodi

I cluster Anthos su VMware eseguono il deployment dei carichi di lavoro nelle istanze VMware, che sono collegate ai cluster come nodi. Le sezioni seguenti mostrano come utilizzare le funzionalità di sicurezza a livello di nodo disponibili nei cluster Anthos su VMware.

Ubuntu

I cluster Anthos su VMware utilizzano una versione ottimizzata di Ubuntu come sistema operativo su cui eseguire il piano di controllo e i nodi di Kubernetes. Ubuntu include un ricco set di funzionalità di sicurezza moderne e i cluster Anthos su VMware implementano diverse funzionalità di miglioramento della sicurezza per i cluster, tra cui:

Sono disponibili guide per la sicurezza aggiuntive per Ubuntu, come:

Upgrade dei nodi

Dovresti eseguire l'upgrade di nodi su base regolare. Di tanto in tanto, i problemi di sicurezza nel runtime del container, in Kubernetes o nel sistema operativo dei nodi potrebbero richiedere l'upgrade urgente dei nodi. Quando esegui l'upgrade del cluster, viene eseguito l'upgrade del software di ogni nodo alle versioni più recenti.

Protezione dei carichi di lavoro

Kubernetes consente agli utenti di eseguire il provisioning, scalare e aggiornare rapidamente i carichi di lavoro basati su container. Questa sezione descrive le tattiche che amministratori e utenti possono utilizzare per limitare la capacità dei container in esecuzione di influire su altri container del cluster, gli host su cui vengono eseguiti e i servizi GCP abilitati nel loro progetto.

Limitazione dei privilegi di processo del container del pod

La limitazione dei privilegi dei processi containerizzati è importante per la sicurezza complessiva del cluster. Kubernetes Engine ti consente di impostare opzioni relative alla sicurezza tramite il contesto di sicurezza sia su pod che su container. Queste impostazioni consentono di modificare le impostazioni di sicurezza dei processi, ad esempio:

  • Utente e gruppo da eseguire.
  • Funzionalità di Linux disponibili.
  • Riassegnazione dei privilegi.

Il sistema operativo predefinito per cluster Cluster Anthos su VMware, Ubuntu, applica i criteri di sicurezza Docker AppArmor predefiniti a tutti i container avviati da Kubernetes. Puoi visualizzare il modello del profilo su GitHub. Tra le altre cose, il profilo nega le seguenti funzionalità ai container:

  • Scrittura in file direttamente in una directory di ID processo (/proc/).
  • Scrivere in file che non sono in /proc/.
  • Scrittura in file in /proc/sys diversi da /proc/sys/kernel/shm*.
  • Montaggio di file system.

Audit logging

L'audit logging di Kubernetes consente agli amministratori di conservare, eseguire query, elaborare e creare avvisi sugli eventi che si verificano nei tuoi cluster Anthos su ambienti VMware. Gli amministratori possono utilizzare le informazioni registrate per eseguire analisi forense, avvisi in tempo reale o catalogare l'utilizzo e l'accesso di un parco di cluster Kubernetes Engine.

Per impostazione predefinita, i cluster Anthos su VMware registrano l'attività di amministrazione. Se vuoi, puoi anche registrare gli eventi di accesso ai dati, a seconda dei tipi di operazioni che vuoi esaminare.

L'agente Connect comunica solo con il server API locale in esecuzione on-premise e ogni cluster deve avere un proprio set di audit log. Tutte le azioni eseguite dagli utenti dall'interfaccia utente su Connect vengono registrate da quel cluster.

Crittografia

Se i tuoi cluster Anthos su cluster VMware e i relativi carichi di lavoro si connettono in modo sicuro ai servizi Google Cloud tramite Cloud VPN, puoi utilizzare Cloud Key Management Service (Cloud KMS) per la gestione delle chiavi. Cloud KMS è un servizio di gestione delle chiavi ospitato nel cloud che consente di gestire le chiavi di crittografia per i servizi. Puoi generare, utilizzare, ruotare ed eliminare chiavi di crittografia AES256, RSA 2048, RSA 3072, RSA 4096, EC P256 ed EC P384. Cloud KMS è integrato con Identity and Access Management (IAM) e Cloud Audit Logging in modo da poter gestire le autorizzazioni per le singole chiavi e monitorarne l'utilizzo. Utilizza Cloud KMS per proteggere secret e altri dati sensibili che devi archiviare. In alternativa, puoi scegliere di utilizzare una delle seguenti alternative:

  • Secret di Kubernetes
  • Hashicorp Vault
  • HSM di rete Thales Luna
  • Google Cloud Hardware Security Module (HSM)

Secret di Kubernetes

Le risorse Secret di Kubernetes archiviano i dati sensibili, come password, token OAuth e chiavi SSH, nei cluster. L'archiviazione di dati sensibili nei secret è più sicura dell'archiviazione in ConfigMap in testo non crittografato o nelle specifiche dei pod. L'uso dei secret ti consente di controllare in che modo vengono utilizzati i dati sensibili e riduce il rischio di esporre i dati a utenti non autorizzati.

Hashicorp Vault

Modulo di sicurezza hardware