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/
MonterActiverlalespartitionmodules 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/crypttabet 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/fstabpuis ajouter une nouvelle ligne comme ci-dessous :
# MapperName folder location
/dev/mapper/sdX_crypt /media/sdX ext3 defaults 0 2Assurez-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.