Debian : chiffrer une partition à l’aide de VeraCrypt
Il existe plusieurs outils de chiffrement de disque et de partition sur les systèmes Linux aux 1ers rangs des quels vous trouverez LUKS ou VeraCrypt. J’ai choisi arbitrairement ici de traiter VeraCrypt, un fork du projet TrueCrypt très utilisé par les armées suisse et française. Les développeurs de TrueCrypt avaient été incités par les autorités américaines à reconnaître la possibilité d’une faille dans leur solution de chiffrement, pour recommander le logiciel BitLocker de Microsoft. En réalité, il n’y a jamais eu la moindre porte dérobée présente dans TrueCrypt. La solution Open Source s’exécute tout aussi bien sur Windows et Linux que Mac OS X.
Installation de VeraCrypt sous Debian
Je vous recommande préalablement l’installation du paquet gdebi :
apt install gdebi
Puis, téléchargez le paquet d’installation de la solution de chiffrement à l’aide de wget :
wget https://launchpad.net/veracrypt/trunk/1.25.9/+download/veracrypt-console-1.25.9-Debian-11-amd64.deb
Installez alors le logiciel :
gdebi veracrypt-console-1.25.9-Debian-11-amd64.deb
Chiffrer votre partition
Vous pouvez chiffrer à l’aide d’un mot de passe et/ou d’un fichier de clé. Dans l’exemple ci-dessous, j’ai choisi de générer un fichier de clé, que j’ai appelé datapartkeyfile.bin.
veracrypt --create-keyfile
Pour chiffrer la partition /dev/sdb1 en ext4, j’utilise la commande veracrypt issue de l’installation du paquet de la solution, en utilisant le fichier de clé :
veracrypt -t -c --volume-type=normal /dev/sdb1 --encryption=aes --hash=sha-512 --filesystem=ext4 -p "" --pim=0 -k /root/datapartkeyfile.bin --random-source=/dev/urandom
Montage manuel de la partition
Dans l’exemple ci-dessous, la partition /dev/sdb1 est ici associée au répertoire /data :
veracrypt /dev/sdb1 /data -t --pim=0 -k /root/datapartkeyfile.bin --protect-hidden=no -p ""
Vous pouvez contrôler que la partition est bien montée par la commande :
veracrypt -l
Pour démonter une partition chiffrée à l’aide de VeraCrypt, veuillez taper :
veracrypt -d /dev/sdb1
Le montage automatique
A l’aide de la commande blkid, je vais disposer des informations me permettant de configurer un point de montage automatique dans /etc/fstab et /etc/crypttab :
root@vmdebian:~# blkid /dev/mapper/veracrypt1: UUID="50fcff95-ef8b-464a-86e1-68daaf964600" BLOCK_SIZE="4096" TYPE="ext4" /dev/sda5: UUID="d72b0c7a-a9fe-49f5-a099-d8acb5d02468" TYPE="swap" PARTUUID="ae7b0111-05" /dev/sda1: UUID="28c6ef66-a45e-42be-be0a-604c5907f700" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="ae7b0111-01" /dev/sda6: UUID="cf8698b6-0dc8-4e44-b4c3-0096e0dda0a1" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="ae7b0111-06" /dev/sdb1: PARTUUID="f0da3ce7-01"
Éditez ensuite le fichier /etc/fstab et ajoutez au bas de ce fichier :
/dev/mapper/veracrypt1 /data ext4 defaults 0 0
Puis, ajoutez au fichier /etc/crypttab la ligne suivante :
veracrypt1 /dev/sdb1 /dev/null tcrypt-veracrypt,tcrypt-keyfile=/root/datapartkeyfile.bin
Pour la prise en compte à chaud des données de partitionnement, veuillez exécuter la commande :
mount -a
Remarque
Le stockage de la clé sur une partition non chiffrée du système de fichiers peut permettre à une personne d’accéder aux données très simplement. Le montage automatique de la partition chiffrée est relativement incompatible avec l’exigence de sécurité.