Com desbloquejar arrel LUKS per SSH

De GiLUG
Salta a: navegació, cerca

Català - Castellano - English


Introducció: Aquesta és una guia simple per donar accés a la xarxa, per tal d'introduïr remotament la frase de pas a l'arrencada d'un sistema ja encriptat incloent l'arrel. D'aquesta manera no és imprescindible acudir presencialment a escriure-la amb el teclat.

Notes:

  • Comprovat amb Debian GNU/Linux 7 (wheezy), tot i que el mètode hauria de funcionar amb versions anteriors i altres distribucions de GNU con Linux.
  • És important considerar que, tenir el nucli amb el desencriptador en una partició sense encriptar, és un punt feble. El mètode més segur és tenir TOT el disc dur encriptat, i doncs arrencar presencialment amb una memòria externa (com /boot en una memòria USB) i, en haver desbloquejat el sistema, emportar-nos aquella memòria amb el programari intacte a les nostres mans.

Preparar el desbloqueig LUKS remot

Des del sistema xifrat

  • Instal·leu el programari pel servei SSH i d'intèrpret de comandes Shell:
apt-get install dropbear busybox
  • Configureu la xarxa per l'etapa d'arrencada del nucli, establint aquesta variable al fitxer /etc/default/grub
GRUB_CMDLINE_LINUX="ip=192.168.1.33::192.168.1.1:255.255.255.0::eth0:none"

(Exemple per a una adreça IP 192.168.1.33, porta d'enllaç 192.168.1.1 i dispositiu de xarxa eth0)

  • Actualitzeu el gestor d'arrencada amb les noves dades pel nucli:
update-grub
  • Copieu el certificat especial d'entrada a l'equip remot, des d'on demanareu el desbloqueig:
scp -P 22 /etc/initramfs-tools/root/.ssh/initramfs_rsa UsuariRemot@EquipRemot:/home/UsuariRemot/xifrat.example.net_initramfs-rsa

(Exemple amb UsuariRemot de la IP EquipRemot i etiquetant el servidor com a xifrat.example.net)

Al sistema remot

(equip des d'on voleu enviar l'ordre de desbloqueig)

  • (opcional) Per seguretat, moure el certificat al perfil de superusuari (root):
mkdir -p /root/.ssh
mv ~/*_initramfs-rsa /root/.ssh/
  • Instrucció a donar (amb les dades d'exemple) quan el sistema encriptat espera la frase de pas (línia llarga):
ssh -o "UserKnownHostsFile=/root/.ssh/known_hosts.initramfs" -i "/root/.ssh/xifrat.example.net_initramfs-rsa" root@xifrat.example.net "echo -ne \"1234\" >/lib/cryptsetup/passfifo ; ip addr flush dev eth0 &"

(Exemple amb contrasenya 1234, i que desconfigura la xarxa del sistema encriptat per a què no interfereixi al sistema normal)

Altres fonts