LUKS : Chiffrement des données du disque dur Linux avec NTFS sous Linux
L’acronyme LUKS signifie Linux Unified Key Setup qui est une méthode large de cryptage de disque utilisée par le noyau Linux et est implémentée avec le package cryptsetup.
La ligne de commande cryptsetup chiffre un disque de volume à la volée à l’aide d’une clé de chiffrement symétrique dérivée de la phrase de passe fournie qui est fournie chaque fois qu’un disque de volume, une partition et un disque entier (même une clé USB) sont montés dans la hiérarchie du système de fichiers et utilisent le chiffrement aes-cbc-essiv :sha256.
Étant donné que LUKS peut chiffrer l’intégralité des périphériques de bloc (disques durs, clés USB, disques Flash, partitions, groupes de volumes, etc.) sur les systèmes Linux, il est largement recommandé pour protéger les supports de stockage amovibles, les disques durs d’ordinateurs portables ou les fichiers d’échange Linux et n’est pas recommandé pour le chiffrement au niveau des fichiers.
NTFS (New Technology File System) est un système de fichiers propriétaire développé par Microsoft.
Ubuntu 24.04 fournit une prise en charge complète du cryptage LUKS et également une prise en charge native NTFS pour Windows à l’aide du package ntfs-3g.
Pour prouver mon point de vue, dans ce tutoriel, j’ai ajouté un nouveau disque dur sur la boîte Ubuntu 24.04 (la référence système du disque dur nouvellement ajouté est /dev/vdb) qui sera divisé en deux partitions.
- Une partition (
/dev/vdb1-primary) utilisée pour le chiffrement LUKS. - La deuxième partition (
/dev/vdb2– extended) formatée en NTFS pour accéder aux données sur les systèmes Linux et Windows.
De plus, les partitions seront automatiquement montées sur Ubuntu 24.04 après le redémarrage.
Étape 1 : Créer des partitions de disque
1. Une fois que votre disque dur est physiquement ajouté à votre machine, utilisez la commande ls pour répertorier tous les périphériques /dev (le nouveau disque sera /dev/vdb) ou vérifiez votre disque dur nouvellement ajouté avec la commande fdisk.
ls /dev/vd*
sudo fdisk -l /dev/vdb
Comme aucun système de fichiers n’a encore été écrit, le disque ne contient pas de table de partition valide.
2. L’étape suivante découpe le disque dur pour obtenir un résultat à deux partitions à l’aide de l’utilitaire de disque cfdisk, qui offre une interface textuelle pour le partitionnement des disques.
sudo cfdisk /dev/vdb
Si c’est la première fois que vous utilisez cfdisk sur ce disque, vous devrez peut-être sélectionner un type de table de partition (par exemple, MBR pour les systèmes plus anciens ou GPT pour les systèmes plus récents).
3. L’écran suivant ouvre cfdisk en mode interactif. Sélectionnez l’option « Espace libre » sur votre disque dur et accédez à l’option « Nouveau » à l’aide des touches fléchées gauche/droite.
4. Choisissez le type de partition (Primaire ou Étendue) si vous y êtes invité et définissez la taille de la partition (en Mo ou en Go) pour créer la première partition.
5. Une fois la première partition créée, sélectionnez à nouveau « Espace libre » et choisissez « Nouveau » pour créer la deuxième partition.
6. Choisissez le type de partition (Primaire ou Étendue) si vous y êtes invité et définissez la taille de la partition (en Mo ou en Go) pour créer une deuxième partition.
7. Après avoir examiné et vérifié les partitions, sélectionnez « Écrire » pour confirmer et enregistrer les partitions.
8. Sélectionnez « Quitter » pour quitter l’utilitaire cfdisk.
Félicitations! Vos partitions ont été créées avec succès et sont maintenant prêtes à être formatées et utilisées.
Étape 2 : Formater les nouvelles partitions
9. Pour vérifier à nouveau la table de partition du disque, exécutez à nouveau la commande fdisk qui affichera des informations détaillées sur la table de partition.
sudo fdisk -l /dev/vdb
10. Pour formater la première partition en ext4, utilisez.
sudo mkfs.ext4 /dev/vdb1
11. Pour formater la deuxième partition en NTFS, vous devez installer ntfs-3g et formater la deuxième partition en NTFS.
sudo apt install ntfs-3g
sudo mkfs.ntfs /dev/vdb2
Étape 3 : Monter de nouvelles partitions
12. Pour rendre les partitions disponibles, elles doivent être montées sur des points de montage sur le système de fichiers.
sudo mkdir /mnt/partition1
sudo mkdir /mnt/partition2
13. Ensuite, montez les partitions dans le répertoire de montage nouvellement créé.
sudo mount /dev/vdb1 /mnt/partition1
sudo mount /dev/vdb2 /mnt/partition2
14. Pour monter automatiquement des partitions, vous devez trouver les UUID des partitions à l’aide de la commande blkid.
sudo blkid /dev/vdb1
sudo blkid /dev/vdb2
15. Ensuite, éditez le fichier /etc/fstab et ajoutez des entrées pour les nouvelles partitions à l’aide de leurs UUID.
UUID=7a1e356f-f782-4835-bd1c-5e6d64378869 /mnt/partition1 ext4 defaults 0 2
UUID=0A9AABBB53B3165A /mnt/partition2 ntfs defaults 0 2
Étape 4 : Nouveau chiffrement de partition
16. Pour chiffrer des partitions à l’aide de cryptsetup, vous devez installer l’outil cryptsetup comme indiqué.
sudo apt install cryptsetup [On Debian Based Systems]
sudo dnf install cryptsetup [On RedHat Based Systems]
17. Il est maintenant temps de crypter la première partition sur le disque dur en exécutant la commande suivante, qui sera invitée à confirmer et à entrer une phrase de passe qui sera utilisée pour déverrouiller la partition cryptée.
sudo cryptsetup luksFormat /dev/vdb1
18. Pour que cette partition chiffrée soit active, elle doit avoir une entrée de nom (à initialiser) dans /dev/mapper le répertoire à l’aide du paquet cryptsetup.
sudo cryptsetup open --type luks /dev/vdb1 crypted_volume
19. Ensuite, formatez la partition cryptée et montez-la.
sudo mkfs.ext4 /dev/mapper/crypted_volume
sudo mkdir /mnt/encrypted1
sudo mount /dev/mapper/crypted_volume /mnt/encrypted1
20. Pour la deuxième partition, vous devez initialiser le cryptage à l’aide de la commande suivante.
sudo cryptsetup luksFormat /dev/vdb2
21. Pour que cette deuxième partition chiffrée soit active, elle doit avoir une entrée de nom (à initialiser) pour /dev/mapper le répertoire à l’aide du paquet cryptsetup.
sudo cryptsetup open --type luks /dev/vdb2 crypted_volume2
22. Ensuite, formatez la deuxième partition cryptée et montez-la.
sudo mkfs.ntfs /dev/mapper/crypted_volume2
sudo mkdir /mnt/encrypted2
sudo mount /dev/mapper/crypted_volume2 /mnt/encrypted2
Étape 4 : Monter automatiquement les partitions chiffrées
23. Pour déverrouiller et monter automatiquement les partitions cryptées au démarrage, vous devez mettre à jour /etc/crypttab et /etc/fstab.
sudo nano /etc/crypttab
24. Ensuite, utilisez la commande blkid pour trouver les UUID des partitions.
sudo blkid /dev/vdb1
sudo blkid /dev/vdb2
25. Ajoutez ensuite des entrées de partition chiffrées dans le fichier /etc/crypttab.
crypted_volume UUID=d29f57c3-fe00-41d5-8095-d68f7f04823d none luks
crypted_volume2 UUID=1DF9CC677F758914 none luks
26. De même, éditez /etc/fstab et spécifiez le nom de votre périphérique, le point de montage, le type de système de fichiers et d’autres options.
sudo nano /etc/fstab
Ajoutez des entrées pour les systèmes de fichiers :
/dev/mapper/crypted_volume /mnt/encrypted1 ext4 defaults 0 2
/dev/mapper/crypted_volume2 /mnt/encrypted2 ntfs defaults 0 2
27. Enfin, vérifiez que les partitions chiffrées sont correctement montées.
df -hT
Comme vous pouvez le voir, les deux partitions de disque ont été automatiquement montées sur la hiérarchie du système de fichiers Ubuntu. À titre de conseil, n’utilisez pas de volumes chiffrés automatiquement à partir du fichier fstab sur des serveurs physiquement distants si vous ne pouvez pas avoir accès à la séquence de redémarrage pour fournir votre mot de passe de volume chiffré.
Les mêmes paramètres peuvent être appliqués sur tous les types de supports amovibles tels que les clés USB, les mémoires flash, les disques durs externes, etc. pour protéger les données importantes, secrètes ou sensibles en cas d’écoute ou de vol.

















