Monte el disco duro cifrado LUKS en el arranque

24

Tengo Xubuntu 14.04 en un dispositivo SSD (el HOME se cifró correctamente durante la instalación), además, tengo un HDD con una partición cifrada con datos adicionales que me gustaría montar en / mnt / hdd . Para hacer esto seguí los siguientes pasos:

(Anteriormente había cifrado el disco con LUKS después de esta publicación http://www.marclewis.com/2011/04/02/luks-encrypted-disks-under-ubuntu-1010/ )

Verifique el UUID

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

Haga un archivo de claves con la frase de contraseña correcta y guárdelo en mi INICIO (que también está cifrado).

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

Agrega la llave

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

Nueva entrada en / etc / crypttab

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

Actualice el ramdisk inicial

sudo update-initramfs -u -k all

Luego, para probarlo, utilicé el siguiente comando para iniciar cryptdisks:

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

Para verificar hddencrypted se asignó:

ls /dev/mapper/
control  hddencrypted

Crea un punto de montaje

mkdir /mnt/hdd

Nueva entrada en / etc / fstab

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

Validar fstab sin reiniciar:

sudo mount -a

Montar la partición cifrada en el arranque

Ahora lo he montado en / mnt / hdd como lo propuse. Pero me gustaría hacer esto automáticamente después de reiniciar. Pero antes de que pueda iniciar sesión, aparece este error:

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

Todo esto me hace pensar que / etc / crypttab no puede acceder al archivo de claves que se encuentra en mi HOME (otra partición encriptada). No sé el orden que sigue el sistema para desencriptar y montar las unidades. Mi HOME no debe estar cifrado antes de mi HDD para dar acceso a leer el archivo de claves.

Agradecería cualquier idea de por qué sucede esto.

ACTUALIZACIÓN: si ubico el archivo de claves en / boot (no encriptado), en lugar de en / home / [NOMBRE DE USUARIO] (encriptado), / dev / sda1 y actualizo la entrada en / etc / crypttab está perfectamente montado en el tiempo de arranque.

zeugor
fuente
¿Cómo se /home/$USERencripta? ¿Un cifrado de disco completo como LUKS o basado en ecryptfs?
David Foerster

Respuestas:

9

Un archivo clave en el directorio / boot puede ser leído por cualquier otro sistema operativo iniciado en su máquina que pueda montar el sistema de archivos en el que se encuentra / boot. Por lo tanto, el cifrado no es realmente efectivo. Este argumento se aplica a todas las ubicaciones de archivos clave en sistemas de archivos sin cifrar.

Para evitar archivos clave en sistemas de archivos sin cifrar, se puede usar una contraseña para descifrar. Crea una contraseña segura para el dispositivo. Luego, cambie la línea en / etc / crypttab a

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

y mantenga la entrada en / etc / fstab sin modificar. Ubuntu 14.04 / 16.04 / 18.04 le pide la contraseña al inicio.

Dominik Grether
fuente
combinando la respuesta de @ solt87 y esta respuesta completaría esta respuesta.
6

¿Funciona si reemplaza "valores predeterminados" en fstab con

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

(De acuerdo con la página de manual de montaje , es lo mismo que "valores predeterminados" excepto "usuario")

solt87
fuente
1

Asegúrese de que la partición hddencrypted aparezca en la lista después de la partición de inicio, en ambos /etc/fstaby /etc/crypttab. Como crypttab (5)dice la página del manual:

El orden de los registros en crypttab es importante porque los scripts de inicio iteran secuencialmente a través de crypttab haciendo lo suyo.

También podría intentar agregar la noearlyopción a la última partición en /etc/crypttab:

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

En una situación normal, se puede indicar que la partición casa se debe montar primero añadiéndolo a CRYPTDISKS_MOUNTen /etc/default/cryptdisks, pero ya que se cifra, tengo la sensación de que no sería una buena idea.

Aryeh Leib Taurog
fuente
1
Esto no funcionará ya que ubuntu intenta descifrar todas las particiones y luego montarlas. Por lo tanto, el archivo de clave no estará disponible.
Christian Wolf