L’acronyme LUKS signifie Linux Unified Key Setup, qui est une méthode largement utilisée pour le chiffrement des disques par le noyau Linux et est implémentée avec le paquet cryptsetup.
La commande cryptsetup chiffre en ligne un disque en utilisant une clé de chiffrement symétrique dérivée d’une phrase secrète fournie à chaque montage d’un disque, d’une partition, voire d’un disque entier (même une clé USB) dans la hiérarchie du système de fichiers, et utilise le chiffrement aes-cbc-essiv:sha256.

Étant donné que LUKS peut chiffrer l’ensemble des périphériques de blocs (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 14.04 prend en charge pleinement le chiffrement LUKS ainsi que le support natif NTFS pour Windows avec l’aide du paquet ntfs-3g.
Pour illustrer mon propos dans ce tutoriel, j’ai ajouté un nouveau disque dur (4ème) sur la machine Ubuntu 14.04 (la référence système du nouveau HDD ajouté est /dev/sdd), qui sera divisé en deux partitions.
- Une partition (/dev/sdd1 – primaire) sera utilisée pour le chiffrement LUKS.
- La deuxième partition (/dev/sdd5 – étendue) sera formatée en NTFS pour accéder aux données à la fois sur des 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. Après avoir ajouté physiquement votre disque dur à votre machine, utilisez la commande ls pour lister tous les /dev/dispositifs (le quatrième disque est /dev/sdd).
# ls /dev/sd*

2. Ensuite, vérifiez votre nouveau disque dur 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 en deux partitions en utilisant l’utilitaire de disque cfdisk.
$ sudo cfdisk /dev/sdd
4. L’écran suivant ouvre le mode interactif de cfdisk. Sélectionnez l’Espace Libre de votre disque dur et naviguez jusqu’à l’option Nouveau en utilisant les flèches gauche/droite.

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

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

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

8. Naviguez ensuite jusqu’à 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 (nombre en hexadécimal). Cette partition sera chiffrée avec Linux LUKS, choisissez donc le code 83 et appuyez à nouveau sur Entrée pour créer la partition.

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

11. Cette fois, la partition sera une Logique Étendue. Alors, allez à l’option Logique et appuyez à nouveau sur la touche Entrée.

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

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

14. Après avoir vérifié et validé les partitions, sélectionnez Écrire, répondez oui à la question suivante de l’invite interactive puis 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.
15. Pour vérifier à nouveau la table des partitions du disque, saisissez à nouveau la commande fdisk qui affichera des informations détaillées sur la table des partitions.
$ 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 le 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 à un point de montage. Montez la deuxième partition sur le quatrième disque dur au point de montage /opt en utilisant 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 en utilisant 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 paquet 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 temps maintenant de formater la première partition sur le quatrième disque dur avec le système de fichiers ext4 en saisissant la commande suivante.
$ sudo luksformat -t ext4 /dev/sdd1
Répondez en majuscules OUI à la question « Êtes-vous sûr? » et entrez trois fois votre phrase de passe souhaitée.

Remarque: En fonction de la taille de votre partition et de la vitesse du disque dur, la création du système de fichiers peut prendre du temps.
22. Vous pouvez également vérifier le statut du périphérique de la 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 chiffrée soit active, elle doit avoir une entrée de nom (être initialisée) dans le répertoire /dev/mapper avec l’aide du paquet cryptsetup.
Ce paramètre nécessite la syntaxe de ligne de commande suivante:
$ sudo cryptsetup luksOpen /dev/LUKS_partiton device_name
Où « nom_du_dispositif » peut être n’importe quel nom descriptif que vous aimez! (Je l’ai nommé volume_chiffré). La commande réelle ressemblera à ce qui suit.
$ sudo cryptsetup luksOpen /dev/sdd1 crypted_volume

25. Ensuite, vérifiez si votre appareil est répertorié dans le répertoire /dev/mapper, lien symbolique et é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 en utilisant 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 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 avez besoin que les deux partitions soient automatiquement montées après le redémarrage du système, vous devez suivre ces deux étapes.
28. Tout d’abord, éditez le fichier /etc/crypttab et ajoutez les données suivantes.
$ sudo nano /etc/crypttab
- Nom de la cible : Un nom descriptif pour votre appareil (voir le point ci-dessus 22 sur EXT4 LUKS).
- Source du lecteur : La partition du disque dur formatée pour LUKS (voir le point ci-dessus 21 sur EXT4 LUKS).
- Fichier clé : Choisissez « aucun »
- Options : Spécifiez luks
La dernière ligne ressemblera à ce qui suit.
encrypt_volume /dev/sdd1 none luks

29. Ensuite, éditez /etc/fstab et spécifiez le nom de votre appareil, le point de montage, le type de système de fichiers et d’autres options.
$ sudo nano /etc/fstab
Utilisez la syntaxe suivante sur la dernière ligne.
/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’identifiant 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ée).
$ sudo su - # echo "/dev/sdd5 /opt ntfs defaults 0 0" >> /etc/fstab

32. Pour vérifier les changements, redémarrez votre machine, appuyez sur Entrée après le message d’amorçage « Démarrage de la configuration du périphérique réseau » et saisissez le mot de passe de votre périphérique.


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. En guise de conseil, n’utilisez pas les volumes chiffrés automatiquement à partir du fichier fstab sur des serveurs physiquement distants si vous ne pouvez pas accéder à la séquence de redémarrage pour fournir le mot de passe de votre volume chiffré.
Les mêmes paramètres peuvent être appliqués à tous les types de supports amovibles tels que les clés USB, les cartes mémoire flash, les disques durs externes, etc., pour protéger des données importantes, secrètes ou sensibles en cas d’écoute ou de vol.
Source:
https://www.tecmint.com/linux-hard-disk-encryption-using-luks/