Questa pagina fornisce una panoramica delle best practice per la sicurezza consigliate per migliorare la sicurezza e la protezione dei dati delle tue Cloud Workstations. Questo elenco non è un elenco di controllo completo che garantisce garanzie di sicurezza o un'alternativa alle tue posture di sicurezza esistenti.
L'obiettivo è fornirti una guida alle best practice per la sicurezza rese possibili da Cloud Workstations. Aggiungi questi consigli al tuo portafoglio di soluzioni di sicurezza, se applicabili, nell'ambito del tuo impegno per creare un approccio alla sicurezza a più livelli. Un approccio alla sicurezza a più livelli è uno dei principi di sicurezza fondamentali per l'esecuzione di servizi sicuri e conformi su Google Cloud.
Sfondo
Il servizio Cloud Workstations fornisce immagini di base predefinite da utilizzare con il servizio. Il servizio ricostruisce e ripubblica queste immagini settimanalmente per contribuire a garantire che il software in bundle includa le patch di sicurezza più recenti. Inoltre, il servizio utilizza un valore predefinito per il timeout di esecuzione nella configurazione della workstation per assicurarsi che le workstation vengano aggiornate automaticamente e che le immagini non sottoposte a patch non rimangano attive.
Tuttavia, Google Cloud non possiede tutti i pacchetti raggruppati in queste immagini. I gestori dei pacchetti potrebbero dare la priorità agli aggiornamenti in modo diverso a seconda dell'impatto di un bug o di vulnerabilità e esposizioni comuni (CVE) sul loro prodotto. Se un prodotto utilizza solo una parte di una raccolta, potrebbe non essere interessato dalle scoperte in altre parti della raccolta. Per questo motivo, anche se esistono risultati CVE provenienti da analisi delle vulnerabilità delle nostre immagini, Cloud Workstations è comunque in grado di fornire un prodotto sicuro.
Cloud Workstations possono farlo perché forniscono un sistema di autenticazione e autorizzazione che contribuisce ad assicurare che solo lo sviluppatore designato possa accedere alla propria workstation. Come per qualsiasi ambiente di sviluppo, gli sviluppatori devono applicare le best practice quando utilizzano la workstation. Per garantire la massima sicurezza possibile, esegui solo codice attendibile, opera solo su input attendibili e accedi solo a domini attendibili. Inoltre, ti sconsigliamo di utilizzare le stazioni di lavoro per ospitare i server di produzione o di condividere una singola stazione di lavoro con più sviluppatori.
Se vuoi avere un maggiore controllo sulla sicurezza delle immagini delle workstation della tua organizzazione, puoi anche creare le tue immagini contenitore personalizzate.
Limitare l'accesso alla rete pubblica
Disattiva gli indirizzi IP pubblici
sulle tue workstation utilizzando la configurazione della workstation e
configura le regole del firewall
limitando l'accesso alle destinazioni di internet pubblico non necessarie per il lavoro quotidiano
da Cloud Workstations.
Se disattivi gli indirizzi IP pubblici, devi configurare
Accesso privato Google
o Cloud NAT sulla tua rete.
Se utilizzi l'accesso privato Google e 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 tramite il gateway Cloud Workstations, dove vengono applicati i criteri di Identity and Access Management (IAM) e possono essere attivati i log flussi VPC.
Per disattivare l'accesso SSH diretto alla VM, esegui il seguente comando Google Cloud CLI:
gcloud workstations configs update CONFIG \ --cluster=CLUSTER \ --region=REGION \ --project=PROJECT \ --disable-ssh-to-vm
Limitare l'accesso alle risorse sensibili
Configura un perimetro di servizio VPC Service Controls per limitare l'accesso alle risorse sensibili dalle tue workstation, impedendo l'esfiltrazione di codice sorgente e 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 alla workstation a un singolo sviluppatore. In questo modo, ogni sviluppatore utilizza un'istanza della workstation univoca con una VM di base distinta, aumentando l'isolamento dell'ambiente. Gli editor di codice e le applicazioni di Cloud Workstations vengono eseguiti all'interno di un contenitore in modalità privilegiata e con accesso amministrativo, per una maggiore flessibilità per gli sviluppatori. In questo modo viene fornita una stazione di lavoro unica per sviluppatore e si contribuisce ad assicurare che, anche se un utente esce da questo contenitore, rimarrà all'interno della VM e non potrà accedere ad altre risorse esterne.
Configura le autorizzazioni IAM che limitano l'accesso non amministrativo alla modifica delle configurazioni della workstation e delle immagini container su Artifact Registry.
Inoltre, Google consiglia di configurare le autorizzazioni IAM limitando l'accesso non amministrativo a qualsiasi risorsa Compute Engine di base nel progetto che ospita le tue Cloud Workstations.
Per ulteriori 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 progetto di chiavi Cloud KMS senza un owner
a livello di progetto e designa un amministratore dell'organizzazione
conseguito a livello di organizzazione.
A differenza di un owner
, un
amministratore dell'organizzazione
non può gestire o utilizzare
direttamente le chiavi. Sono limitati all'impostazione dei criteri IAM,
che limitano chi può gestire e utilizzare le chiavi.
Questo è noto anche come separazione dei compiti,ovvero il concetto di assicurarsi che un individuo non disponga di tutte le autorizzazioni necessarie per poter completare un'azione dannosa. Per ulteriori informazioni, consulta la sezione sulla separazione delle responsabilità.
Applicare aggiornamenti automatici e patch alle immagini
Assicurati che le tue stazioni di lavoro utilizzino la versione più recente delle immagini di base delle stazioni di lavoro Cloud, che contengono le patch e le correzioni di sicurezza più recenti. Il valore timeout esecuzione nella configurazione della workstation contribuisce ad assicurare che le workstation create con questa configurazione vengano aggiornate automaticamente nella sessione successiva in modo da corrispondere alla versione più recente dell'immagine del contenitore definita nella configurazione della workstation.
- Se la tua organizzazione utilizza una delle immagini di base di Cloud Workstations, la workstation rileva automaticamente gli aggiornamenti alla configurazione della workstation al successivo arresto e riavvio. L'impostazione
runningTimeout
o l'utilizzo dell'impostazione predefinita contribuisce a garantire che queste stazioni di lavoro vengano arrestate. - Se la tua organizzazione utilizza un'immagine personalizzata, assicurati di rigenerarla regolarmente. Ti consigliamo di creare una pipeline di immagini sicure come descritto nella sezione seguente.
Creare una pipeline di immagini sicure per le immagini personalizzate
È tua responsabilità gestire e aggiornare i pacchetti e le dipendenze personalizzate aggiunte alle immagini personalizzate.
Se crei immagini personalizzate, ti consigliamo quanto segue:
Contribuisci a proteggere la tua pipeline di immagini ricreando automaticamente queste immagini quando l'immagine di base di Cloud Workstations viene aggiornata.
Esegui uno strumento di analisi dei contenitori come Artifact Analysis per controllare eventuali dipendenze aggiuntive che hai aggiunto.
Pianifica le build per ricostruire le immagini settimanalmente o scopri come automatizzare la ricostruzione delle immagini container.
Configura i log di flusso VPC
Quando crei un cluster di workstation, Cloud Workstations lo associa a una determinata subnet e tutte le workstation vengono posizionate in quella subnet. Per attivare i log di flusso VPC, assicurati di attivare il logging per la subnet in questione. Per ulteriori informazioni, consulta Abilitare i log di flusso VPC per una subnet esistente.