web-dev-qa-db-fra.com

Montez le disque dur crypté LUKS au démarrage

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

(Auparavant, j'avais crypté 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é avec le mot de passe composé correct et enregistrez-le dans my HOME (également chiffré). ).

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 ramdisk 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 hddencrypted a été mappé:

ls /dev/mapper/
control  hddencrypted

Créez 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 je voudrais faire cela automatiquement après le redémarrage. Mais avant que je puisse 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 situé dans my HOME ( autre partition chiffrée). Je ne connais pas l'ordre que le système suit pour déchiffrer et monter les unités. Mon HOME doit être décrypté avant mon disque dur pour permettre de lire le fichier de clé.

J'apprécierais toute idée quant à pourquoi cela se produit.

UPDATE: Si je localise le fichier de clé dans /boot (non chiffré), au lieu de mon /home/[USERNAME] (chiffré) le /dev/sda1 et met à jour l'entrée dans /etc/crypttab est parfaitement monté au démarrage.

24
zeugor

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

Pour éviter les fichiers de clés sur les systèmes de fichiers non chiffrés, un mot de passe peut être utilisé pour le déchiffrement. Créez un mot de passe fort pour le périphérique. Ensuite, changez la ligne dans/etc/crypttab en

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

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

9
Dominik Grether

Est-ce que ça marche si vous remplacez "par défaut" dans fstab par

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

(Selon la page de manuel mount , c'est la même chose que "par défaut" à l'exception de "utilisateur".)

6
solt87

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

L'ordre des enregistrements dans crypttab est important car les scripts d'init itérèrent séquentiellement via crypttab.

Vous pouvez également essayer d’ajouter l’option noearly à 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 de base doit d'abord être montée en l'ajoutant à CRYPTDISKS_MOUNT dans /etc/default/cryptdisks, mais comme elle est elle-même cryptée, j'ai le sentiment que ce ne serait pas une bonne idée.

1
Aryeh Leib Taurog