Mageia : chiffrer sa partition Home avec dm-crypt

J’utilise un ordinateur portable sous Mageia 6 qui m’accompagne dans les transports en communs et au boulot. Le risque de vol n’est donc pas nul et j’ai décidé de chiffrer mes données personnelles pour ne pas retrouver les photos de mes vacances à Rocamadour en libre diffusion sur le net.

Si vous essayez de faire la même chose, c’est sous votre propre responsabilité, pas la mienne ! Jouer avec les partitions, déplacer des données, c’est risqué donc vous avez fait des sauvegardes, disposez de DVD de récupération, etc... Avant de continuer, prononcez à voix haute "c’est ma responsabilité, pas celle de beuz"

Cet article est un retour d’expérience de chiffrage de mes données personnelles. Le tutoriel est destiné aux utilisateurs de Mageia, les autres linuxiens peuvent aller voir ici une version "apt-get". Dans un autre article sur le même sujet, je teste veracrypt.

J’utilise un ordinateur portable sur lequel Mageia cotoie windows. Le partitionnement est celui par défaut, c’est-à-dire que /home [1] est sur une partition indépendante de la racine.

Mageia 6 est fourni avec le système de chiffrement dm-crypt lequel est installé mais non actif lorsque l’on a choisi le partitionnement automatique.

Première étape : le transfert temporaire

Je n’ai pas trouvé comment convertir une partition sans écraser ses données alors la première chose à faire est de stocker le contenu actuel de la partition home sur un autre espace disque. Plusieurs choix s’offrent à vous :
 vous prenez le disque USB de votre conjoint sur lequel vous effacez les 3 dernières saisons de la série TV qu’elle a mis 6 jours à télécharger
 vous réduisez la partition windows pour créer une partition home temporaire.

Astuce : la commande "du" vous permet de connaître votre besoin :

[beuz@localhost ~]$ su
Mot de passe : 
[root@localhost beuz]# du -sh /home
107G	        /home

Personnellement, j’ai utilisé diskdrake[Centre de Contrôle Mageia] pour réduire ma partition windows, créer une partition temporaire avec le point de montage /mnt/hometemp
En image :

Vous pouvez utiliser l’outil de votre choix pour faire la copie. Attention à bien copier le dossier "home" complet. C’est donc avec les droits d’administration qu’on peut le faire.

[beuz@localhost ~]$ su
Mot de passe : 
[root@localhost beuz]#cp -Rp /home/* /mnt/hometemp/

ou bien avec le gestionnaire de fichiers :

[beuz@localhost ~]$ su
Mot de passe : 
[root@localhost beuz]#sudo pcmanfm

2ème étape : on crée la partition cryptée

Une fois que c’est fait, on doit pointer notre home vers la partition temporaire et vérifier que tout fonctionne. Pour cela, il faut modifier le fichier /etc/fstab.

[beuz@localhost ~]$ su
Mot de passe : 
[root@localhost beuz]# mcedit /etc/fstab

Repérez la ligne /home et la ligne /mnt/hometemp. Commentez la ligne "home" en mettant un # en début de ligne et remplacez /mnt/hometemp par /home

UUID=ab19a265-b83e-41b7-a121-bdf0c9a38770 /home ext4 noatime,acl 1 2
UUID=6ec5f404-aa34-46ef-b3fc-790aed61ac8c /mnt/hometemp ext4 noatime,acl 1 2

deviennent
#UUID=ab19a265-b83e-41b7-a121-bdf0c9a38770 /home ext4 noatime,acl 1 2
UUID=6ec5f404-aa34-46ef-b3fc-790aed61ac8c /home ext4 noatime,acl 1 2

Enregistrez le fichier fstab et redémarrez linux.
Au redémarrage, votre /home pointe maintenant sur la partition temporaire, ce qui va nous permettre de reformater l’ancienne partition, toujours avec diskdrake. Mais cette fois, en cochant la case "partition cryptée".

En image [2] :

3ème étape : on installe le nouveau /home

Vous devez redémarrer puis copier le contenu de votre partition /home vers la partition /mnt/crypthome. Au redémarrage, une nouvelle demande de mot de passe apparait [3]. C’est là que vous devrez taper la clef de chiffrement que vous aviez mis lors du chiffrage de votre nouvelle partition.

Ensuite, on recopie tout le contenu de /home dans la nouvelle partition :

[beuz@localhost ~]$ su
Mot de passe : 
[root@localhost beuz]# cp -Rp /home/* /mnt/crypthome/
[root@localhost beuz]# mcedit /etc/fstab

Et on change à nouveau fstab mais cette fois, on repère la ligne /home et la ligne /mnt/crypthome. Comme la dernière fois, on met un #diese devant la ligne home et on modifie /mnt/crypthome en /home.

UUID=6ec5f404-aa34-46ef-b3fc-790aed61ac8c /home ext4 noatime,acl 1 2
/dev/mapper/crypt_sda10 /mnt/crypthome ext4 noatime 0 0

devient
#UUID=6ec5f404-aa34-46ef-b3fc-790aed61ac8c /home ext4 noatime,acl 1 2
/dev/mapper/crypt_sda10 /home ext4 noatime,acl 1 2

Dernière étape : rendre l’espace temporaire à son propriétaire

Au redémarrage, on travaille désormais sur une partition /home chiffrée par dm-crypt qui se trouve sur l’emplacement oriiginel de l’ancienne partition /home. Après avoir vérifié que mon home est désormais affublé d’un boulier vert et que tout fonctionne, Il reste à supprimer la partition temporaire et agrandir la partition windows pour lui rendre son espace... ou supprimer le dossier /home du disque USB de votre conjoint, le remettre où vous l’aviez trouvé, jurer que vous n’y avez jamais touché et qu’elle peut de toute façon retélécharger sa série TV préférée.
En image :