#howto - Cifrare la home con ecryptfs

Scritto da il
Redatto da
bash
ubuntu
archlinux
fedora

Abbiamo già parlato di cifrare file e cartelle in questo articolo. Il passo successivo è cifrare la propria home. Il tool che verrà usato per cifrarla è ecryptfs, già usato nell’articolo precedente.

ATTENZIONE:

Alcuni software come dropbox non supportano ecryptfs, dovrete quindi posizionare la cartella al di fuori della vostra home. Inoltre è mio dovere avvisare che ho personalmente testato il procedimento solo su Archlinux e non su altre distribuzioni.

Installazione

Installate il tool ( se non lo avete già fatto ) sulla vostra distribuzione:

Debian/Ubuntu e derivate

apt install ecryptfs-utils keyutils rsync lsof

RHEL/Centos e derivate

yum install ecryptfs-utils keyutils rsync lsof

Fedora e derivate

dnf install ecryptfs-utils keyutils rsync lsof

Archlinux

pacman -S ecryptfs-utils keyutils rsync lsof

Migrare la propria home

ATTENZIONE:

fate un backup dei vostri dati poiché i prossimi passi potrebbero renderli non più recuperabili

Una volta installato il software, caricate l’apposito modulo del kernel

modprobe ecryptfs

Usate quindi il tool per la migrazione della home. Per avviare questa fase è necessario che voi non abbiate alcun processo aperto con l’utente di cui cifrerete la home (accedete quindi a pc appena aperto da tty con il vostro utente root):

ecryptfs-migrate-home -u <nome utente>

Seguite le istruzioni indicate dal tool.

Per completare la procedura, uscite dal vostro account root con exit ed entrate con quello dell’utente. Verificate quindi con ls che siano state criptate tutte le cartelle ( dovrebbero apparire Access-your-data.desktop e un altro file di testo). Quindi decriptate e ri-criptate voi stessi la home usando i due tool:

ecryptfs-mount-private #per decriptare
ecryptfs-umount-private #per criptare

Potete usare i due comandi ogni volta che volete cifrare o decifrare la cartella home manualmente.

Alle volte, può accadere che la cifratura non avvenga per via di processi aperti con il proprio utente. In caso potete forzare l’umount della cartella (quindi la cifratura): umount.ecryptfs_private

uscite dall’account user (dopo aver smontato la cartella) e rientrate con root per maggiore comodità.

Auto montare la cartella all’accesso

Ora è necessario (a meno che non vogliate fare l’accesso a mano ogni volta) impostare l’automounting della home già decriptata all’accesso. Facciamo un backup del file /etc/pam.d/system-auth :

cp /etc/pam.d/system-auth /etc/pam.d/system-auth.old

ed editiamo quindi il file system-auth con il nostro editor preferito

<editor> /etc/pam.d/system-auth

Da adesso facciamo MOLTA attenzione, sbagliando qualunque cosa potremmo non essere più in grado di accedere a nessun account ( dovremmo quindi aggiustare le cose da una live).

Andiamo quindi ad aggiungere dopo la stringa che contiene auth [default=die] pam_faillock.so authfail la seguente linea:

auth required pam_ecryptfs.so unwrap

Prima della linea che contiene password required pam_unix.so aggiungiamo:

password optional pam_ecryptfs.so

E infine dopo la linea che contiene session required pam_unix.so aggiungiamo:

session required pam_ecryptfs.so unwrap

Usciamo dall’editor salvando. Per essere sicuri di aver fatto le cose a modo, apriamo un altro tty ( ctrl-alt-f2 ) e facciamo l’accesso con l’utente.

caso 1: insuccesso

Se qualcosa è andato male, ritornate immediatamente nel primo tty ( ctrl-alt-f1 ) e correggete l’errore nel file o, nel caso non riusciate, eliminate le modifiche e riprendete il file di backup:

mv -f /etc/pam.d/system-auth.old /etc/pam.d/system-auth

Potete anche ricopiare anche la cartella di backup, fornita da ecryptfs :

sudo rm /home/nomeutente
sudo mv /home/nomeutente.numero /home/nomeutente
sudo rm -rf /home/.ecryptfs

caso 2: successo

Se l’accesso avviene correttamente, e se la cartella viene decriptata, allora il processo è andato a buon fine. Eliminate la cartella backup automaticamente creata da ecryptfs (ha il suffisso del vostro nome, ed un numero accanto), cercandola con ls /home/

Rimuovetela in seguito con il comando:

rm -rf nomeutente.NUMERO

infine

Ricordate di far uscire con exit l’utente.

Se la cartella non viene ricriptata potreste avere problemi di accesso, nel caso accada entrate con un tty diverso e ricriptatela con il comando di umount, ripassate quindi al tty principale per continuare l’accesso.

Passo per archlinux

Su Archlinux, è necessario apportare una modifica al file /etc/mkinitcpio.conf e scrivere all’interno della sezione MODULES il nome del modulo ( ecryptfs ) per forzarne il caricamento ad ogni avvio del pc. Successivamente ricompilate il servizio di avvio

mkinitcpio -p linux
history_edu Revisioni