Skip to main content

Déverrouillage Automatique Partition Principale

Pour réaliser ce tuto il est nécessaire d'avoir au préalable créé unela partition principale chiffrée avec LUKS.
Voir Partitionnement des disques + Chiffrement (avancé)

Le but de ce tuto est de pouvoir déverrouiller la partition principale d'un serveur avec une clé USB. La clé USB contiendra un fichier qui correspondra à une clé accepté par LUKS.

source : https://www.howtoforge.com/automatically-unlock-luks-encrypted-drives-with-a-keyfile

L'automatisation du déverrouillage d'une partition chiffrée au démarrage peut-être mis en place en suivant les étapes suivantes :

  • 1/ Création d'un fichier de clé random
  • 2/ Ajouter le fichier de clé à la partition LUKS
  • 3/ Créer le mapperscript de déverrouillage
  • 4/ MonterActiver lales partitionmodules attendu
  • 5/ Recompiler l'init

1/ Création d'un fichier de clé random 

la commande suivante créera un fichier au contenu aléatoire d'une taille de 4096 bits (mieux qu'un mot de passe de 20/30 caractères....). Vous pouvez utiliser n'importe quel fichier comme fichier clé, mais je pense qu'un fichier de 4kb avec un contenu aléatoire convient bien.

sudo dd if=/dev/urandom of=/root/keyfile bs=1024 count=4

Comme vous pouvez le voir avec l'arrtibut of , le fichier sera généré dans le dossier /root avec le nom keyfile.

Avant d'utiliser la nouvelle clé, rendre le fichier clé accessible en lecture seule à root

sudo chmod 0400 /root/keyfile

Cela rendra le fichier clé lisible uniquement par root. Si quelqu'un accède à ce fichier clé, vous avez de toute façon un problème plus important sur votre serveur.

Une autre solution consiste à attribuer à root:root le droit d'accès au fichier clé souhaité et à le placer dans le dossier /root.

2/ Ajouter le fichier à LUKS

Les dispositifs LUKS/dm_crypt peuvent contenir jusqu'à 10 fichiers clés/mots de passe différents. Ainsi, en plus du mot de passe déjà configuré, nous allons ajouter ce fichier clé comme méthode d'autorisation supplémentaire.

sudo cryptsetup luksAddKey /dev/sdX /root/keyfile

Il vous sera d'abord demandé d'entrer un mot de passe (existant) pour déverrouiller le lecteur. 


3/ CréationPréparer dule Mappersupport USB

LesTout périphériquesd'abord LUKSnous doiventallons créeridentifier unnotre mappeursupport quiUSB peutpour ensuiteaprès êtrele référencé dans la fstab. Ouvrez /etc/crypttab :

sudo nano /etc/crypttab

et ajouter la ligne suivanteformater dans le fichierformat attendu. 

Pour lister les disques nous allons utiliser la commande fdisk -l ce qui donnera

#...
MapperNAme	partition	keyfile		method
sdc_cryptDisque /dev/sdc1sdb : 57,62 GiB, 61872793600 octets, 120845300 secteurs
Disk model: DataTraveler 3.0
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique /root/keyfile luksphysique) #: OU512 #octets MapperName/ device512 UUIDoctets
keyfiletaille methodd'E/S sdX_crypt(minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0x6d3f073d

Périphérique Amorçage Début       Fin  Secteurs Taille Id Type
/dev/disk/by-uuid/247ad289-dbe5-4419-9965-e3cd30f0b080sdb1    /root/keyfile*           luks63 #120845087 OU120845025  encore57,6G  sdc1_cryptb UUID=d4eca898-8155-4c4d-b1ed-48f696a6ad99W95 /root/keyfileFAT32
luks...

sdX_crypt est le nom du mappeur qui est créé. Vous pouvez utiliser n'importe quel nom, par exemple "music" ou "movies" ou "sfdsfawe" ....

Sauvegardez et fermez le fichier.

Ce que nous avons fait ici, c'est dire que le fichier /root/keyfile sera utilisé au lieu du mot de passe pour déverrouiller le lecteur.


4/ Monter la partition 

Maintenant, nous avons un périphérique déverrouillé (enfin, pas encore, mais lorsque le système sera démarré) et nous avons juste besoin de le monter. Ouvrez le fichier /etc/fstab :

sudo nano /etc/fstab

puis ajouter une nouvelle ligne comme ci-dessous : 

# MapperName		  folder location		
/dev/mapper/sdX_crypt  /media/sdX     ext3    defaults        0       2

Assurez-vous que le nom du mappeur que vous avez ajouté à l'étape 3 est correct. Assurez-vous également que le point de montage/dossier existe. Après l'avoir ajouté, enregistrez à nouveau le fichier et fermez-le.