[HOWTO] Come criptare la /home usando cryptsetup e luks
Posted: Thu Jan 05, 2012 5:53 pm
Nel rispondere alla discussione aperta da marziods alla fine mi sono ritrovato a scrivere un howto, che poi è un mix di altre guide che si trovano in rete, ma è specifica per la criptazione di una partizione e nella fattispecie della /home.
In giro ci sono per lo più guide che prevedono la criptazione di tutto / ma con pochi e semplici passi si può avere la /home criptata. Ecco come ho fatto.
Per prima cosa, ho preso come riferimento questo Wiki: DM-Crypt.
Procediamo per gradi.
Effettuare il backup del contenuto della partizione /home.
Impostare il kernel secondo il seguente schema:
Nel mio caso ho impostato solo ext2 ed ext4 come built-in, poiché uso solo quei due filesystem.
(Il supporto a initramfs in realtà non è necessario se si sta criptando solo la home)
Installare cryptsetup e multipath-tools:
Supponendo che /dev/sda3 sia la partizione che contiene i dati della /home operiamo uno shred sulla stessa per rendere illeggibili i dati precedenti:
Formattare la partizione con luks per creare l'header e la master key:
Digitare YES e inserire la password scelta.
Nota:
Nel caso si voglia usare un altro algoritmo di cifratura, apportare le modifiche necessarie alla configurazione del kernel.
Associare /dev/sda3 a /dev/mapper/home:
A questo punto la partizione /dev/sda3 è accessibile tramite /dev/mapper/home.
Attenzione: questa è solo un'impostazione temporanea. Più avanti le istruzioni per rendere la cosa automatica al boot.
Formattare e montare la partizione:
Ora è possibile copiare il contenuto della /home (precedentemente spostato da un'altra parte nel caso non si trattasse di una nuova installazione) nella nuova partizione criptata.
Modificare i file:
Al prossimo reboot verrà chiesta la password per accedere alla partizione di /home.
In giro ci sono per lo più guide che prevedono la criptazione di tutto / ma con pochi e semplici passi si può avere la /home criptata. Ecco come ho fatto.
Per prima cosa, ho preso come riferimento questo Wiki: DM-Crypt.
Procediamo per gradi.
Effettuare il backup del contenuto della partizione /home.
Impostare il kernel secondo il seguente schema:
Code: Select all
File systems --->
<*> Second extended fs support
<*> Reiserfs support
Device Drivers --->
Block devices --->
<*> Loopback device support
< > Cryptoloop Support
(4096) Default RAM disk size (kbytes)
Multiple devices driver support (RAID and LVM) --->
<*> Device mapper support
<*> Crypt target support
General Setup --->
[*] Initial RAM filesystem and RAM disk (initramfs/initrd) support
Cryptographic API --->
<*> SHA 224 and SHA256 digest algorithm
<*> AES cipher algorithms (x86_64)(Il supporto a initramfs in realtà non è necessario se si sta criptando solo la home)
Installare cryptsetup e multipath-tools:
Code: Select all
emerge cryptsetup multipath-toolsCode: Select all
rc-update add dmcrypt bootCode: Select all
shred -v -n 2 /dev/sda3Code: Select all
cryptsetup -y -s 256 luksFormat /dev/sda3Nota:
Quindi nel comando qui sopra è sottintesa la seguente opzione:man cryptsetup wrote:Default mode is configurable during compilation, you can see compiled-in default using cryptsetup --help. If not changed, the default is for plain dm-crypt and LUKS mappings "aes-cbc-essiv:sha256".
Code: Select all
--cipher aes-cbc-essiv:sha256Associare /dev/sda3 a /dev/mapper/home:
Code: Select all
cryptsetup luksOpen /dev/sda3 homeAttenzione: questa è solo un'impostazione temporanea. Più avanti le istruzioni per rendere la cosa automatica al boot.
Formattare e montare la partizione:
Code: Select all
mkfs.ext4 /dev/mapper/home
mount /dev/mapper/home /homeModificare i file:
Code: Select all
/dev/mapper/home /home ext4 noatime 0 1Code: Select all
## /home with passphrase
target=home
source='/dev/sda3'