Como desbloquear raiz LUKS por SSH
La revisió el 11:53, 16 nov 2013 per Narcisgarcia (discussió | contribucions)
Català - Castellano - English
Introducción: Esta es una guía simple para dar acceso a la red, para que se introduzca remotamente la frase de paso (contraseña) en el arranque de un sistema ya encriptado incluyendo la raíz. De esta manera no es imprescindible acudir presencialmente a escribirla con el teclado.
Notas:
- Comprobado con Debian GNU/Linux 7 (wheezy), aunque el método debería funcionar con versiones anteriores y otras distribuciones de GNU con Linux.
- Es importante considerar que, tener el núcleo con el desencriptador en una partición sin encriptar, es un punto débil. El método más seguro es tener TODO el disco duro encriptado, y pues arrancar presencialmente con una memoria externa (como /boot en una memoria USB) y, al haber desbloqueado el sistema, llevarnos esa memoria con el software intacto en nuestras manos.
Contingut
Preparar el desbloqueo LUKS remoto
Desde el sistema cifrado
- Instale el software para el servicio SSH y de intérprete de comandos Shell:
apt-get install dropbear busybox
- Configure la red para la etapa de arranque del núcleo, estableciendo esta variable en el fichero /etc/default/grub
GRUB_CMDLINE_LINUX="ip=192.168.1.33::192.168.1.1:255.255.255.0::eth0:none"
(Ejemplo para una dirección IP 192.168.1.33, puerta de enlace 192.168.1.1 y dispositivo de red eth0)
- Actualice el gestor de arranque con los nuevos datos para el núcleo:
update-grub
- Copie el certificado especial de entrada al equipo remoto, desde donde pedirá el desbloqueo:
scp -P 22 /etc/initramfs-tools/root/.ssh/initramfs_rsa UsuarioRemoto@EquipoRemoto:/home/UsuarioRemoto/cifrado.example.net_initramfs-rsa
(Ejemplo con UsuarioRemoto de la IP EquipoRemoto y etiquetando el servidor como cifrado.example.net)
En el sistema remoto
(equipo desde donde quiere enviar la orden de desbloqueo)
- (opcional) Por seguridad, mover el certificado al perfil de superusuario (root):
mkdir -p /root/.ssh mv ~/*_initramfs-rsa /root/.ssh/
- Instrucción a dar (con los datos de ejemplo) cuando el sistema encriptado espera la frase de paso (línea larga):
ssh -o "UserKnownHostsFile=/root/.ssh/known_hosts.initramfs" -i "/root/.ssh/cifrado.example.net_initramfs-rsa" root@cifrado.example.net "echo -ne \"1234\" >/lib/cryptsetup/passfifo ; ip addr flush dev eth0 &"
(Ejemplo con contraseña 1234, y que desconfigura la red del sistema encriptado para que no interfiera en el sistema normal)
Otras fuentes
- Kernel command line (valores para la configuración de red)