I lettori come te aiutano a sostenere MUO. Quando effettui un acquisto utilizzando i link sul nostro sito, potremmo guadagnare una commissione di affiliazione. Per saperne di più.

Docker è una delle piattaforme di containerizzazione più utilizzate ed è molto amata dagli ingegneri del software. Viene fornito con un potente strumento CLI per la gestione dei container Docker e altre attività correlate.

Per impostazione predefinita, sono necessari i privilegi di root per eseguire qualsiasi comando relativo a Docker su Linux. Ovviamente, puoi cambiarlo per comodità ed eseguire i comandi Docker senza i privilegi di root, ma dovresti essere consapevole delle implicazioni sulla sicurezza.

Cos'è la superficie di attacco Docker?

Una superficie di attacco è il numero di punti di attacco, più simile al numero di finestre, che un utente malintenzionato può utilizzare per entrare nel sistema e causare danni. Come regola generale, i sistemi IT dovrebbero avere superfici di attacco minime per ridurre i rischi per la sicurezza.

instagram viewer

In generale, la superficie di attacco di Docker è minima. I contenitori vengono eseguiti in un ambiente isolato sicuro e non influiscono sul sistema operativo host se non diversamente. Inoltre, i container Docker eseguono solo servizi minimi che lo rendono più sicuro.

Puoi configurare il tuo sistema Linux per controllare Docker senza privilegi sudo. Questo può essere utile negli ambienti di sviluppo, ma può rappresentare una grave vulnerabilità di sicurezza nei sistemi di produzione. Ed ecco perché non dovresti mai eseguire Docker senza sudo.

1. Capacità di controllare i container Docker

Senza i privilegi sudo, chiunque abbia accesso al tuo sistema o server può controllare ogni aspetto di Docker. Hanno accesso ai tuoi file di registro Docker e possono interrompere ed eliminare i contenitori a piacimento o accidentalmente. Potresti anche perdere dati critici che sono vitali per la continuità aziendale.

Se utilizzi i container Docker negli ambienti di produzione, i tempi di inattività si traducono in una perdita di business e di fiducia.

2. Ottieni il controllo delle directory del sistema operativo host

Docker Volumes è un potente servizio che consente di condividere e rendere persistenti i dati del contenitore scrivendoli in una cartella specificata nel sistema operativo host.

Una delle maggiori minacce rappresentate dall'esecuzione di Docker senza sudo è che chiunque sul tuo sistema può ottenere il controllo delle directory del sistema operativo host, inclusa la directory principale.

Tutto quello che devi fare è eseguire un'immagine Linux Docker, ad esempio l'immagine Ubuntu, e montarla nella cartella principale usando il seguente comando:

docker run -ti -v /:/hostproot ubuntu bash

E poiché i container Linux Docker vengono eseguiti come utente root, significa essenzialmente che hai accesso all'intera cartella root.

Il suddetto comando scaricherà ed eseguirà l'ultima immagine di Ubuntu e la monterà nella directory principale.

Sul terminal container Docker, vai a /hostproot directory utilizzando il comando cd:

CD /hostproot

Elencare il contenuto di questa directory utilizzando il comando ls mostra tutti i file del sistema operativo host che sono ora disponibili nel tuo contenitore. Ora puoi manipolare i file, visualizzare i file segreti, nascondere e mostrare i file, modificare i permessi, ecc.

3. Installa software dannoso

Un'immagine Docker ben realizzata può essere eseguita in background e manipolare il sistema o raccogliere dati sensibili. Peggio ancora, un utente malintenzionato potrebbe diffondere codice dannoso sulla tua rete tramite i contenitori Docker.

Ci sono diversi casi d'uso pratici dei container Dockere con ogni applicazione arriva un diverso insieme di minacce alla sicurezza.

Proteggi i tuoi container Docker su Linux

Docker è una piattaforma potente e sicura. L'esecuzione di Docker senza sudo aumenta la superficie di attacco e rende vulnerabile il sistema. Negli ambienti di produzione, si consiglia vivamente di utilizzare sudo con Docker.

Con così tanti utenti su un sistema, diventa estremamente difficile assegnare le autorizzazioni a ciascun utente. In tali casi, seguire le migliori pratiche di controllo degli accessi può aiutarti a mantenere la sicurezza del tuo sistema.