Docker: il "cavallo di Troia" dell'IT moderno? Riflessioni sulla sicurezza e le dipendenze nascoste.
- Klevis Cipi
- 3 giu 2024
- Tempo di lettura: 2 min
Aggiornamento: 2 ago 2024
Ho la sensazione che ce questa tendenza di prendere per scontato il fatto della sicurezza quando si usa Docker.
I container di Docker sono vivi dentro un ambiente isolato ed questo e vero, ma dimentichiamo il fattore umano.
Beh per forza il fattore umano contribuisce nel aumento della vulnerabilità della sicurezza forse questo anche per sbaglio.
Alla fine qualcosa deve essere configurato no, e questi configurazioni sono fatti con prudenza ?
Alcuni dei mie riflessioni per questi punti:
Le cartelle condivise
Configurazione OS del container e le sue dipendenze.
Immagini Docker non ufficiali
Le cartelle condivise.
Le cartelle condivise che Docker offre all’host e viceversa fa davvero comodo. Tuttavia dal punto di vista di sicurezza può essere uno svantaggio perché aumenta la vulnerabilità.
Come la vulnerabilità viene aumentata la descrivo come segue:
Host può essere compromesso da qualche altro servizio
Qualche altro servizio usa queste cartelle condivise per esempio le cartelle /tmp.
Sempre e prudente dare i permessi giusti alle cartelle, sempre.
Solo gli utenti autorizzati possono controllare Docker daemon.
Per prima cosa rispondiamo alla domanda:
Che cose Docker daemon ?
Daemon cosi detto ‘dockerd’ e il cuore pulsante del Docker.
Gestisce tutto quello che riguarda i container, immagini, volumi, network, ascolta tutte le chiamata API che si fanno dalla riga di commando.
Docker ha una architettura client-server.
L’interpretazione del client sarebbe una riga di comando tipo:
docker run -d —name nome_container nome_immagine.
Per far eseguire Docker daemon serve avere privilegi di root quindi in sistemi linux serve utilizzare sudo.
Un utente malintenzionato può sfruttare il privilegio si root per prendere in possesso tutto la macchina host.
Configurazione OS del container e le sue dipendenze.
Le immagini di Docker alla fine contengono un sistemo operativo dentro se.
Quindi quando un Docker container viene inizializzato partendo dall’immagine configurata e come se accendiamo un portatile dotato di sistemo operativo Ubuntu.
La stragrande maggioranza delle immagini sono basati su sistemi operativi Linux questo per la leggerezza ed efficienza.
Comunque sia se installiamo qualche pacchetto che ha qualche vulnerabilità allora tutto il container e compromesso ed forse anche host.
Oppure qualche configurazione che per molti ragioni si configura in tale modo che possa compromettere o aumentare la vulnerabilità alla sicurezza.
Immagini docker non ufficiali
Le immagini che sono i blue-print per i container sono disponibili nella repositori pubblico di Docker che si chiama Docker hub.
Docker hub certifica questi immagini e ci dà la possibilità di utilizzarle nei nostri progetti.
Tuttavia, partire dal fatto che Docker offre una flessibilità nel utilizzare questi immagini può portarci verso la creazioni d'immagini vulnerabili.
Le immagini ufficiali possano essere utilizzati in due modi:
in modo diretto
immagini utilizzate per creare altri immagini
Il cavallo di troia può mostrarsi nel secondo punto, visto che al primo punto ci affidiamo alla reputazione della repositori di Docker hub.
Quando scriviamo i layer per costruire le immagini specifici per il nostri progetti ce la tendenza di installare altri pacchetti di terze parti.
Utilizzare pacchetti di terze parti aumenta la vulnerabilità della sicurezza perché possano contenere codice malevole senza ne anche accorgerci.
Conclusione:
Docker e uno strumento molto potente ma come vedete può davvero a un certo punto diventare il cavallo di troia del'IT moderno.
Grazie mille.