Il metodo più veloce per creare un Ubuntu Linux con filesystem criptato è l' installazione ex novo. Le istruzioni seguenti fanno riferimento alla release 10.04 LTS "Lucid Lynx".
Lanciare Ubuntu LiveCD/DVD e selezionare Try Ubuntu without installing
Aprire un terminale e digitare {{{sudo su }}}
Installiamo quindi i pacchetti utili (gparted) e necessari (crypsetup, lvm2) digitando {{{apt-get --force-yes --yes install gparted cryptsetup lvm2 }}}
Lanciare gparted e cancellare le vecchie partizioni. Crearne una nuova (sda1) delle dimensioni fra i 150 ed 250 Mb destinata ai files di bootstrap e che quindi non verrà criptata. Una seconda partizione (sda2) delle dimensioni di almeno 6GB è destinata allo swapping ed alla restante parte del file system. Per adesso non importa il tipo di formattazione (fat,ext2,...) che sceglierete per sda1 e sda2.
Carichiamo in memoria centrale i moduli rispettivamente per il "Linux Unified Key Setup" (sistema cifratura del disco),per gli algortmi di cifratura usati dal luks: il serpent e lo "Xor-encrypt-xor Tweaked codeBook mode with ciphertext Stealing" ed in fine per l'algoritmo di hashing ripemd160 usato da xts. {{{modprobe dm-crypt serpent xts rmd160 }}}
Criptiamo dunque /dev/sda2 formattandolo in modalità luks, cifrando in cascata con gli algoritmi serpent e xts con metodo "Encrypted Salt-Sector Initialization Vector", utilizzando una chiave di 512 bit. {{{cryptsetup -c serpent-xts-essiv:rmd160 -s 512 luksFormat /dev/sda2 }}}
Il sistema chiedera di confermare il comando (digitanto '''YES''') e qundi chiedera di inserire due volte la password scelta.
Apriamo il volume appena formattato e lo rimappiamo come /dev/mapper/dec_sda2. {{{cryptsetup luksOpen /dev/sda2 dec_sda2 }}}
Impostiamo per il volume virtuale /dev/mapper/dec_sda2 gli attributi necessari a farlo sembrare un dispositivo fisico. {{{pvcreate /dev/mapper/dec_sda2 }}}
All'interno di /dev/mapper/dec_sda2 creiamo il gruppo di volumi gv_dec_sda2. {{{vgcreate gv_dec_sda2 /dev/mapper/dec_sda2 }}}
Quindi aggiungiamo al gruppo il volume scambio per lo swapping (in questo caso di 8 GByte). {{{lvcreate -L 8G -n gv_dec_sda2/scambio mkswap -f /dev/mapper/gv_dec_sda2-scambio }}}
Poi aggiungiamo al gruppo il volume radice per il resto del filesystem (in questo caso di 420 GByte). {{{lvcreate -L 492G -n gv_dec_sda2/radice mkfs.ext4 /dev/mapper/gv_dec_sda2-radice }}}
Se tutto è andato a buon fine il comando lvs mostrera` nell'elenco i volumi radice e scambio.
A questo punto possiamo avviare l'installazione di Ubuntu. Al momento di scegliere il metodo di partizionamento del disco, optare per quello manuale.
Impostare il volume /dev/mapper/gv_dec_sda2-radice per essere formattato in ext4 con journaling ed associato al mount point /
Impostare il volume /dev/mapper/gv_dec_sda2-scambio per essere usato come swapping area
Impostare il volume /dev/sda1 per essere formattato in ext4 con journaling ed associato al mount point /boot
Al termine dell' installazione non dobbiamo fare il reboot perchè bisogna impostare il nuovo sistema per la decrittazionealla partenza.
{{{cd /mnt mkdir radice mount /dev/mapper/gv_dec_sda2-radice radice mount /dev/sda1 radice/boot }}}
Adesso la directory /mnt/radice è associata alla radice nuovo filesystem che manca di alcuni files sia reali che virtuali: "popoleremo" le cartelle vuote con i files del livecd. {{{mount -o bind /proc radice/proc mount -o bind /dev radice/dev mount -o bind /sys radice/sys }}}
Per poter rigenerare alcuni files di configurazione dobbiamo "simulare" il normale filesystem. {{{chroot radice }}} adesso /mnt/radice è diventata la directory radice di una nuova shell del terminale.
Aggiungiamo al nuovo sistema i pacchetti indispensabili all'accesso a /dev/sda2. {{{apt-get --force-yes --yes install gparted cryptsetup lvm2 }}}
Apriamo il file di configurazione del modulo di bootstrap di decrifrazione. {{{nano /etc/crypttab }}}
ed aggiungiamo la seguente riga: dec_sda2 /dev/sda2 none luks,cypher=serpent-xts-essiv:rmd160 . Salviamo il file con la combinazione di tasti ctrl o seguito dal tasto invio poi usciamo da nano usando la combinazione ctrl x.
Rigeneriamo il file di configurazione che definisce le azioni iniziali del sistema. {{{update-initramfs -c -k all }}}
Rigeneriamo il file di configurazione che definisce le azioni al momento del bootstrap. {{{update-grub2 }}}
Togliamo il livecd e riavviamo il pc.
Se tutto è andato bene apparirà un messaggio che chiede la password di sblocco di /dev/sda2 ed una volta inserita la password giusta dovrebbe continuare normalmente il caricamento di ubuntu.
