Salvaguarda i deployment

Questo documento descrive le best practice per proteggere i deployment.

Crea e applica i criteri di deployment

Per proteggere i tuoi ambienti di runtime, definisci i criteri con criteri per il deployment e convalida la conformità ai criteri prima e dopo il deployment. La definizione di un criterio che consente solo il codice firmato da attestatori predefiniti aiuta a gestire i deployment e a eseguire il deployment solo di codice da origini attendibili.

Esempi di criteri di implementazione includono:

  • Nessuna vulnerabilità nota con una gravità superiore a Media
  • Il codice sorgente proviene da un repository di codice sorgente attendibile
  • La build è stata eseguita da un servizio di build attendibile
  • Gli artefatti della build di cui stai eseguendo il deployment provengono da un repository di artefatti attendibile

Genera metadati

Per convalidare questi requisiti, devi fornire metadati sugli artefatti della build.

Origini build

Provenienza della build è una raccolta di dati verificabili relativi a una build, ad esempio i digest delle immagini create, le località delle origini di input, la Toolchain di build e la durata della build. SLSA, un framework per la valutazione della postura di sicurezza, fornisce un modello per la provenienza e i requisiti per la provenienza. La provenienza è una categoria dei requisiti nel framework e ogni requisito è associato ai livelli SLSA, in modo che tu possa implementare le mitigazioni in modo incrementale.

  • Per l'assicurazione SLSA di livello 1, deve essere disponibile la provenienza.
  • Per la garanzia di livello 2 dello standard SLSA, è necessario generare la provenienza e i consumatori devono essere in grado di verificarne l'autenticità e l'integrità.
  • I livelli SLSA 3 e 4 prevedono requisiti più severi per la firma della provenienza e la profondità dei dettagli dei dati di provenienza.

Alcuni servizi di build generano metadati di provenienza della build.

Vulnerabilità

Il software di analisi delle vulnerabilità controlla il codice sorgente e crea artefatti per rilevare vulnerabilità note. Artifact Analysis può scansionare automaticamente le immagini container inviate ad Artifact Registry per rilevare eventuali vulnerabilità. Per verificare la presenza di vulnerabilità negli artefatti prima di archiviarli, puoi utilizzare l'API On-Demand Scanning in un ambiente di sviluppo locale o in una pipeline CI/CD, ad esempio un passaggio di build Cloud Build.

Configura l'applicazione dei criteri

Una volta ottenuti i metadati sugli artefatti di cui è possibile eseguire il deployment, avrai bisogno degli strumenti per applicare i criteri.

In Google Cloud, puoi configurare un criterio in Autorizzazione binaria per i tuoi deployment. Autorizzazione binaria applica i criteri per i tentativi di deployment sulle piattaforme basate su container supportate. Può anche eseguire la convalida continua dei criteri per i carichi di lavoro in esecuzione su GKE, Cloud Run e GKE Enterprise.

I controlli pre-deployment possono bloccare tutte le immagini che non sono nell'elenco di immagini esenti, in modo che venga eseguito il deployment solo delle immagini attendibili da registri attendibili. La tua norma può richiedere anche attestations, documenti digitali che indicano che l'immagine è stata creata correttamente con un processo specifico e obbligatorio. Ad esempio, un'attestazione può indicare che un'immagine è:

La convalida continua estende la convalida dei criteri all'ambiente post-deployment. Se abilitata, Autorizzazione binaria fornisce la convalida durante tutto il ciclo di vita del pod registrando regolarmente la conformità dei criteri in Cloud Logging. Questa opzione è utile in diverse situazioni. Ad esempio, se modifichi il criterio dopo aver eseguito il deployment di un container, la convalida continua registra i pod che violano il criterio aggiornato. Registra inoltre le violazioni dei criteri per i pod di cui è stato eseguito il deployment con dry run o deployment di emergenza.

Utilizza servizi di deployment ad accesso riservato

Il controllo del deployment consente di approvare o rifiutare i deployment in punti specifici del processo di deployment utilizzando un servizio CI/CD autonomo o un servizio CI/CD integrato con un sistema di automazione dei processi. I deployment riservati impediscono agli utenti non autorizzati di apportare modifiche agli ambienti applicativi. Forniscono un'ulteriore supervisione sul processo di deployment e una maggiore visibilità delle approvazioni.

In Google Cloud, Cloud Deploy offre un servizio completamente gestito per il deployment dei carichi di lavoro in Google Kubernetes Engine. La funzionalità di deployment riservato consente agli utenti di specificare se è necessaria un'approvazione per la promozione a una destinazione.

Monitora i tuoi carichi di lavoro

I carichi di lavoro sono applicazioni in esecuzione su piattaforme basate su container, come GKE e Cloud Run. I carichi di lavoro di cui esegui il deployment dovrebbero avere una configurazione protetta che ne limita la superficie di attacco.

Controllare i carichi di lavoro nei vari cluster per individuare eventuali problemi di configurazione può essere difficile da eseguire manualmente su larga scala. Software Delivery Shield è una soluzione di sicurezza per la catena di fornitura del software completamente gestita su Google Cloud che offre dashboard nell'interfaccia utente di Cloud Run e di GKE nella console Google Cloud per visualizzare insight sulla sicurezza per i carichi di lavoro.

La dashboard della postura di sicurezza di GKE fornisce indicazioni per rafforzare la strategia di sicurezza dei cluster in base ai suggerimenti di Google. Include l'analisi automatica della configurazione dei carichi di lavoro, che verifica la presenza di problemi di configurazione noti in tutti i carichi di lavoro. GKE controlla ogni carico di lavoro di cui è stato eseguito il deployment in base alle best practice del settore pertinenti, come ai criteri degli standard di sicurezza dei pod. GKE valuta la gravità dei problemi rilevati e restituisce suggerimenti e log attuabili. Puoi utilizzare Cloud Logging per ottenere una traccia verificabile di problemi per migliorare l'osservabilità e la generazione di report. Per istruzioni sulla visualizzazione degli insight sulla sicurezza nella dashboard della strategia di sicurezza di GKE, consulta Eseguire il deployment su GKE e visualizzare gli insight sulla sicurezza.

Cloud Run contiene un pannello di sicurezza che mostra insight sulla sicurezza della catena di fornitura del software come informazioni sulla conformità a livello di build SLSA, prova della build e vulnerabilità trovate nei servizi in esecuzione. Per istruzioni su come visualizzare gli insight sulla sicurezza nel riquadro degli insight sulla sicurezza di Cloud Run, consulta Eseguire il deployment su Cloud Run e visualizzare gli insight sulla sicurezza.

Software Delivery Shield fornisce anche altri servizi e funzionalità per migliorare la tua strategia di sicurezza durante tutto il ciclo di vita dello sviluppo del software. Per ulteriori informazioni, consulta la panoramica di Software Delivery Shield.

Passaggi successivi