Montez le disque dur chiffré LUKS au démarrage

24

J'ai Xubuntu 14.04 sur un périphérique SSD (le HOME a été crypté correctement lors de l'installation), en plus j'ai un disque dur avec une partition cryptée avec des données supplémentaires que je voudrais monter dans / mnt / hdd . Pour les réaliser, j'ai suivi les étapes suivantes:

(Auparavant, j'avais chiffré le disque avec LUKS après ce post http://www.marclewis.com/2011/04/02/luks-encrypted-disks-under-ubuntu-1010/ )

Vérifiez l'UUID

sudo blkid 
/dev/sda1: UUID="b3024cc1-93d1-439f-80ce-1b1ceeafda1e" TYPE="crypto_LUKS"

Créez un fichier de clés avec la bonne phrase de passe et enregistrez-le dans ma MAISON (qui est également cryptée).

sudo dd if=/dev/urandom of=/home/[USERNAME]/.keyfiles/key_luks bs=1024 count=4
sudo chmod 0400 .keyfiles/key_luks

Ajoutez la clé

sudo cryptsetup luksAddKey /dev/sda1 /home/zeugor/.keyfiles/key_luks

Nouvelle entrée dans / etc / crypttab

hddencrypted UUID=b3024cc1-93d1-439f-80ce-1b1ceeafda1e /home/[USERNAME]/.keyfiles/key_luks luks

Mettre à jour le disque virtuel initial

sudo update-initramfs -u -k all

Ensuite, pour le tester, j'ai utilisé la commande suivante pour démarrer les disques cryptés:

sudo cryptdisks_start hddencrypted 
 * Starting crypto disk...                                                       
 * hddencrypted (starting)..
 * hddencrypted (started)... 

Pour vérifier que hddencrypted a été mappé:

ls /dev/mapper/
control  hddencrypted

Créer un point de montage

mkdir /mnt/hdd

Nouvelle entrée dans / etc / fstab

/dev/mapper/hddencrypted /mnt/hdd ext4 defaults 0 2

Validez fstab sans redémarrer:

sudo mount -a

Montez la partition chiffrée au démarrage

Maintenant, je l'ai monté dans / mnt / hdd comme je l'ai proposé. Mais j'aimerais bien le faire automatiquement après le redémarrage. Mais avant de pouvoir me connecter, j'obtiens cette erreur:

the disk drive for /mnt/hdd is not ready yet or not permit

Tout cela me fait penser que / etc / crypttab ne peut pas accéder au fichier de clés qui se trouve dans ma MAISON (autre partition chiffrée). Je ne connais pas l'ordre que le système suit pour décrypter et monter les unités. Mon HOME doit être non chiffré avant mon disque dur pour donner accès à la lecture du fichier de clés.

Je vous serais reconnaissant de savoir pourquoi cela se produit.

MISE À JOUR: Si je trouve le fichier de clés dans / boot (non crypté), au lieu de dans / home / [USERNAME] (crypté), le / dev / sda1 et met à jour l'entrée dans / etc / crypttab est parfaitement monté au démarrage.

zeugor
la source
Comment est /home/$USERcrypté? Un chiffrement complet du disque comme LUKS ou basé sur ecryptfs?
David Foerster

Réponses:

9

Un fichier de clé dans le répertoire / boot peut être lu par tout autre système d'exploitation démarré sur votre machine et capable de monter le système de fichiers sur ce répertoire / boot. Ainsi, le cryptage n'est pas vraiment efficace. Cet argument s'applique à tous les emplacements de fichiers clés sur les systèmes de fichiers non chiffrés.

Pour éviter les fichiers clés sur les systèmes de fichiers non cryptés, un mot de passe peut être utilisé pour le décryptage. Créez un mot de passe fort pour l'appareil. Ensuite, changez la ligne dans / etc / crypttab en

hddencrypted UUID=b3024cc1-93d1-439f-80ce-1b1ceeafda1e none luks

et conservez l'entrée dans / etc / fstab non modifiée. Ubuntu 14.04 / 16.04 / 18.04 vous demande le mot de passe au démarrage.

Dominik Grether
la source
combiner la réponse de @ solt87 et cette réponse compléterait cette réponse.
6

Est-ce que cela fonctionne si vous remplacez "par défaut" dans fstab par

rw,suid,dev,exec,auto,user,async,relatime

(Selon la page de manuel de montage , c'est la même chose que "par défaut" sauf pour "utilisateur".)

solt87
la source
1

Assurez-vous que la partition hddencrypted est répertoriée après la partition home, dans /etc/fstabet /etc/crypttab. Comme l'indique la crypttab (5)page de manuel:

L'ordre des enregistrements dans crypttab est important parce que les scripts d'init itèrent séquentiellement à travers crypttab faisant leur travail.

Vous pouvez également essayer d'ajouter l' noearlyoption à cette dernière partition dans /etc/crypttab:

hddencrypted UUID=<...> /home/[USERNAME]/.keyfiles/key_luks luks,noearly

Dans une situation normale, vous pouvez indiquer que la partition domestique doit d'abord être montée en l'ajoutant à CRYPTDISKS_MOUNTin /etc/default/cryptdisks, mais comme elle est elle-même chiffrée, j'ai le sentiment que ce ne serait pas une bonne idée.

Aryeh Leib Taurog
la source
1
Cela ne fonctionnera pas car ubuntu essaie de décrypter toutes les partitions puis de les monter. Ainsi, le fichier clé ne sera pas disponible.
Christian Wolf