Acceso remoto a disco encriptado: solución ingeniosa

Fuentes: remotely unlocking an encrypted hard disk

Este artículo de jyn.dev describe una solución ingeniosa para desbloquear remotamente un disco duro encriptado durante el proceso de arranque de un sistema Linux, específicamente Arch Linux. El problema que aborda es la necesidad de acceder a un portátil con un sistema operativo encriptado, incluso cuando la conexión a internet es inestable o la dirección IP cambia. La solución implica integrar Tailscale y un servidor SSH (Dropbear) dentro del initramfs, un pequeño sistema operativo que se ejecuta en memoria durante las primeras etapas del arranque, antes de que el sistema operativo principal se cargue.

¿Qué es initramfs? Esencialmente, es un sistema operativo mínimo que se ejecuta desde memoria durante el arranque. Permite realizar tareas como montar sistemas de archivos encriptados o configurar la red antes de que el sistema operativo principal esté completamente operativo. El artículo explica que esta 'mini-OS' tiene su propio PID 1 (systemd) y permite la ejecución de servicios.

El proceso: El autor describe los pasos para lograr esto: 1) Instalar Dropbear y Tailscale en el initramfs añadiéndolos a la configuración de mkinitcpio.conf. 2) Configurar Tailscale para permitir conexiones desde un dispositivo específico (marcando el dispositivo con la etiqueta initrd en la consola de Tailscale) y deshabilitar la expiración de claves. 3) Configurar Dropbear para que solo permita la ejecución del comando systemd-tty-ask-password-agent, limitando el acceso SSH a la introducción de la contraseña de encriptación. 4) Configurar la red en el initramfs para permitir la conexión a Tailscale. 5) Modificar la configuración de systemd-boot para que espere indefinidamente la introducción de la contraseña de encriptación.

Casos de uso: Esta técnica es útil para administradores de sistemas o usuarios que necesitan acceso remoto a sistemas encriptados, especialmente en situaciones donde la conexión a internet es intermitente o la dirección IP cambia dinámicamente. Permite mantener el estado de la sesión y ejecutar tareas como compilaciones, incluso si el portátil se desconecta de la corriente.

Consideraciones: El artículo advierte sobre los riesgos de seguridad asociados con la inclusión de claves de encriptación en el initramfs y sugiere medidas como el uso de ACLs de Tailscale y la configuración de Dropbear para limitar el acceso. También menciona la necesidad de configurar la red en el initramfs para conexiones Ethernet y la complejidad de hacerlo para conexiones WiFi. Finalmente, el artículo concluye con una frase que resume la filosofía de resolución de problemas: a veces, la solución requiere un enfoque poco convencional y 'aplicar más violencia' (en el sentido de ser creativo y persistente) para lograr el objetivo.