Sur Ubuntu 11.10, est-il possible de déchiffrer 2 disques durs chiffrés avec LUKS / LVM en entrant une seule phrase secrète au démarrage?

8

voici la configuration que j'ai: - 2 disques durs, - le premier est crypté en utilisant LUKS et LVM. Je voudrais ajouter au groupe de volumes crypté un deuxième disque dur. Je l'ai installé et chiffré avec succès. Mais lorsque je démarre, je dois saisir 2 phrases de passe pour décrypter les deux disques durs.

N'y a-t-il pas moyen d'en utiliser un seul?

AlBundy
la source
cela a fonctionné pour moi: unix.stackexchange.com/a/110102/50601
Tim Abell

Réponses:

4

Je trouve enfin une astuce pour entrer un seul mot de passe et avoir tous mes disques physiques cryptés.

Je crypte le premier avec une phrase secrète, je crypte le second en utilisant un fichier de clés que je stocke sur le premier disque dur (/ root / mykeyfile).

Et avec la ligne correcte dans le fichier / etc / crypttab, cela fait l'affaire.

Mettre à jour / etc / crypttab

sda5_crypt UUID = fb07f1e8-a569-4db9-9fd7-fc1994e093b5 aucun luks

sdb1_crypt UUID = 4c0687f0-d7af-4f2e-9c57-5ca8e909d492 / root / mykeyfile luks

AlBundy
la source
dd if = / dev / urandom of = / root / mykeyfile bs = 1024 count = 20 Ceci est un exemple de la façon de créer une chaîne aléatoire à utiliser comme «fichier clé».
earthmeLon
1
Le problème avec cela est qu'un compromis impliquant l'accès à votre système de fichiers (par exemple un problème d'autorisations ou quelque chose de mineur) entraînerait un compromis clé, un problème beaucoup plus important. Je déconseille fortement cette pratique. Voir ma réponse pour une meilleure méthode (et automatique).
se faufiler le
Pourriez-vous expliquer comment cela est censé fonctionner? LVM démarre-t-il en mode dégradé puis se corrige-t-il une fois que le deuxième PV est disponible?
aij
0

Sur ubuntu, il est possible d'utiliser une clé dérivée de la racine comme clé supplémentaire sur d'autres systèmes de fichiers. Cela a l'avantage de garder votre clé pour les autres lecteurs hors du système de fichiers lui-même.

Avant de faire cela, assurez-vous tout d'abord que / tmp est monté sur le ram uniquement! Je suggère le mode mono-utilisateur pour ce changement.

mount -t ramfs none /tmp

Ensuite, vous pouvez exporter la clé dérivée:

# replace vda5_crypt with the cryptsetup name of your root luks
# have a look in /dev/mapper or 'pvdisplay' to find it...
/lib/cryptsetup/scripts/decrypt_derived vda5_crypt > /tmp/key

Et puis ajoutez-le à vos autres appareils:

# use your own disks here instead of sdb1 sdc1 sdd1 etc
cryptsetup luksAddKey /dev/sdb1 /tmp/key
cryptsetup luksAddKey /dev/sdc1 /tmp/key
cryptsetup luksAddKey /dev/sdd1 /tmp/key
rm /tmp/key

Cela permettra aux scripts d'initialisation ubuntu d'utiliser la clé dérivée une fois la racine déverrouillée pour déverrouiller le reste des périphériques de bloc et les rendre disponibles de manière similaire sous / dev / mapper. Je ne sais pas s'ils nécessitent des entrées / etc / crypttab - essayez-les sans d'abord, et s'ils n'apparaissent pas, mettez-les dans crypttab sans clé et cela devrait les déverrouiller.

(Je n'ai testé rien de tout cela.)

se faufiler
la source
J'ai essayé sans crypttab sur Debian, et cela n'a pas fonctionné. Même avec crypttab, cela ne fonctionne pas, mais je me suis rapproché. sdb3_crypt UUID = 4a ... sda3_crypt luks, initramfs, keyscript = decrypt_derived. L'option initramfs est nécessaire pour obtenir le script decrypt_derived inclus dans les initramfs. Mais il ne parvient toujours pas à se charger au démarrage.
aij
-1

Vous pouvez théoriquement définir une variable d'environnement temporaire dans un script de démarrage personnalisé qui est ensuite référencé par les scripts d'initialisation pour votre processus de déchiffrement. Je l'ai fait il y a quelques années.

Votre autre option consiste à supprimer vos scripts init existants pour votre disque dur et à en écrire un personnalisé qui saisit votre mot de passe une fois, puis procède aux deux processus de décryptage.

Vous pouvez également étendre votre volume LVM au deuxième lecteur. Si je me souviens bien, le cryptage devrait continuer.

Tim Brigham
la source
1
Le LVM est construit au-dessus du volume chiffré sous-jacent. Étendre LVM sans créer un autre volume chiffré ne chiffrerait pas le stockage supplémentaire ajouté au groupe de volumes.
se faufiler le
-2

Non, il n'y a aucun moyen de le faire hors de la boîte.

cstamas
la source