Cryptsetup : Créer une partition home chiffée post-installation
Table des matières
Dans cet article; nous allons créer une partition /home séparée, qui sera chiffrée.
Le déverrouillage se fera au boot du système.
Nous réalisons ces manipulations dans une installation existante, avec un schéma de partitionnement de type LVM.
Le VG s'appelle rootvg.
Le système utilisé est Gentoo, sous OpenRC.
Si vous utilisez systemd, vous pouvez me rappeler le lien de cet article et les modifications à apporter pour que ceci soit fonctionnel.
Première étape, créer 1 volume qui sera le conteneur "LUKS" sécurisé (nommé ici crypthomelv) :
Ensuite, on créé le conteneur LUKS avec la commande cryptsetup :
Un avertissement s'affiche indiquant que tout ce qui est éventuellement dans ce volume sera définitivement effacé. Confirmer avec YES en majuscules :
Ensuite, on est invité à saisir sa phrase secrète (qui nous servira pour déverrouiller le volume chiffré) :
On ouvre le volume avec son emplacement et on indique un nom de montage (ici crypthomelv) :
On saisi notre phrase de passe précédemment définie.
A partir de là, avec fdisk -l on voit un nouveau "disque" : /dev/mapper/crypthomelv
On va l'utiliser, comme une partition, et donc le formater :
Ensuite, pour automatiser le montage, on va modifier le fichier /etc/conf.d/dmcrypt
On définit la target (le nom comme définit tout à l'heure, le deuxième argument de cryptsetup luksOpen) et la source (partition, lv créé, etc...)
On récupère le UUID du FS qui est DANS le conteneur chiffré (celui du système de fichiers ext4 dans notre cas), et non pas celui du conteneur chiffré :
Et on édite le fstab et on ajoute le point de montage concerné :
On n'oublie pas d'ajouter le service dm-crypt au boot
Il n'est pas nécessaire de regénérer l'initramfs car c'est simplement /home qui est chiffré, et non pas la partition racine.
Votre aide et retour d'expérience est la bienvenue !
Contactez moi sur Telegram
Introduction
Dans cet article; nous allons créer une partition /home séparée, qui sera chiffrée.
Le déverrouillage se fera au boot du système.
Contexte
Nous réalisons ces manipulations dans une installation existante, avec un schéma de partitionnement de type LVM.
Le VG s'appelle rootvg.
Le système utilisé est Gentoo, sous OpenRC.
Si vous utilisez systemd, vous pouvez me rappeler le lien de cet article et les modifications à apporter pour que ceci soit fonctionnel.
Mise en place de la partition home chiffrée
Première étape, créer 1 volume qui sera le conteneur "LUKS" sécurisé (nommé ici crypthomelv) :
Code BASH :
lvcreate -n crypthomelv -L 50G rootvg
Ensuite, on créé le conteneur LUKS avec la commande cryptsetup :
Code BASH :
cryptsetup --verify-passphrase luksFormat /dev/rootvg/crypthomelv
Un avertissement s'affiche indiquant que tout ce qui est éventuellement dans ce volume sera définitivement effacé. Confirmer avec YES en majuscules :
Code TEXT :
WARNING! ======== Cette action écrasera définitivement les données sur /dev/rootvg/crypthomelv. Are you sure? (Type 'yes' in capital letters): YES
Ensuite, on est invité à saisir sa phrase secrète (qui nous servira pour déverrouiller le volume chiffré) :
Code TEXT :
Saisissez la phrase secrète pour /dev/rootvg/crypthomelv : Vérifiez la phrase secrète :
On ouvre le volume avec son emplacement et on indique un nom de montage (ici crypthomelv) :
Code BASH :
cryptsetup luksOpen /dev/rootvg/crypthomelv crypthomelv
On saisi notre phrase de passe précédemment définie.
A partir de là, avec fdisk -l on voit un nouveau "disque" : /dev/mapper/crypthomelv
On va l'utiliser, comme une partition, et donc le formater :
Code BASH :
mkfs.ext4 /dev/mapper/crypthomelv
Automatiser le montage
Avec OpenRC
Ensuite, pour automatiser le montage, on va modifier le fichier /etc/conf.d/dmcrypt
Code BASH :
vim /etc/conf.d/dmcrypt
On définit la target (le nom comme définit tout à l'heure, le deuxième argument de cryptsetup luksOpen) et la source (partition, lv créé, etc...)
Code BASH :
target=crypthomelv source='/dev/rootvg/crypthomelv'
On récupère le UUID du FS qui est DANS le conteneur chiffré (celui du système de fichiers ext4 dans notre cas), et non pas celui du conteneur chiffré :
Code BASH :
blkid /dev/mapper/crypthomelv
Code TEXT :
/dev/mapper/crypthomelv: UUID="34cb6f57-ff43-4963-9297-73cca2c46de7" BLOCK_SIZE="4096" TYPE="ext4"
Et on édite le fstab et on ajoute le point de montage concerné :
Code TEXT :
UUID="34cb6f57-ff43-4963-9297-73cca2c46de7" /home ext4 defaults 0 0
On n'oublie pas d'ajouter le service dm-crypt au boot
Code BASH :
rc-update add dmcrypt boot
Il n'est pas nécessaire de regénérer l'initramfs car c'est simplement /home qui est chiffré, et non pas la partition racine.
systemd
Votre aide et retour d'expérience est la bienvenue !
Contactez moi sur Telegram