En Ubuntu 11.10, ¿es posible descifrar 2 discos duros cifrados con LUKS / LVM ingresando solo una frase de contraseña en el arranque?


8

aquí la configuración que tengo: - 2 discos duros, - el primero está encriptado con LUKS y LVM. Me gustaría agregar en el grupo de volumen encriptado un segundo disco duro. Lo instalé con éxito y lo cifré. Pero cuando inicio, tengo que ingresar 2 frases de contraseña para descifrar ambos discos duros.

¿No hay una manera de usar solo uno?



Respuestas:


4

Finalmente encuentro un truco para ingresar solo una contraseña y tener todos mis discos físicos encriptados.

Cifro el primero con una frase de contraseña, cifro el segundo usando un archivo de claves que almaceno en el primer disco duro (/ root / mykeyfile).

Y con la línea de corrección en el archivo / etc / crypttab, hace el truco.

Actualizar / etc / crypttab

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

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


dd if = / dev / urandom of = / root / mykeyfile bs = 1024 count = 20 Este es un ejemplo de cómo crear una cadena aleatoria para usarla como 'keyfile'.
earthmeLon

1
El problema con esto es que un compromiso que involucra el acceso a su sistema de archivos (por ejemplo, un problema de permisos o algo menor) resultaría en un compromiso clave, un problema mucho mayor. Recomiendo fuertemente contra esta práctica. Vea mi respuesta para un método mejor (y automático).
colarse el

¿Podría explicar cómo se supone que esto funciona? ¿LVM comienza en modo degradado y luego se arregla una vez que el segundo PV está disponible?
aij

0

En ubuntu, es posible usar una clave derivada de la raíz como clave adicional en otros sistemas de archivos. Esto tiene la ventaja de mantener su clave para las otras unidades fuera del sistema de archivos.

Antes de hacer esto, primero, ¡asegúrese de que / tmp esté montado solo en el ram! Sugiero el modo de usuario único para este cambio.

mount -t ramfs none /tmp

Luego, puede exportar la clave derivada:

# 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

Y luego agréguelo a sus otros dispositivos:

# 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

Esto permitirá que los scripts de inicio de Ubuntu utilicen la clave derivada una vez que la raíz esté desbloqueada para desbloquear el resto de los dispositivos de bloqueo y que estén disponibles de manera similar en / dev / mapper. No estoy seguro de si requieren entradas / etc / crypttab: pruébelas sin primero y, si no aparecen, colóquelas en crypttab sin una clave y debería desbloquearlas.

(No he probado nada de esto).


Intenté sin crypttab en Debian, y no funcionó. Incluso con crypttab no funciona, pero me he acercado. sdb3_crypt UUID = 4a ... sda3_crypt luks, initramfs, keyscript = decrypt_derived. La opción initramfs es necesaria para obtener el sccript decrypt_derived incluido en initramfs. Pero todavía no se carga en el inicio.
aij

-1

Teóricamente, puede establecer una variable de entorno temporal en una secuencia de comandos de inicio personalizada a la que luego hacen referencia las secuencias de comandos de inicialización para su proceso de descifrado. De hecho, hice esto hace unos años.

Su otra opción es eliminar sus scripts de inicio existentes para su disco duro y escribir uno personalizado que ingrese su contraseña una vez y luego continúe con los dos procesos de descifrado.

Como alternativa, puede extender su volumen LVM a la segunda unidad. Si no recuerdo mal, el cifrado debería continuar.


1
El LVM está construido sobre el volumen cifrado subyacente. Expandir el LVM sin crear otro volumen cifrado no cifraría el almacenamiento adicional agregado al grupo de volúmenes.
colarse el

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.