Configura le best practice per la sicurezza

Questa pagina fornisce una panoramica delle best practice per la sicurezza consigliate per migliorare la strategia di sicurezza e protezione dei dati nelle tue Cloud Workstations. Questo elenco non è un elenco di controllo completo che garantisce le garanzie di sicurezza, né una sostituzione delle strategie di sicurezza esistenti.

L'obiettivo è fornirti una guida alle best practice di sicurezza rese possibili da Cloud Workstations. Se applicabile, aggiungi questi suggerimenti al tuo portafoglio di soluzioni di sicurezza, come parte dell'impegno per creare un approccio alla sicurezza a più livelli. L'approccio alla sicurezza a più livelli è uno dei principi di sicurezza fondamentali per l'esecuzione di servizi sicuri e conformi su Google Cloud.

Contesto

Il servizio Cloud Workstations fornisce immagini di base predefinite da utilizzare con il servizio. Il servizio ricrea e ripubblica queste immagini ogni settimana per garantire che il software in bundle includa le patch di sicurezza più recenti. Inoltre, il servizio utilizza un valore predefinito di timeout in esecuzione nella configurazione delle workstation per garantire che le workstation vengano aggiornate automaticamente e che le immagini senza patch non rimangano attive.

Tuttavia, Google Cloud non è proprietario di tutti i pacchetti in queste immagini. I gestori di pacchetti potrebbero dare priorità agli aggiornamenti in modo diverso a seconda dell'impatto di un bug o di vulnerabilità ed esposizioni comuni (CVE) sul prodotto. Se un prodotto utilizza solo una parte di una libreria, potrebbe non essere interessato dai risultati in altre parti della libreria. Per questo motivo, sebbene esistano risultati CVE derivanti dalle analisi delle vulnerabilità delle nostre immagini, Cloud Workstations è comunque in grado di fornire un prodotto sicuro.

Cloud Workstations può farlo perché fornisce un sistema di autenticazione e autorizzazione che aiuta ad assicurare che solo lo sviluppatore designato possa accedere alla propria workstation. Come per ogni ambiente di sviluppo, gli sviluppatori devono applicare le best practice all'uso della workstation. Per la massima sicurezza possibile, esegui solo codice attendibile, opera solo su input attendibili e accedi solo ai domini attendibili. Inoltre, è sconsigliato utilizzare le workstation per ospitare server di produzione o condividere una singola workstation con più sviluppatori.

Se vuoi avere un maggiore controllo sulla sicurezza delle immagini delle workstation della tua organizzazione, puoi anche creare le tue immagini container personalizzate.

Limita l'accesso alla rete pubblica

Disabilita gli indirizzi IP pubblici sulle tue workstation utilizzando la configurazione delle workstation e configura regole firewall che limitano l'accesso alle destinazioni internet pubbliche non richieste per il lavoro quotidiano dall'interno di Cloud Workstations. Se disabiliti gli indirizzi IP pubblici, devi configurare l'accesso privato Google o Cloud NAT sulla tua rete. Se utilizzi l'accesso privato Google e usi private.googleapis.com o restricted.googleapis.com per Artifact Registry (o Container Registry), assicurati di configurare i record DNS per i domini *.pkg.dev e *.gcr.io.

Limita l'accesso SSH diretto

Assicurati di limitare l'accesso SSH diretto alle VM nel progetto che ospita le tue Cloud Workstations, in modo che l'accesso sia possibile solo attraverso il gateway Cloud Workstations, dove vengono applicati i criteri Identity and Access Management (IAM)) e puoi abilitare i log di flusso VPC.

Per disattivare l'accesso SSH diretto alla VM, esegui questo comando Google Cloud CLI:

    gcloud workstations config update CONFIG \
        --cluster=CLUSTER \
        --region=REGION \
        --project=PROJECT \
        --disable-ssh-to-vm

Limita l'accesso alle risorse sensibili

Configura un perimetro di servizio Controlli di servizio VPC per limitare l'accesso alle risorse sensibili dalle workstation, impedendo l'esfiltrazione di codice sorgente ed esfiltrazione di dati.

Seguire il principio del privilegio minimo

Segui il principio del privilegio minimo per le autorizzazioni e l'allocazione delle risorse.

Autorizzazioni IAM

Utilizza la configurazione predefinita di Identity and Access Management, limitando l'accesso delle workstation a un singolo sviluppatore. Ciò contribuisce a garantire che ogni sviluppatore utilizzi un'istanza workstation univoca con una VM sottostante distinta, aumentando l'isolamento dell'ambiente. Le applicazioni e gli editor di codice di Cloud Workstations vengono eseguiti all'interno di un container in esecuzione in modalità privilegiata e con accesso root, per una maggiore flessibilità per gli sviluppatori. In questo modo viene fornita una workstation unica per sviluppatore e viene garantito che, anche se un utente esce dal container, rimanga all'interno della propria VM, non possa accedere a risorse esterne aggiuntive.

Configura le autorizzazioni IAM che limitano l'accesso non amministrativo per modificare le configurazioni delle workstation e le immagini container su Artifact Registry.

Inoltre, Google consiglia di configurare le autorizzazioni IAM per limitare l'accesso non amministrativo a qualsiasi risorsa di Compute Engine sottostante nel progetto che ospita le tue Cloud Workstations.

Per maggiori informazioni, consulta Utilizzare IAM in modo sicuro.

Autorizzazioni Cloud KMS

Per supportare meglio il principio del privilegio minimo, ti consigliamo di mantenere le risorse Cloud KMS e le risorse Cloud Workstations in progetti Google Cloud separati. Crea il tuo progetto chiave Cloud KMS senza un owner a livello di progetto e designa un amministratore dell'organizzazione concesso a livello di organizzazione. A differenza di un owner, un amministratore dell'organizzazione non può gestire o utilizzare direttamente le chiavi. Possono impostare criteri IAM limitati, che limitano chi può gestire e utilizzare le chiavi.

Questo processo è anche noto come separazione dei compiti,ovvero il concetto di garantire che un individuo non disponga di tutte le autorizzazioni necessarie per poter eseguire un'azione dannosa. Per ulteriori informazioni, consulta la sezione sulla suddivisione dei compiti.

Applica patch e aggiornamenti automatici delle immagini

Assicurati che le tue workstation utilizzino la versione più recente delle immagini di base di Cloud Workstations, che contiene le patch e le correzioni di sicurezza più recenti. Il valore di timeout in esecuzione sulla configurazione della workstation aiuta a garantire che le workstation create con questa configurazione vengano aggiornate automaticamente alla sessione successiva, in modo da corrispondere alla versione più recente dell'immagine container definita nella configurazione della workstation.

  • Se la tua organizzazione utilizza una delle immagini di base di Cloud Workstations, la workstation preleva automaticamente eventuali aggiornamenti alla configurazione della workstation al successivo arresto e riavvio della workstation. L'impostazione di runningTimeout o l'utilizzo del valore predefinito contribuisce a garantire che queste workstation vengano arrestate.
  • Se la tua organizzazione utilizza un'immagine personalizzata, assicurati di ricrearla regolarmente. Ti consigliamo di creare una pipeline di immagini sicura come descritto nella sezione seguente.

Crea una pipeline di immagini sicura per le immagini personalizzate

Sei responsabile della manutenzione e dell'aggiornamento dei pacchetti personalizzati e delle dipendenze aggiunte alle immagini personalizzate.

Se vuoi creare immagini personalizzate, segui questi suggerimenti:

Configurazione dei log di flusso VPC

Quando crei un cluster di workstation, Cloud Workstations associa il cluster a una determinata subnet e tutte le workstation vengono posizionate in quella subnet. Per abilitare i log di flusso VPC, assicurati di attivare il logging per quella subnet. Per maggiori informazioni, consulta Abilitare i log di flusso VPC per una subnet esistente.