Notebook

Pense bête

Notebook
CryptageUbuntu

Crypter une disque dur externe (Luks)

Documentation

Installation du cryptage

Démonter (umount) le disque dur externe si nécessaire

sudo fdisk -l (repérer le HDD - par exemple sdb1)
sudo umount /dev/sdb1

Créer le conteneur

sudo cryptsetup luksFormat -c aes /dev/sdb1

cryptages plus forts :

sudo cryptsetup luksFormat -c aes-xts-plain -s 512 /dev/sdb1

ou

sudo cryptsetup luksFormat -c aes-xts-plain64 -s 512 -h sha512 /dev/sdb1

Cette commande génère une clé maître et nous demande une clé (passphrase) initiale, correspondant au slot 0. La clé est à saisir 2 fois. Bien retenir cette passphrase.

Connecter le conteneur

sudo cryptsetup luksOpen /dev/sdb1 usbdisk

Le conteneur se connecte avec le nom « usbdisk« .

Le mot de passe correspondant à la passphrase initiale (slot 0) est demandé pour accéder au conteneur.

Le conteneur est accessible par le chemin /dev/mapper/nom_du_mapping (ici = /dev/mapper/usbdisk)

Formater et nommer la partition

sudo mkfs.ext4 -L NomPartition /dev/mapper/usbdisk

Renommer sans formater (ext2  / 3  / 4 )

sudo e2label /dev/mapper/usbdisk NouveauNom

Monter la partition

sudo mount -t ext4 /dev/mapper/usbdisk /mnt/hdd

Fermer le conteneur

sudo umount usbdisk
sudo cryptsetup luksClose usbdisk

Gérer les mots de passe

Il est possible d’attribuer 8 mots de passe (slot de 0 à 7).
Le premier mot de passe est attribué à la création (slot0)

L’ajout d’un mot de passe :

sudo cryptsetup luksAddKey /dev/sdb1

La suppression d’un mot de passe :

sudo cryptsetup luksKillSlot /dev/sdb1 num_slot
sudo cryptsetup luksRemoveKey <device> [<key file>]

Attention si on supprime tous les mots de passe, l’accès à la partition n’est plus possible.

Création d’un fichier qui contient le mot de passe

  • Création clé aléatoire, stockage dans un fichier, fichier read only, puis ajout dans un slot. Ici le mot de passe est aléatoire et fait 4096 bits.
sudo dd if=/dev/urandom of=/root/.keyfile bs=1024 count=4
sudo chmod 0400 /root/.keyfile
sudo cryptsetup luksAddKey /dev/sdb1 /root/.keyfile

Informations sur le conteneur

sudo cryptsetup luksDump /dev/sdb1
sudo cryptsetup luksUUID <device>

Compléter /etc/crypttab

http://manpages.ubuntu.com/manpages/karmic/man5/crypttab.5.html

Col 1 : nom du conteneur
Col 2 : chemin soit /dev/sdxx soit avec l’UUID
Col 3 : nom du fichier avec le mot de passe, none pour demander le mot de passe au montage
Col 4 : options

Exemple : demande le mot de passe, 3 essais

SP1T UUID=<UUID> none luks,tries=3

Exemple : utilise le contenu du fichier /root/.keyfile comme mot de passe.

SP1T /dev/disk/by-uuid/<UUID> /root/.keyfile luks

Compléter /etc/fstab

Créer le répertoire SP-1T dans /media/

/dev/mapper/SP1T /media/SP-1T  ext4    rw,user,noauto          0       2

Dans cet exemple on a créé une partition cryptée en ext4 qui se nomme SP1T et qui va s’ouvrir dans un répertoire /media/SP-1T.

/dev/mapper/BackupL        /media/toutancarton/BackupL   ext4    defaults        0       2

Ici on monte la partition cryptée BackupL (partition ext4).

  • Nom de la partition : e2label
  • Création du répertoire : mkdir
  • Montage de la partition : crypttab et fstab

Sauvegarde / restauration de l’en-tête

  • Stores a binary backup of the LUKS header and keyslot area.
sudo cryptsetup luksHeaderBackup <device> --header-backup-file <file>
  • Restores a binary backup of the LUKS header and keyslot area from the specified file.
sudo cryptsetup luksHeaderRestore <device> --header-backup-file <file>

WARNING : Header and keyslots will be replaced, only the passphrases from the backup will work afterwards.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *