ARTICLES
Créer une partition chiffrée avec LVM et LUKS
Parce que ce n’est pas parce qu’on n’a rien à se reprocher qu’on peut laisser ses documents personnels se balader en clair partout, voici un rapide guide sur comment se créer une partition LVM chiffrée avec LUKS. Comme ça si vous vous faites chouraver votre PC, les photos de votre mamie seront en sécurité.
En ce qui me concerne, j’ai un dossier dans mon /home qui contient tout un tas de bordel personnel (fiches de paye, documents administratifs et archive KeePass). Je veux le mettre dans une partition séparée chiffrée, le tout sous LVM.
Ajout d’un volume logique
On commence par faire un état des lieux du bordel :
1# pvscan
2 PV /dev/sda3 VG fedora_pc-47 lvm2 [117.75 GiB / 0 free]
3 Total: 1 [117.75 GiB] / in use: 1 [117.75 GiB] / in no VG: 0 [0 ]J’ai donc le groupe de volumes fedora_pc-47 qui est uniquement sur /dev/sda3. Voyons ce qu’il contient :
1# lvscan
2 ACTIVE '/dev/fedora_pc-47/root' [30.00 GiB] inherit
3 ACTIVE '/dev/fedora_pc-47/home' [79.93 GiB] inherit
4 ACTIVE '/dev/fedora_pc-47/swap' [7.82 GiB] inheritOn a 3 volumes logiques : root (monté dans /root), home (monté dans /home) et la swap. Je vais créer un nouveau volume logique que je vais appeler encrypted. Problème : je n’ai plus d’espace libre sur mon SSD ; il faut donc que je diminue la taille de ma partition /home avant de continuer (je vais enlever 5 Go) :
1# umount /dev/fedora_pc-47/home
2# lvreduce --resizefs --size 5g /dev/fedora_pc-47/home
3# mount /dev/fedora_pc-47/home /homeJe peux maintenant créer mon volume logique :
1# lvcreate --size 5g --name encrypted fedora_pc-47Ce volume de 5 Go est disponible dans /dev/fedora_pc-47/encrypted et utilisable comme si c’était une partition classique.
Mise en place de LUKS
On utilise de l’AES en mode XTS (plus safe que le cbc-essiv précédemment utilisé) :
1# cryptsetup luksFormat --cipher aes-xts-plain64 --hash sha256 --key-size 256 /dev/fedora_pc-47/encryptedOn vérifie que ça s’est bien passé :
1# cryptsetup luksDump /dev/fedora_pc-47/encrypted
2LUKS header information for /dev/fedora_pc-47/encrypted
3
4Version: 1
5Cipher name: aes
6Cipher mode: xts-plain64
7Hash spec: sha256
8Payload offset: 4096
9MK bits: 256
10MK digest: 89 e2 6f fd 54 0e ea 82 3d 69 0c f3 81 65 66 d0 83 2f 2d 8b
11MK salt: 1a 46 f4 cd 54 32 ac 73 cc e3 bf b6 e6 ee 14 59
12 1a 40 7c 27 48 7a c0 b8 04 20 af b5 a9 0c 78 82
13MK iterations: 188000
14UUID: f154e3fe-eb9b-4b2b-8ec3-ce8807744281
15
16Key Slot 0: ENABLED
17 Iterations: 1517035
18 Salt: b4 9b 11 96 c1 56 e1 8e ee ea 1e 37 04 6b d3 58
19 d4 37 45 59 56 df 1b dd 27 b6 c0 93 25 98 09 45
20 Key material offset: 8
21 AF stripes: 4000
22Key Slot 1: DISABLED
23Key Slot 2: DISABLED
24Key Slot 3: DISABLED
25Key Slot 4: DISABLED
26Key Slot 5: DISABLED
27Key Slot 6: DISABLED
28Key Slot 7: DISABLEDOn va maintenant formatter la partition chiffrée (je prends ext4 parce que c’est stable, mais on pourrait aussi mettre du btrfs) - notez que je prends l’UUID du retour précédent :
1# cryptsetup luksOpen /dev/fedora_pc-47/encrypted luks-f154e3fe-eb9b-4b2b-8ec3-ce8807744281
2# mkfs -t ext4 /dev/mapper/luks-f154e3fe-eb9b-4b2b-8ec3-ce8807744281Plus qu’à monter la partition :
1# mount /dev/mapper/luks-f154e3fe-eb9b-4b2b-8ec3-ce8807744281 /home/val/EncryptedEt faire en sorte que mon OS s’en souvienne au prochain redémarrage (les options noatime et discard sont là parce que c’est un SSD derrière) :
1# echo 'luks-f154e3fe-eb9b-4b2b-8ec3-ce8807744281 f154e3fe-eb9b-4b2b-8ec3-ce8807744281 none' >> /etc/crypttab
2# echo '/dev/mapper/luks-f154e3fe-eb9b-4b2b-8ec3-ce8807744281 /home/val/Encrypted ext4 defaults,noatime,discard 1 2' >> /etc/fstabTout ce que je mettrai dans /home/val/Encrypted sera désormais chiffré.
Bon par contre, ça coule de source mais ça ne coûte rien de le rappeler : dès qu’un document sort de cette partition (si vous le copiez sur une clé USB ou l’attachez à un mail), il n’est plus du tout chiffré. Ce que j’explique ici ne protège vos documents que dans le cas d’un vol de votre laptop.