Prima di tutto, se vuoi installare Ubuntu crittografato su un disco rigido, sostituendo eventuali partizioni e sistemi operativi esistenti, puoi farlo direttamente dal programma di installazione grafico. Questo processo manuale è richiesto solo per l'avvio doppio.
Questa risposta è stata testata con Ubuntu 13.04.
Avvia da un DVD o una chiavetta USB Ubuntu live e seleziona "Prova Ubuntu".
Crea due partizioni usando GParted incluso nel disco live. La prima partizione dovrebbe essere non formattata e dovrebbe essere abbastanza grande per root e swap, nel mio esempio, questo è /dev/sda3
. La seconda partizione dovrebbe essere grande diverse centinaia di megabyte e formattata in ext2 o ext3, non sarà crittografata e montata su /boot
(nel mio esempio questo è /dev/sda4
).
In questa schermata, ho un'installazione Ubuntu non crittografata esistente in due partizioni: /dev/sda1
e /dev/sda5
, evidenziare nel cerchio a sinistra. Ho creato una partizione non formattata /dev/sda3
e una partizione ext3 in /dev/sda4
, intesa per l'installazione di Ubuntu crittografata, illuminata nel cerchio a destra:
Creare un contenitore LUKS utilizzando questi comandi. Sostituisci /dev/sda3
con la partizione non formattata creata in precedenza e cryptcherries
con un nome a tua scelta.
sudo cryptsetup luksFormat /dev/sda3
sudo cryptsetup luksOpen /dev/sda3 cryptcherries
Avviso : noterai che il luksFormat
passaggio è stato completato molto rapidamente, perché non cancella in modo sicuro il dispositivo a blocchi sottostante. A meno che tu non stia solo sperimentando e non ti interessi della sicurezza contro vari tipi di attacchi forensi, è fondamentale inizializzare correttamente il nuovo contenitore LUKS prima di creare i filesystem al suo interno. La scrittura di zeri nel contenitore mappato provocherà la scrittura di dati casuali forti sul dispositivo a blocchi sottostante. Questo può richiedere del tempo, quindi è meglio usare il pv
comando per monitorare l'avanzamento:
### Only for older releases, e.g. not for 19.04, `pv` is not included in the repo must be added first
# sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"
# sudo apt-get update
sudo apt-get install -y pv
sudo sh -c 'exec pv -tprebB 16m /dev/zero >"$1"' _ /dev/mapper/cryptcherries
oppure, se stai eseguendo un'installazione offline e non riesci a ottenere facilmente pv
:
sudo dd if=/dev/zero of=/dev/mapper/cryptcherries bs=16M
All'interno del contenitore LUKS montato, creare un volume fisico LVM, un gruppo di volumi e due volumi logici. Il primo volume logico verrà montato su /
e il secondo verrà utilizzato come scambio. vgcherries
è il nome del gruppo di volumi e lvcherriesroot
e lvcherriesswap
sono i nomi dei volumi logici, è possibile scegliere il proprio.
sudo pvcreate /dev/mapper/cryptcherries
sudo vgcreate vgcherries /dev/mapper/cryptcherries
sudo lvcreate -n lvcherriesroot -L 7.5g vgcherries
sudo lvcreate -n lvcherriesswap -L 1g vgcherries
Crea filesystem per i due volumi logici: (Puoi anche fare questo passo direttamente dal programma di installazione.)
sudo mkfs.ext4 /dev/mapper/vgcherries-lvcherriesroot
sudo mkswap /dev/mapper/vgcherries-lvcherriesswap
Senza riavviare , installa Ubuntu usando il programma di installazione grafico (il collegamento si trova sul desktop in Xubuntu 18.04), scegliendo il partizionamento manuale. Assegnare /
a /dev/mapper/vgcherries-lvcherriesroot
e /boot
alla partizione non crittografata creata nel passaggio 2 (in questo esempio /dev/sda4
).
Al termine dell'installazione grafica, selezionare "continua il test" e aprire un terminale.
Trova l'UUID delle partizioni LUKS ( /dev/sda3
in questo caso), ti servirà in seguito:
$ sudo blkid /dev/sda3
/dev/sda3: UUID="8b80b3a7-6a33-4db3-87ce-7f126545c74af" TYPE="crypto_LUKS"
Montare i dispositivi appropriati nelle posizioni appropriate in /mnt
e chroot in esso:
sudo mount /dev/mapper/vgcherries-lvcherriesroot /mnt
sudo mount /dev/sda4 /mnt/boot
sudo mount --bind /dev /mnt/dev
sudo chroot /mnt
> mount -t proc proc /proc
> mount -t sysfs sys /sys
> mount -t devpts devpts /dev/pts
Creare un file denominato /etc/crypttab
nell'ambiente chrooted per contenere questa riga, sostituendo il valore UUID con l'UUID della partizione LUKS e vgcherries
con il nome del gruppo di volumi:
# <target name> <source device> <key file> <options>
cryptcherries UUID=8b80b3a7-6a33-4db3-87ce-7f126545c74af none luks,retry=1,lvm=vgcherries
Esegui il seguente comando nell'ambiente chroot:
update-initramfs -k all -c
Riavvia e avvia Ubuntu crittografato. Dovresti ricevere una password.
Verifica di utilizzare la partizione crittografata /
eseguendo mount
:
$ mount
/dev/mapper/vgcherries-lvcherriesroot on / type ext4 (rw,errors=remount-ro)
/dev/sda4 on /boot type ext3 (rw)
# rest of output cut for brevity
Verifica di utilizzare la partizione di swap crittografata (non le partizioni di swap non crittografate di altre installazioni) eseguendo questo comando:
$ swapon -s
Filename Type Size Used Priority
/dev/mapper/vgcherries-lvcherriesswap partition 630780 0 -1
Verifica di poter avviare la modalità di ripristino, che non desideri scoprire in seguito in caso di emergenza che la modalità di ripristino non funziona :)
Installa eventuali aggiornamenti che potrebbero ricostruire il ramdisk e aggiornare la configurazione di grub. Riavviare e testare sia la modalità normale che la modalità di ripristino.