Salvaguardia dei deployment

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Questo documento descrive le best practice per proteggere i deployment.

Creare e applicare i criteri di deployment

Per proteggere gli ambienti di runtime, definisci i criteri con criteri per il deployment e convalida la conformità dei criteri prima e dopo il deployment. La definizione di un criterio che consente solo il codice firmato da attestatori predefiniti consente di assegnare i deployment ed eseguire il deployment solo del codice da origini attendibili.

Di seguito sono riportati alcuni esempi di criteri di deployment:

  • Nessuna vulnerabilità nota con gravità superiore a Medium
  • Il codice sorgente proviene da un repository di codice sorgente attendibile
  • Un servizio di build attendibile ha eseguito la build
  • Gli artefatti della build di cui esegui il deployment provengono da un repository di artefatti attendibile

Genera metadati

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

Origini build

Origine della build è una raccolta di dati verificabili su una build, come i digest di immagini create, le posizioni dell'origine di input, la catena di strumenti per la creazione e la durata della build. SLSA, un framework per valutare la posizione di sicurezza, fornisce un modello per la provenienza e i requisiti per la provenienza. La provenienza è una categoria di requisiti nel framework e ogni requisito è associato ai livelli SLSA in modo da poter implementare le mitigazioni in modo incrementale.

  • Per il controllo SLSA di livello 1, deve essere disponibile la provenienza.
  • Per garantire il livello 2 di SLSA, deve essere generata la provenienza e i consumatori devono essere in grado di verificarne l'autenticità e l'integrità.
  • I livelli 3 e 4 dell'SLSA hanno requisiti più rigidi per la firma della provenienza e la profondità dei dettagli dei dati di provenienza.

Alcuni servizi di generazione generano metadati di provenienza delle build.

Vulnerabilità

Il software di analisi delle vulnerabilità verifica il codice sorgente e crea artefatti per rilevare le vulnerabilità note. Container Analysis può eseguire la scansione automatica delle immagini container inviate ad Artifact Registry per rilevare vulnerabilità. Per verificare la presenza di vulnerabilità prima dell'archiviazione, 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.

Configurare l'applicazione delle norme

Dopo aver ottenuto i metadati sugli artefatti di cui è possibile eseguire il deployment, hai bisogno di strumenti per applicare i criteri.

In Google Cloud, puoi configurare un criterio in Autorizzazione binaria per i tuoi deployment. Autorizzazione binaria applica il criterio per i tentativi di deployment a 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 Anthos.

I controlli pre-deployment possono bloccare tutte le immagini che non sono nell'elenco di immagini esenti, in modo che solo le immagini attendibili vengano implementate da registry attendibili. Il criterio può anche richiedere attestazioni, documenti digitali che indicano che l'immagine è stata creata correttamente con una procedura specifica e richiesta. 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 operazione è 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 anche le violazioni dei criteri per i pod di cui è stato eseguito il deployment con dry run o breakglass.

Utilizza servizi di deployment gated

Il gating di 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 con limiti di accesso impediscono agli utenti non autorizzati di apportare modifiche agli ambienti delle applicazioni. Forniscono ulteriore supervisione sul processo di deployment e maggiore visibilità delle approvazioni.

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

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 cluster per risolvere i problemi di configurazione può essere difficile da eseguire manualmente su larga scala. Software Delivery Shield è una soluzione di sicurezza completamente gestita per la catena di fornitura su Google Cloud che fornisce dashboard nell'interfaccia di Cloud Run e GKE in Google Cloud Console per visualizzare insight sulla sicurezza per i carichi di lavoro.

La dashboard per la strategia di strategia di sicurezza di GKE fornisce indicazioni per rafforzare la strategia di sicurezza dei cluster in base ai consigli di Google. Include una scansione automatica della configurazione del carico 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 pertinenti del settore, come i criteri degli standard di sicurezza dei pod. GKE valuta la gravità dei problemi rilevati e restituisce suggerimenti e log utili. Puoi utilizzare Cloud Logging per ottenere un percorso di controllo verificabile per migliorare i report e l'osservabilità. Per istruzioni sulla visualizzazione degli insight sulla sicurezza nella dashboard per la posizione di sicurezza di GKE, consulta Eseguire il deployment su GKE e visualizzare gli insight sulla sicurezza.

Cloud Run contiene un riquadro di sicurezza che mostra gli insight sulla sicurezza della catena di fornitura del software, ad esempio le informazioni sulla conformità a livello di build SLSA, la provenienza e le vulnerabilità rilevate nei servizi in esecuzione. Per istruzioni sulla visualizzazione degli insight sulla sicurezza nel riquadro Cloud Insights, vedi Eseguire il deployment su Cloud Run e visualizzare gli insight sulla sicurezza.

Software Delivery Shield fornisce inoltre altri servizi e funzionalità per migliorare la tua strategia di sicurezza nell'intero ciclo di vita di sviluppo del software. Per ulteriori informazioni, consulta la panoramica di Software Delivery Shield.

Passaggi successivi