Sistemi

Creazione di un disco criptato su LINUX con LUKS

Categoria Sistemi
Data 13 luglio 2026
Autore Simone Gardella
Visite 40
Creazione di un disco criptato su LINUX con LUKS

Creare un disco cifrato con Linux e LUKS

Un tutorial essenziale, passo dopo passo, per creare un contenitore cifrato, formattarlo, montarlo e proteggerlo con una passphrase o con un file chiave.

Introduzione

Linux mette a disposizione strumenti molto solidi per la cifratura dei dati. In questa guida utilizzeremo cryptsetup e LUKS (Linux Unified Key Setup) per creare un disco cifrato partendo da un semplice file.

L'esempio è basato su Ubuntu/Debian. Su altre distribuzioni cambia principalmente il sistema di installazione dei pacchetti: per esempio, sulle distribuzioni derivate da RHEL si utilizza normalmente dnf (o yum sui sistemi più datati) al posto di apt.

Schema del funzionamento di un contenitore LUKS
Attenzione: i comandi di formattazione e cifratura possono distruggere dati se applicati al dispositivo sbagliato. Verificare sempre con attenzione nomi e percorsi prima di eseguirli.

Video tutorial

1Installare cryptsetup

Su Ubuntu o Debian:

sudo apt update
sudo apt install cryptsetup

2Creare il file che conterrà il disco

Per un piccolo contenitore dimostrativo da 10 MiB:

dd if=/dev/zero bs=1M count=10 of=discocriptato.img

Il file discocriptato.img fungerà da disco virtuale. Per un utilizzo reale sarà naturalmente opportuno scegliere una dimensione adeguata.

3Cifrare il contenitore con LUKS

Il metodo più semplice con le versioni moderne di cryptsetup è operare direttamente sul file:

sudo cryptsetup luksFormat discocriptato.img

Verrà richiesta una conferma e quindi la passphrase da associare al volume.

Nota: nel tutorial originale veniva creato esplicitamente un loop device con losetup. Cryptsetup può normalmente gestire direttamente un file immagine, rendendo la procedura più breve e meno soggetta a errori.

4Aprire il disco cifrato

sudo cryptsetup luksOpen discocriptato.img criptato

Dopo l'inserimento della passphrase, Linux espone il contenuto decifrato come dispositivo:

/dev/mapper/criptato

Il file originale resta cifrato: il dispositivo in /dev/mapper rappresenta invece la vista decifrata utilizzabile dal sistema.

5Creare il filesystem e montarlo

La prima volta è necessario creare un filesystem. Nell'esempio utilizziamo ext4:

sudo mkfs.ext4 /dev/mapper/criptato
mkdir -p crypt
sudo mount /dev/mapper/criptato crypt/

A questo punto la directory crypt/ può essere utilizzata normalmente. I dati scritti al suo interno verranno memorizzati cifrati nel file discocriptato.img.

6Smontare e chiudere correttamente il volume

Prima di chiudere LUKS occorre smontare il filesystem:

sudo umount crypt/
sudo cryptsetup luksClose criptato

Dopo luksClose, il dispositivo /dev/mapper/criptato scompare e il contenuto torna inaccessibile finché il volume non viene nuovamente aperto.

7Aggiungere un file chiave

LUKS consente di associare al volume più credenziali. Oltre alla passphrase possiamo quindi aggiungere un key file.

Volume LUKS accessibile tramite passphrase o file chiave

Per generare 32 byte casuali è preferibile utilizzare /dev/urandom oppure openssl rand:

dd if=/dev/urandom bs=32 count=1 of=chiave
chmod 600 chiave
sudo cryptsetup luksAddKey discocriptato.img chiave

Durante luksAddKey viene normalmente richiesta una credenziale LUKS già valida per autorizzare l'aggiunta della nuova chiave.

Successivamente il volume può essere aperto senza digitare la passphrase:

sudo cryptsetup luksOpen discocriptato.img criptato --key-file=chiave
Importante: il file chiave deve essere conservato separatamente e protetto con attenzione. Se un soggetto dispone contemporaneamente del contenitore cifrato e di una copia del key file valido, può utilizzarlo per tentare l'apertura del volume.

Verificare il volume

Per controllare che il file sia effettivamente un contenitore LUKS:

sudo cryptsetup luksDump discocriptato.img

Il comando mostra l'header LUKS, i parametri crittografici e gli slot delle chiavi, senza decifrare i file contenuti nel volume.

Sequenza completa

sudo apt update
sudo apt install cryptsetup

dd if=/dev/zero bs=1M count=10 of=discocriptato.img

sudo cryptsetup luksFormat discocriptato.img
sudo cryptsetup luksOpen discocriptato.img criptato

sudo mkfs.ext4 /dev/mapper/criptato
mkdir -p crypt
sudo mount /dev/mapper/criptato crypt/

# ... utilizzo del disco ...

sudo umount crypt/
sudo cryptsetup luksClose criptato

Con pochi comandi abbiamo quindi creato un contenitore cifrato LUKS completamente utilizzabile come un normale filesystem Linux.

Hai bisogno di approfondire questo tema? Possiamo aiutarti a valutare il caso concreto e le modalità operative più adatte.
Richiedi informazioni

Hai bisogno di una valutazione tecnica?

Descrivi il contesto, i dispositivi coinvolti e l’obiettivo dell’attività. Ti aiuteremo a definire il percorso tecnico più adatto.