Qu'est-ce que LUKS et comment sécurise-t-il votre système de fichiers Linux ?
Points clés à retenir
- Linux Unified Key Setup (LUKS) est une spécification de chiffrement de disque pour Linux.
- LUKS utilise une clé principale pour crypter les données, avec des phrases secrètes déverrouillant la clé.
- LUKS protège les données des utilisateurs sur les appareils bloqués, y compris les ordinateurs portables et les disques externes, contre le vol.
Vous êtes tombé sur le terme « LUKS », mais vous ne savez pas ce qu'il fait ni quel est son rapport avec Linux ? Si vous êtes soucieux de la protection de vos données, la configuration de LUKS est essentielle pour vous. Dans ce guide, je vais vous expliquer comment fonctionne LUKS et comment il vous aide à sécuriser vos données importantes.
Qu’est-ce que LUKS sous Linux ?
Linux Unified Key Setup (ou LUKS en abrégé) est une spécification de chiffrement de disque largement utilisée dans les systèmes Linux. Créé par Clemens Fruhwirth en 2004, il est conçu pour fournir un mécanisme de cryptage standardisé à la fois sécurisé et convivial. Il protège les données en les chiffrant dans des partitions de disque physiques et logiques afin que seuls les utilisateurs autorisés puissent accéder au contenu de cette partition chiffrée. Vous pouvez le considérer comme similaire à Windows BitLocker.
LUKS fonctionne au niveau des blocs. Il chiffre des partitions ou des disques entiers plutôt que des fichiers individuels. Il utilise des algorithmes de cryptage puissants comme AES (Advanced Encryption Standard). Il utilise l'en-tête de partition pour stocker les informations de configuration nécessaires telles que l'algorithme de cryptage et la taille de la clé. Cet en-tête est ce qui distingue LUKS de dm-crypt. Si l'en-tête est corrompu, vous ne pourrez pas déchiffrer l'appareil.
Comment fonctionne LUKS
Le chiffrement LUKS crée un conteneur chiffré appelé volume LUKS sur une partition de disque. Il utilise des algorithmes symétriques tels que AES pour chiffrer le volume accessible uniquement à l'aide d'une phrase secrète. Lorsque vous déverrouillez le volume LUKS, il devient accessible comme un périphérique de blocage ordinaire. Vous pouvez donc y lire et y écrire.
LUKS stocke ses métadonnées de chiffrement dans une section spéciale au début de la partition chiffrée appelée en-tête LUKS. Cet en-tête contient des informations critiques telles que le chiffrement et le mode, la fonction de hachage et les emplacements de clé. Le cryptage proprement dit de la partition se fait à l'aide d'une clé principale. Cette clé principale est générée aléatoirement lors de l'initialisation de la configuration LUKS. Cette clé principale crypte et déchiffre directement les données sur la partition. La phrase secrète ne crypte pas les données. Au lieu de cela, il chiffre la clé principale stockée dans les emplacements de clé.
Si vous souhaitez accéder aux données cryptées, LUKS vous demande de saisir une phrase secrète. Cette phrase secrète est ensuite utilisée pour déchiffrer la clé principale stockée dans l'un des emplacements de clé. Une fois la clé principale déchiffrée, cette clé est à son tour utilisée pour déchiffrer les données de la partition.
Pourquoi devriez-vous utiliser LUKS
La principale raison d’utiliser LUKS est de protéger les données des utilisateurs. LUKS peut chiffrer des appareils en bloc entier, ce qui le rend adapté à la protection des données des appareils mobiles tels que les lecteurs de disque d'ordinateurs portables et les supports amovibles. Étant donné que le contenu des périphériques de bloc chiffrés est arbitraire, il est également utile pour chiffrer les périphériques d'échange.
LUKS est couramment utilisé pour le chiffrement complet du disque. Vous pouvez chiffrer la partition racine de votre système Linux lors de l'installation afin que personne sans autorisation ne puisse accéder aux fichiers système. Vous pouvez également chiffrer la partition de démarrage du système Linux pour vous protéger contre la falsification du noyau Linux. Si vous utilisez systemd, vous pouvez également chiffrer des répertoires personnels individuels.
LUKS prend en charge plusieurs emplacements de clé, vous donnant la possibilité d'attribuer différentes phrases secrètes pour la même partition cryptée. Ainsi, si vous disposez d’une configuration multi-utilisateurs, chaque utilisateur peut disposer d’une clé de déchiffrement individuelle sans avoir besoin de partager une phrase secrète commune. De plus, si une phrase secrète est oubliée, d’autres peuvent être utilisées pour accéder aux données.
Il protège votre appareil contre le vol physique. Même si votre ordinateur portable, disque dur externe ou autre périphérique de stockage est volé, les données qu'il contient restent inaccessibles sans la clé de décryptage correcte.
Il a quelques prises
L’un des principaux inconvénients de l’utilisation du chiffrement complet du disque réside dans les problèmes de performances. Le décryptage des données à la volée nécessite une puissance de traitement, ce qui entraîne des vitesses de lecture-écriture plus lentes. Si vous disposez d’un matériel moderne, la différence peut parfois être négligeable, mais ce n’est pas totalement hors de question. Vous bénéficierez également d'un temps de démarrage plus long, car le système doit déchiffrer l'intégralité du disque avant de charger complètement le système d'exploitation. Vous pouvez en savoir plus à ce sujet dans ce fil de discussion Reddit et ce test de référence.
Une autre remarque importante est que le cryptage de disque LUKS protégera vos données uniquement lorsque votre système est éteint. Si votre ordinateur portable est volé alors qu'il est sous tension et que le disque est déjà déchiffré, le voleur pourrait potentiellement accéder à vos données sans avoir besoin de contourner le cryptage. Une fois décryptés, n’importe qui a accès aux fichiers sur ce lecteur.
La configuration du cryptage LUKS n'est pas un processus simple sur les systèmes Linux préinstallés. Il nécessite une sauvegarde complète afin que vous puissiez restaurer les données importantes en cas de perte. En parlant de sauvegardes, les sauvegardes cryptées nécessitent une manipulation minutieuse. Si vous perdez votre clé de décryptage, vous ne récupérerez peut-être jamais vos données.
Comment configurer le cryptage LUKS
Le moyen le plus simple de configurer le chiffrement complet du disque LUKS consiste à installer Linux pour la première fois. Laissez-moi vous montrer comment procéder sur Ubuntu 24.04.
Que vous souhaitiez installer Linux récemment ou que vous souhaitiez chiffrer un système préinstallé (abordé plus loin), vous devez soigneusement sauvegarder fichiers importants sur votre appareil Linux .
Pendant l'installation, vous devriez voir une invite de configuration du disque. Appuyez sur "Fonctionnalités avancées".
Dans la liste, sélectionnez « Utiliser LVM et le chiffrement ». Appuyez sur "OK".
Appuyez sur le bouton "Suivant" pour continuer. Sur l'écran suivant, vous êtes invité à créer une phrase secrète. Entrez une phrase secrète sécurisée dans les deux champs et appuyez sur "Suivant".
Poursuivez ensuite avec le reste de l'installation.
Si vous ne souhaitez pas réinstaller Linux, il existe un utilitaire appelé cryptsetup pour configurer des systèmes de fichiers cryptés. Vous aurez peut-être besoin des privilèges root pour exécuter certaines commandes. Tout d’abord, vous devrez l’installer. Sur Debian/Ubuntu, exécutez :
sudo apt install cryptsetup
Répertoriez vos partitions disponibles à l'aide des commandes suivantes :
sudo fdisk -l
enfant noir
Recherchez la partition que vous souhaitez chiffrer dans la liste.
Ensuite, utilisez l'utilitaire cryptsetup pour chiffrer la partition choisie de la manière suivante :
cryptsetup -y -v luksFormat /path/to/partition
cryptsetup -y -v luksFormat /dev/xvdc # Par exemple
Il vous sera demandé de confirmer que vous souhaitez écraser la partition, puis de saisir une phrase secrète. Vous devez enregistrer et mémoriser la phrase secrète car elle n'est pas récupérable.
La commande ci-dessus effacera toutes les données de la partition. Assurez-vous de sauvegarder toutes les données importantes.
Après cela, créez un mappage logique en exécutant :
cryptsetup luksOpen /path/to/partition partition_name
cryptsetup luksOpen /dev/xvdc backup_partition # Par exemple
Entrez la phrase secrète lorsque vous y êtes invité. Cela initialisera le volume. Pour voir les détails du mappage, exécutez :
ls -l /dev/mapper/backup_partition
Pour voir l'état du mappage, utilisez :
cryptsetup -v status backup_partition
Ensuite, utilisez cryptsetup pour voir si l'appareil a été correctement formaté pour le cryptage.
cryptsetup luksDump /path/to/partition
cryptsetup luksDump /dev/xvdc # Par exemple
Utilisez la commande dd pour allouer des données de bloc avec des zéros à la partition chiffrée par LUKS :
dd if=/dev/zero of=/dev/mapper/backup_partition
Une fois cela fait, formatez la nouvelle partition avec cette commande :
mkfs.ext4 /dev/mapper/backup_partition
J'ai utilisé le système de fichiers ext4 ici. Vous pouvez utiliser celui que vous préférez. Enfin, montez le nouveau système de fichiers.
mkdir /backup2
mount /dev/mapper/backup_partition /backup_partition
df -H
cd /backup_partition
ls -l
Si vous souhaitez modifier la phrase secrète de la partition chiffrée, exécutez les commandes ci-dessous :
cryptsetup luksDump /dev/xvdc # Using /dev/xvdc as an example
cryptsetup luksAddKey /dev/xvdc # Utilisation de /dev/xvdc comme exemple
Vous serez invité à saisir une nouvelle phrase secrète, puis à la confirmer.
En mettant en œuvre LUKS, vous pouvez assurer une meilleure sécurité de vos données confidentielles. Il convient également aux appareils utilisés par plusieurs utilisateurs. Vous pouvez prendre de nombreuses autres mesures pour rendre votre appareil Linux plus sécurisé.