Configurare le best practice per la sicurezza

Questa pagina fornisce una panoramica delle best practice per la sicurezza consigliate per aumentare la sicurezza e la protezione dei dati delle tueCloud Workstationsd. Questo elenco non è un elenco di controllo completo che garantisce la sicurezza o una sostituzione delle 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 degli sforzi 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 ricompila 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 timeout di esecuzione predefinito nella configurazione della 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 inclusi in queste immagini. I gestori di pacchetti potrebbero dare la priorità agli aggiornamenti in modo diverso a seconda dell'impatto di un bug o di vulnerabilità ed esposizioni comuni (CVE) sul loro prodotto. Se un prodotto utilizza solo una parte di una libreria, potrebbe non essere interessato dalle scoperte in altre parti della libreria. Per questo motivo, anche se esistono risultati CVE dalle scansioni 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 contribuisce a garantire 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, è 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 immagini container personalizzate.

Limitare l'accesso alla rete pubblica

Disattiva gli indirizzi IP pubblici sulle workstation utilizzando la configurazione della workstation e configura le regole firewall limitando l'accesso alle destinazioni internet pubbliche non necessarie per il lavoro quotidiano da 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 private.googleapis.com o restricted.googleapis.com per Artifact Registry, assicurati di configurare i record DNS per i domini *.pkg.dev.

Limitare l'accesso SSH diretto

Assicurati di limitare l'accesso SSH diretto alle VM nel progetto che ospita 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 dove possono essere attivati i log di flusso VPC.

Per disattivare l'accesso SSH diretto alla VM, esegui questo 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 Controlli di servizio VPC per limitare l'accesso alle risorse sensibili dalle workstation, impedendo l'esfiltrazione di dati e codice sorgente.

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 di workstation univoca con una VM sottostante distinta, aumentando l'isolamento dell'ambiente. Gli editor di codice e le applicazioni Cloud Workstations vengono eseguiti all'interno di un container in esecuzione in modalità con privilegi e con accesso root, per una maggiore flessibilità per gli sviluppatori. In questo modo viene fornita una workstation unica per sviluppatore e si contribuisce a garantire che, anche se un utente esce da questo container, rimanga all'interno della sua VM, senza poter accedere a risorse esterne aggiuntive.

Configura le autorizzazioni IAM limitando l'accesso non amministrativo alla modifica delle configurazioni delle 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 sottostante nel progetto che ospita lCloud Workstationsud.

Per ulteriori informazioni, consulta la sezione Utilizzare IAM in modo sicuro.

Autorizzazioni Cloud KMS

Per supportare meglio il principio del privilegio minimo, ti consigliamo di conservare le risorse Cloud KMS e 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 concesso a livello di organizzazione. A differenza di un owner, un amministratore dell'organizzazione non può gestire o utilizzare le chiavi direttamente. Sono limitati all'impostazione di criteri IAM, che limitano chi può gestire e utilizzare le chiavi.

Questo concetto è anche noto come separazione dei compiti,che consiste nell'assicurarsi che un individuo non disponga di tutte le autorizzazioni necessarie per poter completare un'azione dannosa. Per ulteriori informazioni, consulta la sezione Separazione dei compiti.

Applicare aggiornamenti e patch automatici delle immagini

Assicurati che le workstation utilizzino l'ultima versione delle immagini di base di Cloud Workstations, che contiene le patch e le correzioni di sicurezza più recenti. Il valore di timeout di esecuzione nella configurazione della workstation contribuisce a garantire che le workstation create con questa configurazione vengano aggiornate automaticamente nella sessione successiva, in modo da corrispondere all'ultima versione 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 di quella predefinita contribuisce a garantire l'arresto di queste workstation.
  • Se la tua organizzazione utilizza un'immagine personalizzata, assicurati di ricompilare regolarmente l'immagine.

Gestire le immagini personalizzate

È tua responsabilità gestire e aggiornare i pacchetti e le dipendenze personalizzati aggiunti alle immagini personalizzate.

Se crei immagini personalizzate, ti consigliamo di:

Configura i log di flusso VPC

Quando crei un cluster di workstation, Cloud Workstations lo associa a una subnet specifica e tutte le workstation vengono inserite in quella subnet. Per abilitare i log di flusso VPC, assicurati di attivare la registrazione per la subnet. Per maggiori informazioni, consulta Abilitare i log di flusso VPC per una subnet esistente.

Abilita il rilevamento delle minacce per le VM in Security Command Center

Security Command Center è una soluzione di gestione dei rischi basata sul cloud che aiuta i professionisti della sicurezza a prevenire, rilevare e rispondere ai problemi di sicurezza. Poiché le workstation vengono eseguite su una VM dedicata per workstation, Virtual Machine Threat Detection può essere utilizzato per rilevare applicazioni potenzialmente dannose, come software di mining di criptovalute, rootkit in modalità kernel e malware in esecuzione nella workstation.

Quando valuti i risultati per le VM, puoi trovare la workstation assegnata alla VM esaminando le etichette della workstation sulla VM o utilizzando i log della piattaforma delle workstation per cercare le assegnazioni storiche.