Implementazione della sicurezza di computing e container

Last reviewed 2023-07-20 UTC

Google Cloud include controlli per proteggere le risorse di computing e le risorse container di Google Kubernetes Engine (GKE). Questo documento nel framework dell'architettura Google Cloud descrive i controlli chiave e le best practice per il loro utilizzo.

Utilizzare immagini VM protette e curate

Google Cloud include la VM schermata, che consente di proteggere le istanze VM. La Shielded VM è progettata per impedire il caricamento di codice dannoso durante il ciclo di avvio. Garantisce la sicurezza all'avvio, monitora l'integrità e utilizza il Virtual Trusted Platform Module (vTPM). Utilizza Shielded VM per carichi di lavoro sensibili.

Oltre a utilizzare la Shielded VM, puoi usare le soluzioni dei partner Google Cloud per proteggere ulteriormente le tue VM. Molte soluzioni dei partner offerte su Google Cloud si integrano con Security Command Center, che fornisce il rilevamento delle minacce agli eventi e il monitoraggio dello stato di integrità. Puoi utilizzare i partner per un'analisi avanzata delle minacce o una sicurezza extra del runtime.

Utilizzare Confidential Computing per l'elaborazione dei dati sensibili.

Per impostazione predefinita, Google Cloud cripta i dati at-rest e in transito sulla rete, ma i dati non vengono criptati quando sono in uso in memoria. Se la tua organizzazione gestisce dati riservati, devi mitigare le minacce che compromettono la riservatezza e l'integrità dell'applicazione o dei dati nella memoria di sistema. I dati riservati includono informazioni che consentono l'identificazione personale (PII), dati finanziari e informazioni sanitarie.

Confidential Computing si basa su Shielded VM. Protegge i dati in uso eseguendo il calcolo in un ambiente di esecuzione affidabile basato su hardware. Questo tipo di ambiente sicuro e isolato aiuta a impedire l'accesso o la modifica non autorizzata ad applicazioni e dati mentre questi sono in uso. Un ambiente di esecuzione affidabile aumenta anche le garanzie di sicurezza per le organizzazioni che gestiscono dati sensibili e regolamentati.

In Google Cloud, puoi abilitare Confidential Computing eseguendo Confidential VM o Confidential GKE Node. Attiva Confidential Computing durante l'elaborazione di carichi di lavoro riservati o quando hai dati riservati (ad esempio secret) che devono essere esposti durante l'elaborazione. Per ulteriori informazioni, consulta il sito Confidential Computing Consortium.

Proteggi VM e container

OS Login consente ai tuoi dipendenti di connettersi alle tue VM utilizzando le autorizzazioni di Identity and Access Management (IAM) come fonte attendibile invece di fare affidamento su chiavi SSH. Pertanto, non devi gestire le chiavi SSH in tutta l'organizzazione. OS Login collega l'accesso di un amministratore al ciclo di vita dei dipendenti, il che significa che se i dipendenti passano a un altro ruolo o lasciano l'organizzazione, il loro accesso viene revocato con il loro account. OS Login supporta anche l'autenticazione a due fattori, che aggiunge un ulteriore livello di sicurezza dagli attacchi di violazione degli account.

In GKE, App Engine esegue istanze dell'applicazione all'interno dei container Docker. Per abilitare un profilo di rischio definito e impedire ai dipendenti di apportare modifiche ai container, assicurati che i container siano stateless e immutabili. Il principio di immutabilità indica che i tuoi dipendenti non modificano il container o non vi accedono in modo interattivo. Se deve essere modificata, crei una nuova immagine ed esegui nuovamente il deployment. Abilita l'accesso SSH ai container sottostanti solo in scenari di debug specifici.

Disattiva gli indirizzi IP esterni, a meno che non siano necessari

Per disabilitare l'allocazione degli indirizzi IP esterni (video) per le VM di produzione e impedire l'utilizzo di bilanciatori del carico esterni, puoi utilizzare i criteri dell'organizzazione. Se hai bisogno che le tue VM raggiungano internet o al tuo data center on-premise, puoi abilitare un gateway Cloud NAT.

Puoi eseguire il deployment di cluster privati in GKE. In un cluster privato, i nodi hanno solo indirizzi IP interni, il che significa che nodi e pod sono isolati da internet per impostazione predefinita. Puoi inoltre definire un criterio di rete per gestire la comunicazione tra pod nel cluster. Per maggiori informazioni, vedi Opzioni di accesso privato per i servizi.

Monitora l'istanza di computing e l'utilizzo di GKE

Gli audit log di Cloud sono abilitati automaticamente per Compute Engine e GKE. Gli audit log consentono di acquisire automaticamente tutte le attività nel cluster e monitorare eventuali attività sospette.

Puoi integrare GKE con i prodotti dei partner per la sicurezza del runtime. Puoi integrare queste soluzioni con Security Command Center al fine di fornire un'unica interfaccia per il monitoraggio delle applicazioni.

Mantieni aggiornati immagini e cluster

Google Cloud fornisce immagini selezionate del sistema operativo a cui vengono applicate regolarmente patch. Puoi importare immagini personalizzate ed eseguirle su Compute Engine, ma se decidi di farlo devi applicare le patch autonomamente. Google Cloud aggiorna regolarmente le immagini del sistema operativo per mitigare le nuove vulnerabilità come descritto nei bollettini sulla sicurezza e fornisce soluzioni per correggere le vulnerabilità per i deployment esistenti.

Se utilizzi GKE, ti consigliamo di abilitare l'upgrade automatico dei nodi per consentire a Google di aggiornare i nodi del cluster con le patch più recenti. Google gestisce i piani di controllo GKE, a cui vengono aggiornate automaticamente le patch. Inoltre, per il deployment puoi utilizzare immagini ottimizzate per i container curate da Google. Google corregge e aggiorna regolarmente queste immagini.

Controlla l'accesso alle immagini e ai cluster

È importante sapere chi può creare e avviare le istanze. Puoi controllare questo accesso utilizzando IAM. Per informazioni su come determinare le esigenze dei carichi di lavoro di accesso, consulta Pianificare le identità dei carichi di lavoro.

Inoltre, puoi utilizzare i Controlli di servizio VPC per definire quote personalizzate sui progetti in modo da limitare gli utenti che possono avviare le immagini. Per ulteriori informazioni, consulta la sezione Proteggere la rete.

Per garantire la sicurezza dell'infrastruttura per il tuo cluster, GKE ti consente di utilizzare IAM con controllo dell'accesso basato sui ruoli (RBAC) per gestire l'accesso al cluster e agli spazi dei nomi.

Isolare i container in una sandbox

Utilizza GKE Sandbox per eseguire il deployment di applicazioni multi-tenant che richiedono un ulteriore livello di sicurezza e isolamento dal kernel host. Ad esempio, usa GKE Sandbox quando esegui codice sconosciuto o non attendibile. GKE Sandbox è una soluzione per l'isolamento dei container che fornisce un secondo livello di difesa fra i carichi di lavoro containerizzati su GKE.

GKE Sandbox è stato creato per applicazioni che hanno requisiti di I/O bassi ma che hanno una scalabilità elevata. Questi carichi di lavoro containerizzati devono mantenere velocità e prestazioni, ma potrebbero anche coinvolgere codice non attendibile che richiede maggiore sicurezza. Utilizza gVisor, una sandbox per il runtime dei container, per fornire un ulteriore isolamento di sicurezza tra le applicazioni e il kernel host. gVisor fornisce controlli di integrità aggiuntivi e limita l'ambito di accesso per un servizio. Non è un servizio di protezione avanzata dei container da minacce esterne. Per maggiori informazioni su gVisor, vedi gVisor: proteggere gli utenti GKE e serverless nel mondo reale.

Passaggi successivi

Scopri di più sulla sicurezza del computing e dei container con le seguenti risorse: