2 votes

Ubuntu 18.04 déchiffrement de disque secondaire Clevis

Exécution d'Ubuntu 18.04 avec un volume racine non chiffré. Pour ce que j'ai besoin que cela fasse, c'est bon. Mais j'ai besoin de monter et de décrypter des disques secondaires. Suivant les instructions de Red Hat ici puisque chaque recherche Google pour Ubuntu et NBDE/Clevis&Tang m'y amène.

*Cette procédure fonctionne à la perfection sur RHEL 7.x et CentOS 7.x.

Je suis allé aussi loin que la partition (je n'utilise pas LVM ici), le chiffrement, le lier à un serveur Tang.

D'abord, j'installe les paquets :

apt-get install clevis clevis-systemd clevis-dracut clevis-luks

Puis je configure le disque

echo ''| cryptsetup --verbose luksFormat /dev/xvdc1

clevis bind luks -f -k- -d /dev/xvdc1 tang '{"url":"http://:","thp":""}' <<< ""

echo "" | cryptsetup luksRemoveKey /dev/xvdc1

clevis luks unlock -d /dev/xvdc1 -n testluksvol

Et voilà. Ensuite je le formate et vérifie si je peux le monter.

mkfs.ext4 /dev/mapper/testluksvol

mount /dev/mapper/testluksvol /testluksvol

Jusque-là tout va bien. J'ajoute les entrées à /etc/fstab en utilisant _netdev comme indiqué dans les instructions :

/dev/mapper/testluksvol /testluksvol    ext4    defaults,_netdev 0 2

J'ajoute l'entrée à /etc/crypttab, également avec _netdev, bien que je ne pensais pas qu'Ubuntu crypttab le supportait car ce n'est pas dans la page man de crypttab, mais bon. On fait du Chef Boy'R'D ici, pas du bolognese de classe mondiale :

testluksvol     UUID=       none    _netdev

Et enfin, j'active clevis-luks-askpass.path

systemctl enable clevis-luks-askpass.path

Puis nous redémarrons... et cela ne fonctionne pas. Alors nous regardons dans /var/log/syslog et voyons ceci :

Jun 22 23:06:22 ubuntu03 systemd[1]: dev-disk-by\x2duuid-72ebf50e\x2dc3de\x2d468a\x2d89c3\x2defc869757a51.device: Job dev-disk-by\x2duuid-72ebf50e\x2dc3de\x2d468a\x2d89c3\x2defc86975
7a51.device/start timed out.
Jun 22 23:06:22 ubuntu03 systemd[1]: Timed out waiting for device dev-disk-by\x2duuid-72ebf50e\x2dc3de\x2d468a\x2d89c3\x2defc869757a51.device.
Jun 22 23:06:22 ubuntu03 systemd[1]: Dependency failed for Cryptography Setup for testluksvol.
Jun 22 23:06:22 ubuntu03 systemd[1]: Dependency failed for dev-mapper-testluksvol.device.
Jun 22 23:06:22 ubuntu03 systemd[1]: Dependency failed for /testluksvol.
Jun 22 23:06:22 ubuntu03 systemd[1]: Dependency failed for Remote File Systems.
Jun 22 23:06:22 ubuntu03 systemd[1]: remote-fs.target: Job remote-fs.target/start failed with result 'dependency'.
Jun 22 23:06:22 ubuntu03 systemd[1]: testluksvol.mount: Job testluksvol.mount/start failed with result 'dependency'.
Jun 22 23:06:22 ubuntu03 systemd[1]: Dependency failed for File System Check on /dev/mapper/testluksvol.
Jun 22 23:06:22 ubuntu03 systemd[1]: systemd-fsck@dev-mapper-testluksvol.service: Job systemd-fsck@dev-mapper-testluksvol.service/start failed with result 'dependency'.
Jun 22 23:06:22 ubuntu03 systemd[1]: dev-mapper-testluksvol.device: Job dev-mapper-testluksvol.device/start failed with result 'dependency'.
Jun 22 23:06:22 ubuntu03 systemd[1]: Dependency failed for Local Encrypted Volumes.
Jun 22 23:06:22 ubuntu03 systemd[1]: cryptsetup.target: Job cryptsetup.target/start failed with result 'dependency'.
Jun 22 23:06:22 ubuntu03 systemd[1]: systemd-cryptsetup@testluksvol.service: Job systemd-cryptsetup@testluksvol.service/start failed with result 'dependency'.
Jun 22 23:06:22 ubuntu03 systemd[1]: dev-disk-by\x2duuid-72ebf50e\x2dc3de\x2d468a\x2d89c3\x2defc869757a51.device: Job dev-disk-by\x2duuid-72ebf50e\x2dc3de\x2d468a\x2d89c3\x2defc86975
7a51.device/start failed with result 'timeout'.

C'est un peu frustrant. J'ai choisi 18.04 spécifiquement car il était censé avoir le support pour clevis & tang. Je voulais l'intégrer dans un environnement existant qui exécute des serveurs Tang.

Est-ce que quelqu'un, pour l'amour de Linus Torvalds, peut me dire ce que je fais de travers ?

1voto

MeatLips Points 31

J'ai constaté que l'UUID de mon disque était incorrect. Une fois que je l'ai mis à jour avec le bon numéro, toute la procédure a fonctionné parfaitement.

0voto

Bernard Wei Points 1985

Pour créer, crypter ou décrypter un disque chiffré LUKS, vous pouvez simplement utiliser cryptsetup.

Par exemple, je créerai un test.img à utiliser comme exemple pour une partition de disque vide. Je créerai un volume de disque chiffré LUKS, le formaterai, puis le monterai.

fallocate -l 1G test.img

sudo cryptsetup create test test.img
Entrez le mot de passe pour test.img : 
sudo mkfs -t ext2 /dev/mapper/test 

mke2fs 1.44.1 (24-Mar-2018)
Création du système de fichiers avec 262144 blocs de 4k et 65536 inodes
UUID du système de fichiers : 5f58a7a0-6139-4ae3-b423-be86dbc90874
Sauvegardes du superbloc stockées sur les blocs : 
    32768, 98304, 163840, 229376

Allocation des tables du groupe : terminée                            
Écriture des tables d'inodes : terminée                            
Écriture des superblocs et des informations comptables du système de fichiers : terminée

sudo mount /dev/mapper/test /mnt

df /mnt
Système de fichiers     1K-blocs   Utilisé Disponible Uti% Monté sur
/dev/mapper/test       1032088     1284     978376    1% /mnt

Vous pouvez ensuite utiliser le volume décrypté monté sur /mnt/. Pour démonter et supprimer le volume décrypté.

sudo umount /mnt
sudo cryptsetup remove test

Plus tard, lorsque vous aurez besoin de monter le volume chiffré, faites simplement ce qui suit.

sudo cryptsetup create test test.img
Entrez le mot de passe pour test.img : 

sudo mount /dev/mapper/test /mnt

df /mnt

Système de fichiers     1K-blocs   Utilisé Disponible Uti% Monté sur
/dev/mapper/test       1032088     1284     978376    1% /mnt

Si vous souhaitez le monter automatiquement avec une invite de mot de passe, ajoutez ce qui suit.

mv test.img /
sudo vi /etc/crypttab

et ajoutez la ligne suivante

/mnt /test.img none luks

Au démarrage, vous serez invité à saisir le mot de passe pour monter le volume. Si vous ne voulez pas avoir à entrer le mot de passe, vous pouvez utiliser un fichier clé.

PS: Oh excusez-moi, je viens de réaliser que vous aviez besoin de récupérer la clé de passe du réseau, désolé.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X