Ci sono delle norme di sicurezza che ogni developer dovrebbe conoscere quando lavora con i container. Tali regole permettono non solo allo sviluppatore di lavorare più serenamente, ma proteggono anche l'utente finale da possibili azioni malevole. Alcuni sviluppatori pensano che i container siano intrinsecamente sicuri per via del loro isolamento dal sistema, purtroppo non è sempre cosi e, Sopratutto in ambito enterprise, è bene seguire tenere presente alcuni aspetti.

La sicurezza dei container è multi-level

Il container host deve essere messo in sicurezza tramite un'accurata gestione dei privilegi di accesso ma non solo. Serve anche un accurato lavoro di patching delle vulnerabilità cosi da rendere il sistema sempre pronto per le nuove minacce. Infatti un host insicuro rende vulnerabili anche i container che sono eseguiti su di esso. Gli amministratori di sistema devono essere sempre ben consci che l'host dei container può diventare una piattaforma di attacco per i container stessi.

Limita le dipendenze per limitare i rischi

Spesso i team tendono a riutilizzare dipendenze, librerie, codice e altre tecnologie per eseguire un deploy più veloce, tuttavia una maggior numero di interazioni con programmi e librerie aumenta i rischi e fornisce una piattaforma d'attacco maggiore verso il container, che dovendo interagire con un grande numero di dipendenze si espone ad un rischio maggiore. Dunque è sempre bene limitare il livello di dipendenze.

Rivalutare le proprie pratiche di sicurezza

Esaminare a fondo le proprie pratiche di sicurezza e i tool che si utilizzano durante lo sviluppo di un progetto è uno dei comportamenti che contribuiscono a migliorare gli standard di sicurezza.

Utilizzare componenti e servizi mantenuti da altre persone può sicuramente migliorare il proprio workflow e diminuire i tempi di sviluppo, ma espone anche a rischi sconosciuti, ecco perché bisogna sempre valutare bene i tool e le librerie che si sfruttano nel proprio ambiente di lavoro.

Se ad esempio una particolare libreria o un determinato tool non sono necessari al funzionamento dell'applicazione, è sempre bene non includerli all'interno dell'immagine del nostro container. Questo vale anche per i comportamenti di un container, se per esempio non è necessario che il frontend comunichi direttamente il database di backend, allora è meglio non autorizzare nessun tipo di traffico tra di essi.

L'automazione gioca un ruolo chiave

Introdurre dei processi di automazione all'interno del proprio sistema di container è una buona strategia per migliorare la sicurezza e prevenire possibili attacchi. Questi processi devono essere configurati in modo da consentire un declarative deployment non dipendente da processi manuali. Gli orchestration tool come Kubernetes non solo permettono una gestione dei propri container, ma possono anche gestire i relativi security task, migliorando gli standard di sicurezza.

Gli orchestration tool possono anche fornire strumenti utili per monitorare i log delle operazioni svolte dai nostri container, cosi da analizzarli e verificare le possibili vulnerabilità.

I container aiutano a reagire alle problematiche che emergono durante lo sviluppo

L'adozione di un sistema di container spinge naturalmente a rivalutare la propria strategia di sicurezza. I container dunque formano gli sviluppatori, cosi che siano sempre pronti a reagire alle problematiche che si verificano durante il ciclo vitale di un'applicazione. I container sono inoltre molto facili da sostituire e replicare quindi, una volta scoperto il problema, è molto semplice eseguire il deploy della nuova versione semplicemente rilasciando la nuova immagine aggiornata.

I container rappresentano un potente ed efficiente design paradigm che spinge i developer a migliorarsi costantemente.

Via Enterprisers Project

CommentaDi' la tua

Il tuo indirizzo email non sarà mostrato pubblicamente. I campi obbligatori sono contrassegnati da *