SEARCH IN BLOG MAP

18 aprile 2023

Come gestire le password criptate di ZFS e LVM in Ubuntu

Gestire le password/passphrase in un sistema Unix/Linux/Ubuntu con un file system ZFS o LVM criptato con LUKS non è facile e immediato perchè non esistono interfacce grafiche che aiutano a farlo e a seconda del tipo di file system che abbiamo, è necessario individuare la denominazione del punto in cui è necessario intervenire.
Ho testato questa guida con Ubuntu 22.04 (ZFS) e Ubuntu 23.04 (LVM) su Virtualbox usando l installazione automatica di tutto il disco virtuale con l opzione di criptazione.
Durante l installazione di Ubuntu 22.04 con l opzione per criptare il sistema, c è anche la possibilità di attivare una chiave di recupero. Io non consiglio di attivare quella chiave perchè non serve ad altro che aumentare le probabilità di ingresso nel sistema da parte di persone non autorizzate e oltretutto è impossibile salvare questa chiave durante l installazione se non si utilizza un sistema Ubuntu installato in modo persistente sulla chiavetta USB che si usa per l installazione.
Nell installazione di Ubuntu 23.04 questa opzione è stata tolta.

I comandi sono gli stessi per entrambi i sistemi perchè entrambi usano LUKS, cambia solo la denominazione del punto in cui questi comandi operano. 


In un terminale scrivere questi comandi e premere il tasto invio:

sudo su 
inserire la password di root

cryptsetup luksDump /dev/zd0 (con ZFS)
cryptsetup luksDump /dev/sda3 (con LVM)

Si ottiene il risultato visibile nell immagine sotto.
Come si vede da questa immagine, non è possibile individuare nessuna password/passphrase scritta durante l installazione del sistema. 
Si vedono degli slot, questi sono numerati da 0 a 7 (8 slot di chiavi disponibili in tutto), ogni slot corrisponde a una chiave e questa corrisponde a una password/passphrase.
Quindi se abbiamo diversi slot presenti oltre allo slot 0 come in questo caso, per individuare a quale delle password/passphrase corrisponde uno slot in particolare, bisogna usare questo comando:

cryptsetup --verbose open --test-passphrase /dev/zd0
cryptsetup --verbose open --test-passphrase /dev/sda3
inserire la password/passphrase
il terminale risponde con il numero di slot corrispondente

Per eliminare questo slot o uno slot di cui non si conosce la password/passphrase:
cryptsetup luksKillSlot /dev/zd0 numero dello slot
cryptsetup luksKillSlot /dev/sda3 numero dello slot
inserire la password/passphrase di un altro slot

Per eliminare una chiave:
cryptsetup luksRemoveKey /dev/zd0
cryptsetup luksRemoveKey /dev/sda3
inserire la password/passphrase corrispondente

Per creare una nuova chiave:
cryptsetup luksAddKey /dev/zd0
cryptsetup luksAddKey /dev/sda3
inserire una nuova password/passphrase

Per testare una password/passphrase:
cryptsetup open --test-passphrase /dev/zd0
cryptsetup open --test-passphrase /dev/sda3
inserire una delle password/passphrase presenti

Clicca sull immagine per ingrandire