Cryptmount e' un piccolo programmino per sistemi GNU/linux che permette a un utente di montare e utilizzare un file system crittato.
E' possibile installare cryptmount partendo dai sorgenti che si possono scaricare dall'homepage del sito:
http://cryptmount.sourceforge.net
oppure installando il pacchetto precompilato per la versione di linux che utilizzate,
cryptmount e' disponibile per debian, ubuntu, slackware e gentoo (secondo quanto riportato nel sito, non so se esista anche per altre distro, nel caso segnalatemelo)
supponiamo che il nostro nome utente sia orione, e che vogliamo crittare la home del nostro utente, le prossime operazioni andranno eseguite come super-utente.
creiamo il filesystem, in questo caso creiamo un file di 512Mb, chiamato orione.fs, nella cartella /home
$ dd if=/dev/urandom of=/home/orione.fs bs=1M count=512
dobbiamo modificare il file /etc/cryptmount/cmtab, che descrive un po' di parametri per il file system crittato.
Inseriamo le seguenti righe:
orione {
dev=/home/orione.fs dir=/home/orione
fstype=ext3 fsoptions=defaults cipher=twofish
keyfile=/etc/cryptmount/orione.key
keyhash=md5 keycipher=bf-cbc
}
ossia, gli abbiamo detto che il file system crittato si trova nel file /home/orione.fs
il mount-point, ossia dove verra' montato il contenuto del file sara' /home/orione
il file system sara' ext3, l'algoritmo di cifratura sara' il twofish
la chiave sta nel file /etc/cryptmount/orione.key
le altre opzioni non sono importanti a meno di esigenze particolari, i settaggi di default vanno bene.
generiamo la chiave che servira' per decrittare il filesystem e che sara' protetta da una password:
$ cryptmount --generate-key 32 orione
poi creiamo il device mapper /dev/mapper/orione (ovviamente potete chiamarlo come volete), questo serve per creare questo device che verra' visto dal sistema come il device su cui andare a leggere/scrivere.
Ora prepariamo il file system:
$ cryptmount --prepare orione
formattiamo il nostro file system come ext3:
$ mkfs.ext3 /dev/mapper/orione
e ora chiudiamolo:
$ cryptmount --release orione
a questo punto il file system puo' essere montato semplicemente invocando:
$ cryptmount -m orione
e smontato con
$ cryptmount -u orione
Bene, ora abbiamo un file container, pronto per essere montato all'avvio del sistema.
supponiamo di voler crittare la home dell'utente orione, cominciamo col fare una copia di backup della sua home e chiamiamola /home/orione.bak
$ cp -pr /home/orione /home/orione.bak
quindi montiamo il filesystem:
$ cryptmount -m orione
rendiamo l'utente orione il proprietario del contenuto del file system crittato:
$ chown -R orione /home/orione*
e facciamo in modo che solo l'utente orione possa accedere alla sua home crittata:
$ chmod 700 /home/orione
e infine copiate il contenuto della vecchia home dentro questo contenitore:
$ cp -pr /home/orione.old /home/orione
per fare in modo che venga montato automaticamente all'avvio (previo inserimento della password), modifichiamo il file /etc/default/cryptmount in modo che contenga:
CM_BOOTFS="orione"
in questo modo durante la sequenza di avvio del sistema vi verra' chiesta la password, se sbagliate a scriverla il file-system non verra' montato, ma sara' sempre possibile montarlo in seguito con il comando
$ cryptmount orione
per cambiare la password e' sufficiente lanciare:
$ cryptmount --change-password orione
Questo testo e' copyleft, chiunque puo' usarlo come meglio crede