Tout d'abord, si vous souhaitez installer Ubuntu chiffré sur un disque dur en remplaçant les partitions et les systèmes d'exploitation existants, vous pouvez le faire directement à partir du programme d'installation graphique. Ce processus manuel n'est requis que pour le double démarrage.
Cette réponse a été testée avec Ubuntu 13.04.
Démarrez à partir d’un DVD live ou d’une clé USB Ubuntu, puis sélectionnez "Essayer Ubuntu".
Créez deux partitions en utilisant GParted inclus dans le disque live. La première partition ne devrait pas être formatée et devrait être assez grande pour root et swap, dans mon exemple, c’est /dev/sda3
. La seconde partition doit faire plusieurs centaines de mégaoctets et être formatée en ext2 ou ext3. Elle sera non chiffrée et montée /boot
(dans mon exemple, c'est /dev/sda4
).
Dans cette capture d'écran, j'ai une installation existante d'Ubuntu non chiffrée dans deux partitions: /dev/sda1
et /dev/sda5
, surlignez dans le cercle à gauche. J'ai créé une partition non formatée dans /dev/sda3
et une partition ext3 dans /dev/sda4
, destinées à l'installation chiffrée d'Ubuntu, mises en évidence dans le cercle à droite:
Créez un conteneur LUKS à l'aide de ces commandes. Remplacez-la /dev/sda3
par la partition non formatée créée précédemment et cryptcherries
par un nom de votre choix.
sudo cryptsetup luksFormat /dev/sda3
sudo cryptsetup luksOpen /dev/sda3 cryptcherries
Avertissement : vous remarquerez que l' luksFormat
étape s'est terminée très rapidement, car le périphérique sous-jacent en bloc n'est pas effacé de manière sécurisée. À moins que vous ne fassiez qu'essayer, et que vous ne vous préoccupiez pas de la sécurité contre différents types d'attaque judiciaire, il est essentiel d'initialiser correctement le nouveau conteneur LUKS avant de créer des systèmes de fichiers. L'écriture de zéros dans le conteneur mappé entraîne l'écriture de données aléatoires fortes sur le périphérique de bloc sous-jacent. Cela peut prendre un certain temps, il est donc préférable d’utiliser la pv
commande pour surveiller les progrès:
### 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
ou, si vous effectuez une installation hors ligne et que vous ne pouvez pas obtenir facilement pv
:
sudo dd if=/dev/zero of=/dev/mapper/cryptcherries bs=16M
Dans le conteneur LUKS monté, créez un volume physique LVM, un groupe de volumes et deux volumes logiques. Le premier volume logique sera monté sur /
et le second sera utilisé comme échange. vgcherries
est le nom du groupe de volumes et, et lvcherriesroot
et lvcherriesswap
sont les noms des volumes logiques, vous pouvez choisir le vôtre.
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
Créez des systèmes de fichiers pour les deux volumes logiques: (Vous pouvez également effectuer cette étape directement à partir du programme d'installation.)
sudo mkfs.ext4 /dev/mapper/vgcherries-lvcherriesroot
sudo mkswap /dev/mapper/vgcherries-lvcherriesswap
Sans redémarrer , installez Ubuntu à l’aide du programme d’installation graphique (le raccourci se trouve sur le bureau dans Xubuntu 18.04), en choisissant un partitionnement manuel. Attribuez /
à /dev/mapper/vgcherries-lvcherriesroot
et /boot
à la partition non chiffrée créée à l'étape 2 (dans cet exemple, /dev/sda4
).
Une fois l’installateur graphique terminé, sélectionnez "poursuivre les tests" et ouvrez un terminal.
Recherchez l'UUID des partitions LUKS ( /dev/sda3
dans ce cas), vous en aurez besoin plus tard:
$ sudo blkid /dev/sda3
/dev/sda3: UUID="8b80b3a7-6a33-4db3-87ce-7f126545c74af" TYPE="crypto_LUKS"
Montez les périphériques appropriés aux emplacements appropriés /mnt
et chrootez dessus:
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
Créez un fichier nommé /etc/crypttab
dans l'environnement chrooté pour contenir cette ligne, en remplaçant la valeur UUID par l'UUID de la partition LUKS et vgcherries
par le nom du groupe de volumes:
# <target name> <source device> <key file> <options>
cryptcherries UUID=8b80b3a7-6a33-4db3-87ce-7f126545c74af none luks,retry=1,lvm=vgcherries
Exécutez la commande suivante dans l'environnement chrooté:
update-initramfs -k all -c
Redémarrez et démarrez dans Ubuntu crypté. Vous devriez être invité à entrer un mot de passe.
Vérifiez que vous utilisez la partition chiffrée pour /
en exécutant 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
Vérifiez que vous utilisez la partition swap chiffrée (et non des partitions swap non chiffrées d'autres installations) en exécutant cette commande:
$ swapon -s
Filename Type Size Used Priority
/dev/mapper/vgcherries-lvcherriesswap partition 630780 0 -1
Vérifiez que vous pouvez démarrer en mode de récupération, vous ne voulez pas savoir plus tard, lors d’une urgence, que le mode de récupération ne fonctionne pas :)
Installez les mises à jour susceptibles de reconstruire le disque mémoire et de mettre à jour la configuration de grub. Redémarrez et testez le mode normal et le mode de récupération.