Partizioni encrypted con dm-crypt/LUKS

Il mio obiettivo è quello di creare una partizione encrypted su un disco usb esterno sulla quale salvare di tanto in tanto dei backup. Essendo  questo disco usb alla portata di tutti, vorrei evitare che, nel caso di compromissione fisica dello stesso, si avesse accesso facile al suo contenuto.

Per far questo mi rivolgo a dm-crypt/LUKS che offre una  "Block device encryption"
Qui un bell'articolo con confronti di varie soluzioni
https://wiki.archlinux.org/index.php/Disk_Encryption#Notes_.26_References

In sostanza questo sistema opera al di sotto dello strato del file system. Per poter accedere al dispositivo/partizione così criptata dovrai sbloccarla fornendo una chiave/passphrase e, solo in questo modo, si potrà poi operare coi normali sistemi con cui si opera su una partizione (montaggio, lettura etc..)

Vediamo il funzionamento nella pratica

Installiamo su un sistema fedora

Attacco un disco usb esterno
Uso gparted e creo una partizione pulita

New-> Unformatted.
Nel mio caso sarà sdc3 (type 83,linux)

Questo critta la partizione desiderata col metodo aes-cbc-plain e chiede una passphrase di sblocco.

Così vedi se ha funzionato e qualche info di ciò che ha fatto

Come puoi vedere ci sono vari key slot e solo uno occupato. In effetti puoi creare altre chiavi per poter accedere alla stessa partizione, chiavi diverse per utenti diversi (generalmente la logica è questa)

Così per aggiungere un'altra passphrase

Così per rimuoverla

Ora apro la partizione permettendo poi di crearci un file system e il suo montaggio

Fatto questo guardo come l'ha chiamata visto che non puoi riferirti ad essa come /dev/sdc3 direttamente , in ogni caso per semplicità (o confusione) l'abbiamo chiamata sdc3 sotto /dev/mapper

Che è semplicemente un link al vero device che si chiama /dev/dm-0. E' questo il device sul quale andremo a creare il file system, che andremo a montare etc..

Creo il file system

creo una directory di montaggio in /mnt

Monto il file system

Guardo cosa vedo col comando df

Smonto

e infine  “chiudo” il disco

In questo fase, se rilancio gparted e osservo la partizione essa sarà imperscrutabile

encrypted_fs_esempio

 

Ora provo a renderla disponibile agli utenti

Premessa: Quando abbiamo dato luksOpen /dev/sdc3 sdc3 lui ha letto il file /dev/sdc3, scritto il file /dev/mapper/sdc3 e scritto il file /dev/sd-0. Quindi per “aprire” la partizione con un utente regolare sarà necessario che possa scrivere in queste porzioni di disco.

Assumiamo di aver aperto la partizione con root e poi di lasciare il solo montaggio agli utenti

Vediamo che id ha la partizione da montare

-> Ci serve ovviamente /dev/mapper/sdc3 che è quella “aperta”

Metto in /etc/fstab

Ora con l'utente merli creo un punto di montaggio in /home/merli
chiamato
ext_crypt

Abbiamo visto che il device in /dev/dm-0 ha permessi root.disk (lo crea udev così)per cui se l'utente lo vuol poter montare, oltre alle modifiche in /etc/fstab deve essere nel gruppo disk oppure devi cambiare i permessi a /dev/dm-0

Fatto questo potrai montare il disco come utente semplicemente digitando

Quando dai questo comando lui effettua il montaggio del disco e assegna in automatico a root i permessi sulla directory di montaggio: Pensa al tuo disco di sistema, la root (/) è di root.

Mi limito, con l'utente root, a creare una sottodirectory chiamata gab e ci assegno i permessi merli.merli. Con l'utente merli poi scriverò li dentro.

Poi per smontare

e infine, per chiudere il disco (da root)

Print Friendly, PDF & Email