====== Chiffrer un disque avec LUKS 2 ====== Je dispose d’un disque non utilisé par le système d’exploitation que je désire chiffrer. ===== Chiffrement, volumes logiques et système de fichiers ===== ==== Chiffrement LUKS ==== {{ :cryptographie:luks-cryptsetup.png?200|}} Je lance un terminal et je tape les commandes : sudo su apt update && apt install lvm2 cryptsetup modprobe dm-crypt cryptsetup --type luks2 --cipher aes-xts-plain64 --key-size 512 --hash sha512 --integrity hmac-sha512 --pbkdf argon2i --pbkdf-parallel 4 --iter-time 16000 --pbkdf-memory 1048576 --use-urandom --label SharedDisk --subsystem "" --verify-passphrase --verbose luksFormat /dev/sdd J’utilise les paramètres permettant le plus au niveau de chiffrement possible. ==== Volumes logiques ==== Après le chiffrement de ce disque je la monte sous le nom “shareddisk”, je l’initialise avec la commande ''pvcreate'', je crée un groupe de volumes avec pour nom “shared” et dedans j’ajoute plusieurs volumes logiques. Pour les deux premiers j’indique explicitement la taille des volumes et pour le dernier j’utilise la place restante. cryptsetup luksOpen /dev/sdd shareddisk pvcreate /dev/mapper/sharerdisk vgcreate shared /dev/mapper/shareddisk lvcreate -L 32768M -n dropbox shared lvcreate -l 100%FREE -n samba shared ==== Vérifier le chiffrement ==== La commande ''cryptsetup status /dev/mapper/shareddisk'' permet de vérifier le résultat des paramètres de chiffrement du disque. cryptsetup status /dev/mapper/shareddisk /dev/mapper/galaad is active and is in use. type: LUKS2 cipher: aes-xts-plain64 keysize: 1024 bits key location: keyring integrity: hmac(sha512) integrity keysize: 512 bits device: /dev/sdd sector size: 512 offset: 0 sectors size: 1111220968 sectors mode: read/write ==== Système de fichiers ==== Enfin il faut créer les systèmes des fichiers. mkfs.ext4 /dev/mapper/shared-dropbox mkfs.ext4 /dev/mapper/shared-samba ===== Ouverture du disque au démarrage ===== Toujours en ''root'' il faut maintenant modifier le fichier ''/etc/crypttab''. Avant de modifier ce fichier il faut connaître l’identifiant unique (UUID) de la partition chiffrée, pour cela dans le terminal nous lançons la commande ''blkid'' : blkid Le terminal va afficher l’ensemble des devices et leur UUID ; il faut rechercher celui qui concerne la partition chiffrée, ici ''/dev/sdd''. vi /etc/crypttab Dans la fenêtre qui s’ouvre taper le nom de la partition chiffrée, ici “shareddisk” et coller l’UUID, et retirer les guillemets, taper “none” puis “luks” en séparant chaque information par une tabulation : lvm UUID=2ae(...)4d1 none luks Si la partition est sur un disque SSD il faudra ajouter “discard” après “luks” séparé d’une virgule : sda3-crypt UUID=2ae(...)4d1 none luks,discard ===== Sauvegarde ===== Si l’entête du conteneur [[wp>fr:LUKS|LUKS]] se corrompt, ceci rendra la partition inutilisable. Pour sauvegarder l’entête d’un conteneur il faut utiliser la commande : cryptsetup luksHeaderBackup --header-backup-file luks-header-shareddisk-backup.txt /dev/sdd Puis pour restaurer cette entête : cryptsetup luksHeaderRestore --header-backup-file uks-header-shareddisk-backup.txt /dev/sdd ===== Références ===== *[[https://fossies.org/linux/cryptsetup/docs/v2.0.0-ReleaseNotes|Cryptsetup 2.0.0 Release Notes]] ;