A volte potresti voler crittografare il tuo disco rigido in modo che quando qualcuno collega il tuo disco rigido al proprio computer, debba fornire le credenziali dell'utente per montare l'unità. In Linux è possibile crittografare singoli dispositivi a blocchi. In questo articolo impareremo come crittografare i dispositivi a blocchi in Linux usando LUKS. LUKS è il livello di crittografia di Linux che può essere utilizzato per crittografare l'intera partizione radice, un volume logico o una partizione specifica.
Questo tutorial copre le seguenti distribuzioni Linux
- Debian
- Ubuntu
- RHEL
- CentOS
- Linux roccioso
- Almalinux
Installa il pacchetto cryptsetup-luks
Lo strumento di utilità Cryptsetup viene fornito con il pacchetto cryptsetup-luks che viene utilizzato per impostare la crittografia dei dispositivi a blocchi nei sistemi Linux. L'installazione può essere eseguita utilizzando il comando seguente.
Ubuntu/Debian
$ apt-get install cryptsetup
RHEL/CentOS/Rocky Linux/Almalinux
$ dnf install cryptsetup-luks
Prepara una partizione LUKS
Una volta installato lo strumento di utilità, preparare una partizione per la crittografia. Per elencare tutte le partizioni e i dispositivi a blocchi disponibili, eseguire il comando seguente.
$ fdisk -l
$ blkid
Ora usa il comando cryptsetup luksFormat per impostare la crittografia nella partizione. In questo esempio, la partizione, sdb, viene utilizzata per la crittografia. Puoi fare la tua ipotesi in base al tuo ambiente.
$ cryptsetup -y -v luksFormat /dev/sdb
Il comando eseguito sopra rimuoverà tutti i dati sulla partizione
Ora è necessario creare un dispositivo logico di mappatura dei dispositivi montato sulla partizione crittografata con LUKS nel passaggio precedente. In questo esempio, crittografato è il nome fornito per il nome di mappatura della partizione LUKS aperta.
Il comando seguente creerà un volume e imposterà la passphrase o le chiavi iniziali. Ricorda che la passphrase non può essere recuperata.
$ cryptsetup luksOpen /dev/sdb encrypted
I dettagli di mappatura della partizione possono essere trovati utilizzando il comando seguente.
$ ls -l /dev/mapper/encrypted
Utilizzare il comando seguente per visualizzare lo stato della mappatura. Sostituisci il nome della mappatura con crittografato .
$ cryptsetup -v status encrypted
cryptsetup insieme al comando luksDump può essere utilizzato per verificare che il dispositivo sia stato formattato correttamente per la crittografia. In questo esempio, la partizione sdb viene utilizzata per la conferma.
$ cryptsetup luksDump /dev/sdb
Formatta partizione LUKS
La scrittura di zeri nella partizione crittografata con LUKS assegnerà la dimensione del blocco con zeri. Utilizzare il comando seguente per impostare zeri sul dispositivo a blocchi crittografato.
$ dd if=/dev/zero of=/dev/mapper/encrypted
Il comando dd potrebbe richiedere del tempo per essere eseguito. Usa il comando pv per verificare lo stato di avanzamento.
$ pv -tpreb /dev/zero | dd of=/dev/mapper/encrypted bs=128M
Nota:sostituisci crittografato con il nome della mappatura del tuo dispositivo.
Ora formatta la nuova partizione con il file system desiderato. In questo esempio viene utilizzato il file system ext4.
$ mkfs.ext4 /dev/mapper/encrypted
Sostituisci crittografato con il nome del dispositivo di mappatura.
Monta il nuovo file system. In questo esempio, il nuovo file system è montato su /encrypted
$ mkdir /encrypted $ mount /dev/mapper/encrypted /encrypted
Sostituisci il nome del device-mapper crittografato con il tuo nome mappatore.
$ df -h $ cd /encrypted $ ls -l
Quindi abbiamo creato con successo una partizione crittografata su Linux utilizzando LUKS.