Che cos'è la sicurezza dei container di Azure?

La sicurezza dei container di Azure è la combinazione tra l’esecuzione di scansioni di vulnerabilità durante l'intero ciclo di vita del container, usando solo immagini attendibili da registri privati, limitando i privilegi e l'accesso degli utenti, e la scansione e monitoraggio continuo di tutte le attività.

Sicurezza dei container di Azure

Microsoft Azure è il servizio cloud in più rapida crescita e il secondo più grande attualmente sul mercato. Utilizzato dal 95% delle aziende Fortune 500, Microsoft Azure è una piattaforma di cloud computing che offre agli sviluppatori la libertà di creare, gestire e distribuire applicazioni ovunque. Offre una vasta gamma di servizi, tra cui macchine virtuali, Internet of Things e container.

I container di Microsoft Azure forniscono agli sviluppatori e alle aziende la flessibilità e la scalabilità che cercano in un servizio cloud, insieme alle due impegnative infrastrutture necessarie. Tuttavia, per quanto sia vantaggioso creare container in Azure, questi non offrono alcuna forma di sicurezza nativa integrata. Spetta al cliente garantire la sicurezza dei propri container di Azure.

Elementi da considerare

Ecco alcuni elementi da considerare nella protezione dei container di Azure:

  • Immagini
  • Credenziali
  • Registro
  • Kernel

 

Immagini

Come nel caso di qualsiasi altro container, la protezione delle immagini dei container di Azure è una delle misure di sicurezza più importanti che sia possibile adottare. I container sono creati da immagini archiviate in repository. Ogni immagine è composta da più livelli software che possono, individualmente, contenere vulnerabilità ed essere potenzialmente compromessi. Consentendo l'ingresso nell'ambiente di sviluppo di sole immagini di container approvate si riduce notevolmente la superficie di attacco a disposizione dei criminali informatici. È importante disporre di processi espliciti e di strumenti che monitorino e impediscano l'uso di immagini di container non approvate.

Un'altra opzione per controllare il flusso dei container nell'ambiente è l'utilizzo della firma o dell'impronta digitale delle immagini. Ciò può garantire la custodia continua che consente di verificare l'integrità dei container e delle relative immagini. Prima di inviare qualsiasi immagine al registro, è fondamentale eseguire una scansione delle vulnerabilità sui container come valutazione finale al termine del loro sviluppo.

Credenziali

L'assegnazione del privilegio minimo è una procedura consigliata per la sicurezza di base che dovrebbe essere applicata anche ai container di Azure. Quando viene sfruttata una vulnerabilità, che sia relativa alle immagini o ai kernel, l'aggressore ottiene l'accesso e potenzialmente persino i privilegi su diversi cluster e regioni. Garantire che i container operino con i privilegi e i diritti di accesso più bassi necessari per svolgere la loro attività riduce l'esposizione ai rischi.

La rimozione di eventuali privilegi non necessari, qualora un dipendente si trasferisca o lasci l'azienda, riduce la superficie di attacco del container. È inoltre possibile ridurre la superficie potenziale di attacco rimuovendo eventuali privilegi o processi non necessari o non utilizzati, dal runtime del container.

Registro

I container di Azure sono creati a partire da immagini archiviate in un registro pubblico o privato. Il recupero delle immagini dai registri pubblici può sembrare più semplice, ma non garantisce la sicurezza. Come accennato in precedenza, le immagini dei container sono composte da più livelli di software e ogni livello può presentare delle vulnerabilità.

È più probabile che un software dannoso sia associato alle immagini di un registro pubblico piuttosto che a quelle di un registro privato. Le immagini sui registri privati hanno maggiori probabilità di essere adeguatamente scansionate e comportano meno rischi. I registri privati sono gestiti e dispongono di controlli di accesso basati sui ruoli, offrendo maggiore governance e sicurezza. Alcuni esempi di registri di immagini di container privati includono Azure Container Registry, Docker Trusted Registry o il progetto open source Harbour di Cloud Native Computing Foundation.

Kernel

Tutti i computer sono basati su componenti hardware. Il kernel, un software incorporato nel sistema operativo, funge da ponte in modo che l'hardware e il resto del sistema possano interagire. A differenza di quanto accade con le macchine virtuali, i container generano un traffico di rete aperto tra i loro servizi e un kernel condiviso. La possibilità di condividere il kernel del sistema operativo host è uno dei maggiori vantaggi dei container. Tuttavia è anche un'enorme fonte di problemi di sicurezza.

Non c'è molto isolamento tra il kernel e i container durante il runtime, il che significa che una vulnerabilità presente nel kernel del sistema operativo condiviso può essere utilizzata per attaccare i container o accedervi. Gli aggressori possono manipolare i comportamenti in esecuzione del sistema operativo senza iniettare alcun codice dannoso, semplicemente alterando i dati del kernel in memoria.

Protezione dei container di Azure

Data la loro portabilità, scalabilità e affidabilità, non sorprende che molte aziende si rivolgano ai container di Microsoft Azure per eseguire le proprie applicazioni. Assicurando che le scansioni delle vulnerabilità siano completate durante l'intero ciclo di vita dei container e che tutte le attività siano monitorate e registrate, si può stare tranquilli che i container di Azure siano sicuri.