Recherche de site Web

LUKS : chiffrement des données du disque dur Linux avec prise en charge NTFS sous Linux


L'acronyme LUKS signifie Linux Unified Key Setup qui est une méthode de chiffrement de disque largement 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 secrète fournie qui est fournie chaque fois qu'un disque de volume, une partition et également un disque entier (même une clé USB) sont montés dans hiérarchie du système de fichiers et utilise 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 les fichiers d'échange Linux. niveau de cryptage.

NTFS (New Technology File System) est un système de fichiers propriétaire développé par Microsoft.

Ubuntu 14.04 offre une prise en charge complète du cryptage LUKS ainsi qu'une prise en charge native NTFS pour Windows à l'aide du package ntfs-3g.

Pour prouver mon point de vue dans ce didacticiel, j'ai ajouté un nouveau disque dur (4ème) sur la boîte Ubuntu 14.04 (la référence système au disque dur nouvellement ajouté est /dev/sdd ) qu'il sera divisé en deux partitions.

  1. Une partition (/dev/sdd1 -primary) utilisée pour le chiffrement LUKS.
  2. La deuxième partition (/dev/sdd5 – étendue) au format NTFS pour accéder aux données sur les systèmes Linux et Windows.

De plus, les partitions seront automatiquement montées sur Ubuntu 14.04 après le redémarrage.

Étape 1 : Créer des partitions de disque

1. Une fois votre disque dur physiquement ajouté sur votre ordinateur, utilisez la commande ls pour répertorier tous les /dev/devices (le quatrième disque est /dev/sdd).

ls /dev/sd*

2. Vérifiez ensuite votre disque dur nouvellement ajouté avec la commande fdisk.

sudo fdisk –l /dev/sdd

Comme aucun système de fichiers n’a été écrit, le disque ne contient pas encore de table de partition valide.

3. Les étapes suivantes découpent le disque dur pour obtenir un résultat en deux partitions à l'aide de l'utilitaire de disque cfdisk.

sudo cfdisk /dev/sdd

4. L'écran suivant ouvre le mode interactif cfdisk. Sélectionnez Espace libre sur votre disque dur et accédez à l'option Nouveau à l'aide des flèches gauche/droite.

5. Choisissez votre type de partition comme Primaire et appuyez sur Entrée.

6. Notez la taille de partition souhaitée en Mo.

7. Créez cette partition au Début de l'espace libre du disque dur.

8. Ensuite, accédez à l'option Type de partition et appuyez sur Entrée.

9. L'invite suivante présente une liste de tous les types de systèmes de fichiers et leur code numérique (numéro hexadécimal). Cette partition sera un Linux LUKS crypté, alors choisissez le code 83 et appuyez à nouveau sur Entrée pour créer une partition.

10. La première partition est créée et l'invite de l'utilitaire cfdisk revient au début. Pour créer la deuxième partition utilisée comme NTFS, sélectionnez l'Espace libre restant, accédez à l'option Nouveau et appuyez sur la touche Entrée. .

11. Cette fois, la partition sera une partition logique étendue. Alors, accédez à l'option Logique et appuyez à nouveau sur Entrée.

12. Saisissez à nouveau la taille de votre partition. Pour utiliser l'espace libre restant comme nouvelle partition, laissez la valeur par défaut sur la taille et appuyez simplement sur Entrée.

13. Choisissez à nouveau votre code de type de partition. Pour le système de fichiers NTFS, choisissez le code de volume 86.

14. Après avoir examiné et vérifié les partitions, sélectionnez Écrire, répondez oui à la prochaine question interactive, puis Quitter pour quitter < utilitaire b>cfdisk.

Toutes nos félicitations ! Vos partitions ont été créées avec succès et sont maintenant prêtes à être formatées et utilisées.

15. 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/sdd

Étape 2 : Créer un système de fichiers de partition

Système de fichiers NTFS

16. Pour créer un système de fichiers NTFS sur la deuxième partition, exécutez la commande mkfs.

sudo mkfs.ntfs /dev/sdd5

17. Pour rendre la partition disponible, elle doit être montée sur le système de fichiers sur un point de montage. Montez la deuxième partition du quatrième disque dur sur le point de montage /opt à l'aide de la commande mount.

sudo mount /dev/sdd5 /opt

18. Ensuite, vérifiez si la partition est disponible et est répertoriée dans le fichier /etc/mtab à l'aide de la commande cat.

cat /etc/mtab

19. Pour démonter la partition, utilisez la commande suivante.

sudo umount /opt
EXT4 LUKS

20. Assurez-vous que le package cryptsetup est installé sur votre système.

sudo apt-get install cryptsetup		[On Debian Based Systems]

yum install cryptsetup				[On RedHat Based Systems]

21. Il est maintenant temps de formater la première partition du quatrième disque dur avec le système de fichiers ext4 en exécutant la commande suivante.

sudo luksformat  -t ext4  /dev/sdd1

Répondez par OUI majuscule à la question « Êtes-vous sûr ? » et saisissez trois fois la phrase secrète souhaitée.

Remarque : En fonction de la taille de votre partition et de la vitesse du HDD, la création du système de fichiers peut prendre un certain temps.

22. Vous pouvez également vérifier l'état du périphérique de partition.

sudo cryptsetup luksDump  /dev/sdd1

23. LUKS prend en charge un maximum de 8 mots de passe ajoutés. Pour ajouter un mot de passe, utilisez la commande suivante.

sudo cryptsetup luksAddKey /dev/sdd1

Pour supprimer un mot de passe, utilisez.

sudo cryptsetup luksRemoveKey /dev/sdd1

24. Pour que cette partition cryptée soit active, elle doit avoir une entrée de nom (être initialisée) dans le répertoire /dev/mapper à l'aide de Paquet cryptsetup.

Ce paramètre nécessite la syntaxe de ligne de commande suivante :

sudo cryptsetup luksOpen  /dev/LUKS_partiton  device_name

Où « nom_de l'appareil » peut être n'importe quel nom descriptif que vous aimez ! (Je l'ai nommé le mien crypted_volume). La commande réelle ressemblera à celle indiquée ci-dessous.

sudo cryptsetup luksOpen  /dev/sdd1 crypted_volume

25. Vérifiez ensuite si votre appareil est répertorié dans /dev/mapper, dans le répertoire, le lien symbolique et l'état de l'appareil.

ls /dev/mapper
ls –all /dev/mapper/encrypt_volume

sudo cryptsetup –v status encrypt_volume

26. Maintenant, pour rendre le périphérique de partition largement disponible, montez-le sur votre système sous un point de montage à l'aide de la commande mount.

sudo mount  /dev/mapper/crypted_volume  /mnt

Comme on peut le voir, la partition est montée et accessible pour l'écriture de données.

27. Pour le rendre indisponible, démontez-le simplement de votre système et fermez l'appareil.

sudo umount  /mnt
sudo cryptsetup luksClose crypted_volume

Étape 3 : Monter la partition automatiquement

Si vous utilisez un disque dur fixe et que vous avez besoin que les deux partitions soient automatiquement montées sur le système après le redémarrage, vous devez suivre ces deux étapes.

28. Modifiez d'abord le fichier /etc/crypttab et ajoutez les données suivantes.

sudo nano /etc/crypttab
  1. Nom de la cible : Un nom descriptif pour votre appareil (voir ci-dessus le point 22 sur EXT4 LUKS).
  2. Lecteur source : La partition du disque dur formatée pour LUKS (voir ci-dessus le point 21 sur EXT4 LUKS).
  3. Fichier clé : n'en choisissez aucun
  4. Options : spécifiez luks

La ligne finale ressemblerait à celle indiquée ci-dessous.

encrypt_volume               /dev/sdd1          none       luks

29. Modifiez ensuite /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

Sur la dernière ligne, utilisez la syntaxe suivante.

/dev/mapper/device_name (or UUID)	/mount_point     filesystem_type     options    dump   pass

Et ajoutez votre contenu spécifique.

/dev/mapper/encrypt_volume      /mnt    ext4    defaults,errors=remount-ro     0     0

30. Pour obtenir l'UUID de l'appareil, utilisez la commande suivante.

sudo blkid

31. Pour ajouter également le type de partition NTFS créé précédemment, utilisez la même syntaxe que ci-dessus sur une nouvelle ligne dans fstab (ici la redirection d'ajout de fichier Linux est utilisé ).

sudo su -
echo "/dev/sdd5	/opt	ntfs		defaults		0              0"  >> /etc/fstab

32. Pour vérifier les modifications, redémarrez votre ordinateur, appuyez sur Entrée après le message de démarrage « Démarrage de la configuration du périphérique réseau » et tapez la phrase secrète de votre appareil.

Comme vous pouvez le constater, les deux partitions de disque ont été automatiquement montées sur la hiérarchie du système de fichiers Ubuntu. À titre indicatif, n'utilisez pas de volumes automatiquement chiffrés à 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 clé USB, mémoire Flash, disque dur externe, etc. pour protéger les données importantes, secrètes ou sensibles en cas d'écoute ou de vol.