Parfois, vous souhaiterez peut-être chiffrer votre disque dur afin que, lorsque quelqu'un connecte votre disque dur à son ordinateur, il doive fournir des informations d'identification d'utilisateur pour monter le lecteur. Sous Linux, il est possible de chiffrer des périphériques de bloc individuels. Dans cet article, nous allons apprendre à chiffrer les périphériques de bloc sous Linux à l'aide de LUKS. LUKS est la couche de chiffrement Linux qui peut être utilisée pour chiffrer l'intégralité de la partition racine, un volume logique ou une partition spécifique.
Ce tutoriel couvre les distributions Linux suivantes
- Debian
- Ubuntu
- RHEL
- CentOS
- Rocky Linux
- Almalinux
Installer le paquet cryptsetup-luks
L'outil utilitaire Cryptsetup est fourni avec le package cryptsetup-luks qui est utilisé pour configurer le chiffrement de périphérique de bloc dans les systèmes Linux. L'installation peut être effectuée à l'aide de la commande suivante.
Ubuntu/Debian
$ apt-get install cryptsetup
RHEL/CentOS/Rocky Linux/Almalinux
$ dnf install cryptsetup-luks
Préparer une partition LUKS
Une fois l'utilitaire installé, préparez une partition pour le chiffrement. Pour répertorier toutes les partitions disponibles et bloquer les périphériques, exécutez la commande suivante.
$ fdisk -l
$ blkid
Utilisez maintenant la commande cryptsetup luksFormat pour configurer le chiffrement dans la partition. Dans cet exemple, la partition sdb est utilisée pour le chiffrement. Vous pouvez faire votre propre hypothèse en fonction de votre environnement.
$ cryptsetup -y -v luksFormat /dev/sdb
La commande exécutée ci-dessus supprimera toutes les données de la partition
Nous devons maintenant créer un périphérique de mappage de périphérique logique monté sur la partition chiffrée par LUKS à l'étape ci-dessus. Dans cet exemple, chiffré est le nom fourni pour le nom de mappage de la partition LUKS ouverte.
La commande suivante créera un volume et définira une phrase de passe ou des clés initiales. N'oubliez pas que la phrase secrète ne peut pas être récupérée.
$ cryptsetup luksOpen /dev/sdb encrypted
Les détails de mappage de la partition peuvent être trouvés en utilisant la commande suivante.
$ ls -l /dev/mapper/encrypted
Utilisez la commande suivante pour afficher l'état du mappage. Remplacez votre nom de mappage par chiffré .
$ cryptsetup -v status encrypted
cryptsetup avec la commande luksDump peut être utilisé pour vérifier que l'appareil a été formaté avec succès pour le cryptage. Dans cet exemple, la partition sdb est utilisée pour la confirmation.
$ cryptsetup luksDump /dev/sdb
Formater la partition LUKS
L'écriture de zéros sur la partition chiffrée par LUKS allouera la taille de bloc avec des zéros. Utilisez la commande suivante pour définir des zéros sur le périphérique de bloc chiffré.
$ dd if=/dev/zero of=/dev/mapper/encrypted
La commande dd peut prendre un certain temps à s'exécuter. Utilisez la commande pv pour vérifier la progression.
$ pv -tpreb /dev/zero | dd of=/dev/mapper/encrypted bs=128M
Remarque :Remplacez chiffré avec le nom de mappage de votre appareil.
Formatez maintenant la nouvelle partition avec le système de fichiers souhaité. Dans cet exemple, le système de fichiers ext4 est utilisé.
$ mkfs.ext4 /dev/mapper/encrypted
Remplacer chiffré avec le nom de votre mappeur d'appareil.
Montez le nouveau système de fichiers. Dans cet exemple, le nouveau système de fichiers est monté sur /encrypted
$ mkdir /encrypted $ mount /dev/mapper/encrypted /encrypted
Remplacez le nom du mappeur d'appareil chiffré avec votre propre nom de mappeur.
$ df -h $ cd /encrypted $ ls -l
Nous avons donc réussi à créer une partition chiffrée sous Linux à l'aide de LUKS.