Configura le best practice per la sicurezza

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 le garanzie di sicurezza, né un la sostituzione delle tue posizioni di sicurezza esistenti.

L'obiettivo è fornirti una guida alle best practice per la sicurezza rese possibili dalle Cloud Workstation. 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 ricrea e ripubblica queste immagini ogni settimana per 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 configurazione workstation per garantire che le workstation vengono aggiornate automaticamente e le immagini prive di 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 biblioteca, potrebbe non essere influenzata dai rilevamenti in altre parti della libreria. Per questo motivo, anche se i risultati CVE delle analisi di vulnerabilità delle nostre immagini, Cloud Workstations è ancora in grado di fornire prodotto sicuro.

Cloud Workstations può farlo perché fornisce un servizio di autenticazione sistema di autorizzazione che solo lo sviluppatore designato può 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, 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

Disabilita gli indirizzi IP pubblici sulle workstation utilizzando la configurazione e configurare le regole firewall limitare l'accesso a destinazioni internet pubbliche non richiesto per il lavoro quotidiano da Cloud Workstations. Se disabiliti gli indirizzi IP pubblici, devi configurare Accesso privato Google o Cloud NAT sulla tua rete. Se utilizzi l'accesso privato Google e utilizzi private.googleapis.com o restricted.googleapis.com per Artifact Registry (o Container Registry), assicurati di configurare i record DNS per 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 disabilitare l'accesso diretto SSH alla VM, esegui questo comando di 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 alle 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. Cloud Workstations gli editor di codice e le applicazioni vengono eseguite all'interno di un container in esecuzione in modalità con privilegi e con all'accesso, 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 sfugge a questo contenitore, rimarrà all'interno della VM, senza poter 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 limitare l'accesso degli utenti non amministratori a qualsiasi componente Compute Engine sottostante 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 di minor privilegio, 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 di criteri IAM, che limitano chi può gestire e utilizzare le chiavi.

Questa procedura è nota anche come separazione dei compiti,concetto di assicurandosi che un utente non disponga di tutte le autorizzazioni in grado di completare un'azione dannosa. Per ulteriori informazioni, vedi separazione dei compiti.

Applica patch e aggiornamenti automatici delle 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. La timeout in esecuzione configurazione della workstation aiuta ad assicurare che le workstation create con questa configurazione si aggiorna automaticamente alla sessione successiva, in modo che la 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 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 ricreare immagini vengono visualizzate 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

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

Se stai creando immagini personalizzate, ti consigliamo quanto segue:

Configura log di flusso VPC

Quando crei un cluster di workstation, Cloud Workstations lo associa con una subnet particolare e tutte le workstation si trovano 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.