Passa al contenuto principale

Che cos'è la sicurezza dei contenitori e perché è importante?

Sicurezza dei contenitori consiste nel proteggere le applicazioni containerizzate e l'infrastruttura dei contenitori (Kubernetes e altri orchestratori, immagini dei registri e così via) lungo l'intera pipeline CI/CD.

Perché le organizzazioni hanno bisogno della sicurezza dei contenitori?

I contenitori aiutano i team a ridurre il time-to-market e ad aumentare agilità, scalabilità e tolleranza agli errori, ma la loro velocità e portabilità concentrano anche i rischi nel ciclo di vita della distribuzione del software. Una vulnerabilità in un'immagine di base, un segreto esposto, un manifesto Kubernetes configurato in modo errato o autorizzazioni eccessive per il cluster possono creare rischi in diverse fasi della pipeline, soprattutto in presenza di controlli insufficienti.

Per i team aziendali, questo aspetto è importante perché la sicurezza dei contenitori non riguarda solo la fase di esecuzione. Influisce sull'integrità del software, sulla resilienza operativa, sulla conformità e sulla risposta agli incidenti.

In pratica, un approccio maturo alla sicurezza dei contenitori comprende l'archivio delle immagini, lo sviluppo, la distribuzione, il rilevamento in fase di esecuzione, la correzione e la risposta agli incidenti, anziché limitarsi a un controllo circoscritto alla fase di esecuzione. Un approccio maturo alla sicurezza dei contenitori comprende l'archivio delle immagini, lo sviluppo, la distribuzione, l'orchestrazione, il rilevamento in fase di esecuzione, la correzione e la risposta agli incidenti, anziché limitarsi a un controllo circoscritto alla fase di esecuzione.

Che cosa comprende la sicurezza dei contenitori?

La sicurezza dei contenitori comprende generalmente cinque livelli.

  1. Immagini e dipendenze: i team devono sapere cosa contiene l'immagine di un contenitore e se include vulnerabilità note, segreti incorporati, pacchetti obsoleti o componenti non necessari. La scansione delle immagini è un'importante prima linea di difesa, ma rappresenta solo una parte del quadro complessivo. I team devono inoltre gestire la provenienza delle immagini, l'applicazione delle patch e l'uso di immagini di base approvate.
  2. Registri e archivi degli artefatti: un'immagine sicura non è sufficiente se il registro stesso è soggetto a controlli inadeguati. Il controllo degli accessi, la scansione e la provenienza sono importanti perché i registri sono punti di distribuzione del software destinato all'ambiente di produzione. Un processo debole di controllo in ingresso può compromettere prassi di compilazione altrimenti valide.
  3. Orchestrazione e configurazione: negli ambienti Kubernetes, la sicurezza dipende fortemente dalle definizioni dei carichi di lavoro, dal controllo degli accessi basato sui ruoli (RBAC), dal controllo di ammissione, dall'applicazione dei criteri e dalla segmentazione della rete. Il rischio spesso deriva da ciò che è consentito eseguire e dal livello di accesso concesso, non solo da ciò che si trova all'interno dell'immagine.
  4. Comportamento in fase di esecuzione: anche il monitoraggio in fase di esecuzione è importante, perché le attività sospette all'interno dei contenitori e le vulnerabilità delle applicazioni in esecuzione potrebbero non essere visibili durante la fase di compilazione. Un contenitore che appariva sicuro al momento della compilazione può comunque comportarsi in modo imprevisto nell'ambiente di produzione.
  5. Host, nodi e infrastruttura circostante: i contenitori condividono il kernel dell'host, pertanto il rafforzamento dei nodi e l'isolamento in fase di esecuzione restano importanti. I sistemi operativi host, i componenti di runtime e l'infrastruttura del cluster continuano a far parte della superficie di attacco negli ambienti basati su contenitori.

Dove si manifesta solitamente il rischio legato ai contenitori negli ambienti reali?

In pratica, il rischio legato ai contenitori raramente ha origine da un singolo problema eclatante. Più spesso, si presenta come una concatenazione di punti deboli di minore entità. Un team può utilizzare un'immagine di base eccessivamente pesante, non individuare un segreto in un artefatto di compilazione, consentire autorizzazioni eccessivamente ampie in un manifesto di distribuzione e quindi distribuire il carico di lavoro in un cluster in cui l'applicazione dei criteri è poco rigorosa. Nessun singolo passaggio appare di per sé catastrofico, ma nel complesso questi fattori creano un percorso molto più semplice verso la compromissione o l'uso improprio.

Ecco perché la sicurezza dei contenitori deve essere considerata una disciplina che copre l'intero ciclo di vita. I team di sicurezza non possono affidarsi a un singolo punto di controllo per compensare le carenze dei processi in altre aree. Un'immagine sottoposta a scansione non compensa autorizzazioni non sicure in fase di esecuzione. Un cluster rafforzato non risolve il problema di un segreto esposto nella pipeline. I controlli devono operare in sinergia.

Perché la sicurezza dei contenitori è importante oggi?

La sicurezza dei contenitori è importante perché questi ultimi non sono più un'infrastruttura di nicchia, ma sono diventati una componente standard della moderna distribuzione delle applicazioni, soprattutto negli ambienti cloud-native, in cui le applicazioni vengono create, distribuite e aggiornate continuamente.

È importante anche perché i contenitori riducono la distanza tra sviluppo e produzione. Un problema introdotto in un file Docker, in un chart Helm o in un modello di infrastruttura come codice può trasformarsi rapidamente in un problema di produzione se la pipeline non dispone di adeguati meccanismi di controllo. Ecco perché i programmi maturi di sicurezza dei contenitori adottano l'approccio shift-left, senza tuttavia fermarsi alle fasi iniziali. Combinano controlli in fase di compilazione, controlli della distribuzione e visibilità in fase di esecuzione. In pratica, ciò significa aggiungere gate di qualità per le immagini e il codice dell'infrastruttura, quindi mantenere la visibilità sulle attività dei contenitori dopo la distribuzione.

Cosa rende complessa la sicurezza dei contenitori?

La sfida principale non è la mancanza di strumenti, ma il numero di team e processi coinvolti. I team di sviluppo, ingegneria della piattaforma, operazioni cloud, DevOps e sicurezza contribuiscono tutti al risultato. Se le responsabilità non sono chiare, i controlli non sono coerenti o i controlli di sicurezza vengono eseguiti troppo tardi per essere attuabili, il rischio si accumula rapidamente.

I contenitori cambiano anche il ritmo delle attività di sicurezza. Gli ambienti sono più dinamici, i carichi di lavoro più effimeri e la frequenza di distribuzione è spesso molto più elevata. Di conseguenza, la visibilità, l'automazione e la coerenza dei criteri sono ancora più importanti rispetto agli ambienti più lenti e incentrati sui server.

Gli errori commessi dalle organizzazioni

L'errore più comune è considerare la sicurezza dei contenitori limitata alla sola scansione delle immagini. La scansione delle immagini è importante, ma non risolve problemi quali configurazioni non sicure dei carichi di lavoro, controlli degli accessi deboli, applicazione inadeguata dei criteri o comportamenti sospetti durante l'esecuzione.

Un altro errore è ritenere che i contenitori siano sicuri per impostazione predefinita perché sono effimeri. La natura effimera può limitare la persistenza, ma può anche rendere più difficili la visibilità e l'analisi forense se la registrazione, l'inventario e il monitoraggio sono carenti.

Un terzo errore consiste nell'affrontare troppo tardi la sicurezza dei contenitori. Se il primo confronto serio sulla sicurezza avviene poco prima della distribuzione, il team si trova già in una posizione difficile.

Una buona sicurezza dei contenitori è più efficace quando viene adottata fin dalle prime fasi e mantenuta durante l'intero ciclo di vita.

Punto chiave

La sicurezza dei contenitori è la disciplina che consiste nel proteggere le applicazioni basate su contenitori e l'infrastruttura dei contenitori durante l'intero ciclo di vita, non soltanto nell'eseguire la scansione delle immagini prima della distribuzione. Le organizzazioni che lo fanno correttamente combinano controlli sulla catena di fornitura del software, rafforzamento delle configurazioni, accesso con privilegi minimi, applicazione dei criteri e visibilità durante l'esecuzione.


La sicurezza dei contenitori deve proteggere ben più delle sole immagini. Kaspersky Container Security contribuisce a proteggere l'intero ciclo di vita delle applicazioni basate su contenitori, dallo sviluppo all'esercizio, offrendo protezione per le immagini dei contenitori, i contenitori in esecuzione, l'orchestrazione, la conformità e le risorse dei cluster.

Maggiori informazioni

Fonti e approfondimenti:

Che cos'è la sicurezza dei contenitori e perché è importante?

La sicurezza dei contenitori consiste nel proteggere le applicazioni containerizzate e l'infrastruttura dei contenitori (Kubernetes e altri orchestratori, immagini dei registri e così via) lungo l'intera pipeline CI/CD.
Kaspersky logo

Articoli correlati: