Prévisé, j’ai expliqué comment crypter des partitions ou un disque Linux avec LUKS (Linux Unified Key Setup) / dm-crypt. Dans cet article de blog rapide, j’expliquerai comment sauvegarder et restaurer l’en-tête LUKS à des fins d’urgence. La sauvegarde est utile pour récupérer des erreurs de configuration, des en-têtes corrompus ou une phrase de passe oubliée ou un mot de passe inconnu.
ANNONCES
Pourquoi sauvegarder et restaurer l’en-tête LUKS sous Linux?
LUKS est une méthode standard sur un système basé sur Linux pour protéger les données et le disque, en particulier sur les appareils mobiles tels que les ordinateurs portables Linux. Cependant, LUKS crée également des défis supplémentaires, tels que:
- Une mauvaise configuration de LUKS du fichier / etc / fstab ou / etc / crypttab empêchera le démarrage de votre ordinateur portable Linux. Ces fichiers fournissent des conseils pour le décryptage lors du démarrage du système. Le fichier / etc / crypttab contient des informations descriptives sur les systèmes de fichiers chiffrés, qui ne sont lues que par les programmes LUKS. L’administrateur système Linux doit créer et maintenir ce fichier de manière appropriée.
- Vérifiez que / etc / fstab et / etc / crypttab sont corrects et que les entrées correspondent selon votre configuration à l’aide de la commande cat:
cat /etc/fstab /etc/crypttab
- Un mot de passe ou une phrase de passe oublié peut provoquer l’échec du décryptage LUKS au moment du démarrage. Actuellement, il n’existe aucun moyen de récupérer la phrase secrète LUKS. Parfois, l’administrateur système ou l’utilisateur modifie son mot de passe LUKS en une valeur inconnue. Veuillez noter que LUKS autorise actuellement un total de huit mots de passe ou emplacements de clés pour les disques chiffrés. L’administrateur système Linux peut utiliser ces clés ou phrases de passe si elles sont créées pour réinitialiser le mot de passe oublié. Cependant, si une sauvegarde de l’en-tête LUKS existe, nous pouvons restaurer l’en-tête à partir de la sauvegarde et utiliser une phrase de passe / mot de passe qui fonctionnait auparavant.
Gestion des disques ou volumes chiffrés LUKS
Voyons comment créer une sauvegarde d’en-tête LUKS et la restaurer au cas où le besoin se présenterait plus tard. Pour répertorier les disques ou volumes chiffrés, entrez:$ sudo dmsetup ls --target crypt
[sudo] password for vivek: md1_crypt (253, 0)
Exécutez la commande lsblk:$ lsblk
$ lsblk /dev/md1
Donc / dev / md1 est un périphérique RAID1 logiciel Linux et chiffré en tant que md1_crypt. De plus, LVM est utilisé pour créer des partitions racine et swap. En d’autres termes, ma racine et mon swap sont entièrement cryptés et protégés avec RAID1. Ensuite, listez vos / etc / fstab et / etc / etc / crypttab et assurez-vous qu’ils sont correctement mappés:$ cat /etc/fstab
$ cat /etc/etc/crypttab
Votre configuration peut être simple sans RAID1 ou LVM. Par conséquent, vous devez trouver les informations exactes.
Pour récupérer des données à partir de fichiers / volumes chiffrés, sauvegardez les fichiers suivants
- Fichier / etc / fstab
- Fichier / etc / crypttab
- En-tête LUKS
Étape 1 – Duper l’en-tête LUKS
Exécutez la commande pour obtenir des informations sur les disques ou le volume chiffrés$ sudo cryptsetup luksDump /dev/DEVICE
$ sudo cryptsetup luksDump /dev/sdb2
$ sudo cryptsetup luksDump /dev/md1
LUKS header information Version: 2 Epoch: 3 Metadata area: 16384 [bytes] Keyslots area: 16744448 [bytes] UUID: b5f93bb5-ba76-41fe-a996-ab5b69947f61 Label: (no label) Subsystem: (no subsystem) Flags: (no flags) Data segments: 0: crypt offset: 16777216 [bytes] length: (whole device) cipher: aes-xts-plain64 sector: 512 [bytes] Keyslots: 0: luks2 Key: 512 bits Priority: normal Cipher: aes-xts-plain64 Cipher key: 512 bits PBKDF: argon2i Time cost: 4 Memory: 673681 Threads: 4 Salt: 1e 68 17 ca 2c c5 b5 fa 2b 8b 59 6a 73 ca 1c 20 f7 99 06 63 4e fa 49 3d 12 71 ac 6a bb 41 ec 58 AF stripes: 4000 AF hash: sha256 Area offset:32768 [bytes] Area length:258048 [bytes] Digest ID: 0 Tokens: Digests: 0: pbkdf2 Hash: sha256 Iterations: 145635 Salt: 95 2c 81 91 8c 1e ad 69 4d 51 18 13 4c 36 c0 25 c5 5c 9d 16 c3 0f 3f 79 fa 84 ad 4b 65 49 17 ec Digest: 79 8a 05 d0 31 ba 7a ec fe f2 b1 da 3f d8 17 e1 eb f8 2c b1 a7 7e ed 26 59 9e 7a 02 b3 95 0c 03 |
Étape 2 – Sauvegarde de l’en-tête LUKS
Faites une sauvegarde de votre en-tête LUKS pour une utilisation future:$ sudo cryptsetup luksHeaderBackup /dev/DEVICE
--header-backup-file /path/to/backupfile
$ sudo cryptsetup luksHeaderBackup /dev/sdb2
--header-backup-file /nas/vivek/laptop.dell.m6700.luks.bin
$ sudo cryptsetup luksHeaderBackup /dev/md1
--header-backup-file /root/laptop.thinkpad.luks.bin
Affichez les informations sur le fichier de sauvegarde nommé /root/laptop.thinkpad.luks.bin, exécutez la commande de fichier suivante / commande stat / commande cryptsetup:$ sudo file /root/laptop.thinkpad.luks.bin
$ sudo stat /root/laptop.thinkpad.luks.bin
$ sudo cryptsetup luksDump /root/laptop.thinkpad.luks.bin
Assurez-vous de stocker le fichier laptop.thinkpad.luks.bin en toute sécurité hors ligne. J’utilise un serveur NAS et une clé USB. Assurez-vous de stocker votre fichier de sauvegarde nommé /root/laptop.thinkpad.luks.bin en toute sécurité hors ligne. J’utilise mon serveur NAS domestique et ma clé USB. Ce fichier doit rester hors de l’appareil; sinon, vous ne pourrez peut-être pas le restaurer.
Étape 3 – Restauration de l’en-tête LUKS si nécessaire
Maintenant, disons que quelque chose de terrible s’est produit. Tout ce que vous avez à faire est de démarrer votre système / ordinateur portable à partir d’un disque de démarrage et de restaurer l’ancien en-tête LUKS à partir du fichier de sauvegarde laptop.thinkpad.luks.bin comme suit:# cryptsetup luksHeaderRestore /dev/DEVICE --header-backup-file /path/to/backup_header_file
## Assuming that you mounted /nas/ using NFS ##
# cryptsetup luksHeaderRestore /dev/md1 --header-backup-file /nas/vivek/laptop.thinkpad.luks.bin
WARNING! ======== Device /dev/md1 already contains LUKS2 header. Replacing header will destroy existing keyslots. Are you sure? (Type uppercase yes): YES
Étape 4 – Testez-le
Exécutez la commande suivante pour ouvrir le disque chiffré et le monter (vous devez fournir l’ancien mot de passe):# cryptsetup luksOpen /dev/DEVICE name
# cryptsetup luksOpen /dev/md1 test
# mkdir /test
# mount /dev/mapper/test_root /test
# df -H
# mount
Redémarrez le système Linux:# reboot
Conclusion
Vous avez découvert divers fichiers et procédures pour sauvegarder et restaurer les en-têtes LUKS en cas de mauvaise configuration ou de mot de passe inconnu ou oublié sur un système Linux. Chaque configuration est unique et différente. J’espère que ce guide vous fournira suffisamment de matériel pour sauvegarder et restaurer avec succès un système de fichiers sécurisé en cas de besoin. Voir le projet cryptsetup pour plus de documentation.
- Chiffrement du disque dur Linux avec LUKS
- Sauvegarder et restaurer l’en-tête LUKS sous Linux
ANNONCES