Cifrado de disco completo con autenticación sin contraseña en Linux

16

Tengo una configuración de cifrado de disco bastante estándar en Debian 5.0.5: /bootpartición no cifrada y cifrada sdaX_cryptque contiene todas las demás particiones.

Ahora, esta es una instalación de servidor sin cabeza y quiero poder iniciarlo sin un teclado (en este momento solo puedo iniciarlo con un teclado y un monitor conectados).

Hasta ahora tengo una idea de mover la /bootpartición a una unidad USB y hacer ligeras modificaciones para ingresar automáticamente la clave (creo que solo hay una llamada askpassen el script de arranque en alguna parte). De esta manera puedo arrancar sin cabeza, solo necesito tener una unidad flash en el momento del arranque.

Tal como lo veo, el problema es que

  1. Necesito invertir tiempo en resolver todos los detalles para que funcione,
  2. Si hay una actualización, que se regenera initrd, necesito regenerar la partición de arranque en el USB, lo que parece tedioso.

La pregunta: ¿hay una solución estándar de bajo mantenimiento disponible para lo que quiero hacer? ¿O debería estar buscando en otro lado por completo?

Alex B
fuente

Respuestas:

7

Puede configurar su sistema para que requiera una clave en lugar de una contraseña y cambiar algunos scripts para buscar esta clave en una memoria USB. Encontré una explicación detallada de este proceso en Debian Lenny. Hay algunas notas al final que describen los cambios necesarios para las nuevas versiones de Debian.

Marcel Stimberg
fuente
Suena como lo que necesito. Primero necesito ver cuánto esfuerzo es mantener las cosas funcionando entre actualizaciones antes de aceptar la respuesta.
Alex B
Bien, aunque no existe una solución "estándar", parece haber funcionado.
Alex B
5

Pero, ¿cuál es el punto de tener un cifrado de disco completo, si solo dejas las claves en texto plano?

Para que eso funcione, necesitarías algo como lo que se suponía que era la Trusted Computing Platform antes de que Microsoft y Big Media la secuestraran para sus propios fines de maltrato para el usuario.

La idea es tener un chip que contenga las claves en la placa base, y que le dé las claves solo cuando se verifique que el software en ejecución fue debidamente firmado por una autoridad confiable (usted). De esta manera, no deja las teclas a la vista y no tiene que iniciar el servidor de forma interactiva.

Es una pena que nunca haya visto que Trusted Computing tenga un buen uso , lo que en realidad podría ser útil para el usuario final .


fuente
La clave no es más estar tendida en texto plano que su clave SSH tendida en texto plano ~/.ssh. Solo quiero poder arrancar un servidor sin cabeza con cifrado de disco completo y sacar la clave. Me doy cuenta de que el atacante puede modificar la partición de arranque sin cifrar y robar la clave (como con una versión de contraseña regular basada en software de todos modos), pero solo estoy protegiéndome contra el robo casual.
Alex B
En realidad, el TPM ha regresado de DRM y a usos gubernamentales y empresariales últimamente. Hay muchos sistemas operativos que pueden usarlo para almacenar claves secretas, no conozco ninguno que ofrezca protección de integridad (es decir, que no permita que un atacante inserte un keylogger en/boot ).
Gilles 'SO- deja de ser malvado'
@AlexB: ¿Su servidor tiene un TPM? Si es así, probablemente pueda hacer lo que quiera con Trusted Grub .
Gilles 'SO- deja de ser malvado'
Tenga en cuenta que existe la ventaja de dejar las claves en texto sin formato, ya que podría borrar completamente los datos confidenciales de un disco sin poner a cero todo el disco. Sí, puede poner a cero el superbloque o la tabla de particiones, pero como todos sabemos, los datos aún se pueden recuperar de esas operaciones.
strugee
@strugee: si está utilizando LUKS, poner a cero el encabezado LUKS hace que todo el volumen sea irrecuperable. Si está usando dm-crypt sin encabezado, entonces sí, aún puede recuperarse más adelante con una contraseña.
Jay Sullivan el
5

Mandos (que yo y otros hemos escrito) resuelve este mismo problema:

Mandos es un sistema para permitir que los servidores con sistemas de archivos raíz encriptados se reinicien de manera desatendida y / o remota. Consulte la página del manual de introducción para obtener más información, incluida una lista de preguntas frecuentes.

En resumen, el servidor de arranque obtiene la contraseña a través de la red, de manera segura. Ver el archivo README para más detalles.

Osito de peluche
fuente
1
Incluso si se trata de un software gratuito, agradecería que este sea su producto si no fuera realmente necesario . También se agradecería un enlace README / FAQ más legible y una breve explicación de cómo funciona Mandos.
Gilles 'SO- deja de ser malvado'
1
@Gilles: Hecho ahora.
Teddy