Automatizzare l'analisi dei contenitori, incluse le immagini dei contenitori

Completato

I termini analisi dei contenitori e analisi delle immagini del contenitore vengono spesso usati in modo intercambiabile, anche se fanno riferimento ad aspetti lievemente diversi dell'analisi della composizione software negli ambienti in contenitori. L'analisi dei contenitori si riferisce in genere al processo di rilevamento di vulnerabilità, errori di configurazione o problemi di sicurezza nelle applicazioni in contenitori. È destinata all'ambiente di runtime, alle dipendenze, alle librerie e alle impostazioni di configurazione all'interno dei contenitori. L'analisi delle immagini del contenitore è incentrata sulle immagini del contenitore. Prevede l’esame dei livelli, dei pacchetti, delle librerie e delle configurazioni all'interno dell'immagine del contenitore per identificare problemi quali vulnerabilità di sicurezza e dipendenze obsolete. L'analisi delle immagini generalmente è destinata alle immagini del contenitore che risiedono nei registri dei contenitori.

Sono disponibili numerosi strumenti e tecniche di analisi dei contenitori che supportano le piattaforme Azure DevOps e GitHub. In generale, è possibile sfruttare servizi indipendenti dalla piattaforma, ad esempio Microsoft Defender per il cloud, o incorporare strumenti di analisi direttamente in Azure Pipelines o GitHub Actions.

Microsoft Defender for Cloud

Microsoft Defender per il cloud è una piattaforma di protezione per le applicazioni native del cloud che implementa misure e procedure di sicurezza progettate per proteggere i carichi di lavoro basati sul cloud da svariate minacce informatiche. Include il supporto per l'analisi di immagini e contenitori sfruttando le funzionalità di Microsoft Defender per contenitori e Gestione delle vulnerabilità di Microsoft Defender.

Microsoft Defender per contenitori

Microsoft Defender per contenitori è una soluzione nativa del cloud con l'obiettivo di migliorare la sicurezza degli ambienti in contenitori, inclusi cluster di Kubernetes, registri dei contenitori e immagini dei contenitori, in ambienti multi-cloud e locali. La sua funzionalità può essere raggruppata in quattro categorie principali:

  • Gestione della postura di sicurezza esegue il monitoraggio continuo dei carichi di lavoro di Kubernetes per individuare le risorse cloud, effettuarne l'inventario, rilevarne le configurazioni errate, fornire indicazioni sulla correzione, valutare i rischi corrispondenti e facilitare la ricerca dei rischi usando l’explorer della sicurezza di Defender per il cloud.
  • Protezione dalle minacce in fase di esecuzione offre il rilevamento delle minacce per i cluster di Kubernetes, è strettamente allineata al framework MITRE ATT&CK, e si integra con un'ampia gamma di prodotti di informazioni di sicurezza e gestione degli eventi (SIEM) e funzionalità di rilevamento e reazione estese (XDR).
  • Distribuzione e monitoraggio facilita l'implementazione dei cluster di Kubernetes e il rilevamento del loro stato.
  • Valutazione delle vulnerabilità fornisce una valutazione della vulnerabilità senza agente per le risorse multi-cloud, incluse le indicazioni per la correzione e l'analisi automatizzata.

La valutazione delle vulnerabilità si basa su Gestione delle vulnerabilità di Microsoft Defender.

Gestione delle vulnerabilità di Microsoft Defender

Gestione delle vulnerabilità di Microsoft Defender offre una funzionalità di analisi delle immagini basata su trigger destinata alle immagini nei registri di Registro Azure Container (ACR). Genera automaticamente report che documentano le vulnerabilità e le correzioni corrispondenti per ogni immagine. Fornisce, inoltre, l'analisi dei contenitori distribuiti in cluster del servizio Azure Kubernetes (AKS) in base alle immagini di cui è stato eseguito il pull da qualunque registro supportato da Defender per il cloud, tra cui, oltre ad ACR, quelli nativi di Amazon Web Services (AWS) e Google Cloud Platform (GCP), ad esempio Elastic Container Registry (ECR), Google Container Registry (GCR) e Google Artifact Registry (GAR).

Tutte le immagini archiviate in ACR che soddisfano i criteri per i trigger di analisi vengono analizzate automaticamente per individuare le vulnerabilità senza alcuna configurazione aggiuntiva. Questi criteri possono essere raggruppati in due categorie principali:

  • Attivato da operazioni push, importazione e pull. In caso di push o importazione, un'analisi generalmente viene completata entro pochi minuti, ma potrebbe richiedere fino a un'ora. In seguito alle singole operazioni pull, le immagini vengono analizzate entro 24 ore.
  • Esecuzione continua per immagini che sono state analizzate in precedenza per individuare le vulnerabilità per aggiornare i relativi report sulle vulnerabilità in modo da tenere conto delle nuove vulnerabilità pubblicate. Queste analisi vengono eseguite una volta al giorno per le immagini di cui è stato eseguito il push negli ultimi 90 giorni, le immagini di cui è stato eseguito il pull negli ultimi 30 giorni e le immagini in esecuzione nei cluster di Kubernetes monitorati da Defender per il cloud.

Le raccomandazioni con i report sulle vulnerabilità vengono fornite per tutte le immagini in Registro Azure Container, nonché per le immagini attualmente in esecuzione nei cluster del servizio Azure Kubernetes (AKS). Dopo aver eseguito i passaggi consigliati per correggere il problema di sicurezza e sostituire l'immagine nel registro, Microsoft Defender per il cloud rianalizza automaticamente l'immagine per verificare che le vulnerabilità non esistano più.

Incorporazione degli strumenti di analisi direttamente in Azure Pipelines o GitHub Actions.

È possibile incorporare l'analisi di contenitori e immagini direttamente nelle pipeline CI/CD per identificare automaticamente le vulnerabilità e garantire la conformità. Il processo inizia selezionando uno strumento di analisi appropriato compatibile con la rispettiva piattaforma, ad esempio Aqua disponibile come estensione di sicurezza DevOps o Trivy GitHub Action. È quindi possibile integrare lo strumento di analisi scelto nel processo di compilazione per analizzare le immagini del contenitore per individuare vulnerabilità e problemi di conformità. L'analisi dei contenitori deve essere applicata durante la fase di distribuzione continua per valutare il risultato della distribuzione.

Nell'ambito dell'integrazione CI/CD, è consigliabile impedire la distribuzione dell'immagine nel caso in cui l'analisi segnali la non conformità. Quando si implementano flussi di lavoro in GitHub, sfruttare le funzionalità di Dependabot per rilevare e creare richieste di pull per aggiornare le dipendenze nelle immagini del contenitore, inclusi Dockerfile, manifesti di pacchetti e altri file di configurazione. Automatizzare le azioni correttive, ad esempio l'applicazione di patch alle vulnerabilità o la ricompilazione di un'immagine, a seconda dei risultati dell'analisi. Implementare il monitoraggio continuo e le revisioni dei risultati dell'analisi, sfruttando dashboard, report e notifiche specifici della piattaforma.