Tutoriales

Cómo desbloquear LUKS usando claves Dropbear SSH de forma remota en Linux

OEn Linux, ciframos nuestras particiones y todo el disco mediante la configuración de secreto unificada de Linux en formato de disco (LUKS) por razones de seguridad y privacidad. Desbloqueamos el disco protegido LUKS proporcionando una frase de contraseña en el momento del inicio. Debe estar frente a su computadora o usar una consola remota para desplegar el disco encriptado en Linux en el momento del inicio. Sin bloqueo, si su sistema está en el sótano, en el centro de datos / oficina remotos o en la oficina de en lo alto, no podrá desbloquear y partir su equipo Linux. Podemos usar el servidor Dropbear SSH para Debian o Ubuntu cifrados con LUKS o cualquier otra distribución de Linux a través de SSH para resolver este problema. Dejanos ver cómo desbloquear LUKS usando claves SSH de Dropbear en Linux en el momento del inicio.


¿Por qué usar y desbloquear el disco raíz y de inicio enigmático con LUKS usando Dropbear ssh?

  • Útil para un servidor Linux remoto o un servidor en la nubarrón
  • Inicie y obtenga camino a su caja cuando no tenga una consola KVM remota.
  • En otras palabras, podemos iniciar el servidor Linux cuando no tiene un teclado y una pantalla conectados a su caja.

¿Qué es el servidor Dropbear SSH?

Dropbear es un servidor SSH regalado y de código campechano creado explícitamente para sistemas integrados Linux y Unix con bajos requisitos de posibles. Implementa la traducción 2 del protocolo Secure Shell (SSH). Es compatible con RSA y criptografía de curva elíptica para el intercambio de claves. Dropbear es compatible con la autenticación de secreto pública OpenSSH ~ / .ssh / allowed_keys. Supongo que ya instaló Debian o Ubuntu Linux con LVM y LUKS. Aquí está mi configuración donde asimismo tengo el software RAID-1:

  1. / boot / efi – La partición de inicio del sistema se crea cuando su placa saco ejecuta UEFI en ocupación de BIOS.
  2. / dev / md0 – El directorio Linux / boot / (RAID-1 / dev / md0 montado en / boot /) contiene solo los archivos necesarios durante el proceso de inicio. El cargador de inicio inicializó el disco RAM llamado initrd. Usamos update-initramfs para conectar nuestro servidor Dropbear ssh al proceso de inicio. Ejecute el comando ls para averiguar en el directorio / boot /. Verá los archivos de la subsiguiente modo:
    ls -1 /boot/*$(uname -r)*
    /boot/config-4.19.0-13-amd64
    /boot/initrd.img-4.19.0-13-amd64
    /boot/System.map-4.19.0-13-amd64
    /boot/vmlinuz-4.19.0-13-amd64

    vmlinuz es mi kernel de Linux, e initrd contiene controladores de Linux, soporte RAID, servidor Dropbear ssh y otras cosas para partir el sistema Linux.
  3. / dev / md1 – Mi dispositivo RAID-1 con sistema enigmático LUKS. Tiene dos miembros LVM. Uno para intercambio y otro para la partición raíz. En otras palabras, todos los datos están encriptados excepto / boot / efi y / boot / partition. Incluso es posible abreviar / boot /. Recuerde que su maniquí de seguridad y amenazas es diferente, por lo que es posible que desee invertir protección adicional, como la contraseña BIOS / UEFI en el inicio, asegurando el camino a su hogar / oficina / centro de datos, habilitando FDE según sus evacuación, etc.
LEER  Cómo configurar MySQL con Docker en Linux

Mi configuración de muestra para el desbloqueo remoto de la raíz cifrada con LUKS en Ubuntu / Debian

Ejecute el comando lsblk para ver los discos actuales, RAID, enigmático e información LVM:
# lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT

Incluso podemos usar el comando cat para identificar particiones cifradas:
sudo cat /etc/crypttab
Esto es lo que veo:

md1_crypt UUID=45b8c33e-a710-4062-b98f-a32a45c9d947 none luks,discard

Mi traducción del sistema activo Linux y la traducción del kernal de Linux en producción de la subsiguiente modo:
lsb_release -a && uname -mrs
Futuro de muestra:

No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 10 (buster)
Release:	10
Codename:	buster
Linux 4.19.0-13-amd64 x86_64

Puntada de charlar. Ensuciemos nuestras manos y veamos cómo descifrar dispositivos LUKS de forma remota a través de Dropbear SSH.

Paso para desbloquear LUKS usando claves SSH de Dropbear en Linux

Instalaré Dropbear ssh para mi servidor Debian 10.xy Ubuntu 20.04 LTS enigmático con LUKS y habilitaré el desbloqueo remoto.

Paso 1: instalación de Dropbear en Debian o Ubuntu

Ejecute el comando apt / apt-get command de la subsiguiente modo:
## First, apply Debian security patches ##
sudo apt update
sudo apt upgrade
sudo apt install dropbear-initramfs

NOTA: Es posible que vea una advertencia como «dropbear: ADVERTENCIA: archivo autorizado_keys no válido, el desbloqueo remoto de cryptroot a través de SSH no funcionará.“. Simplemente ignóralo.

Paso 2: configuración de Dropbear para desbloquear el sistema enigmático LUKS

Utilice el comando su o el comando sudo para convertirse en legatario root:
sudo -i
CD en / etc / dropbear-initramfs usando el comando cd:
cd /etc/dropbear-initramfs
Edite el archivo de configuración:
# vim config
Edite / actualice DROPBEAR_OPTIONS de la subsiguiente modo:
DROPBEAR_OPTIONS="-I 180 -j -k -p 2222 -s"
Donde las opciones son las siguientes:

  1. -I 180 : Desconecta la sesión si no se transmite o recibe tráfico en 180 segundos.
  2. -j : Deshabilita el reenvío de puerto locorregional ssh.
  3. -k : Deshabilite asimismo el reenvío de puertos remotos.
  4. -p 2222 : Escuche el servidor ssh Dropbear en la dirección y el puerto TCP especificados. Si solo se proporciona un puerto como el 2222, escuche todas las direcciones. se pueden especificar hasta 10 (por defecto 22 si no se especifica nadie).
  5. -s : Deshabilita los inicios de sesión con contraseña. Vamos a configurar las claves SSH en un sistema Linux / Unix para que la autenticación reduzca la superficie de ataque.

Paso 3: configuración de IP estática

Para un servidor Linux locorregional en su sótano, probablemente pueda examinar la IP dada a Dropbox a través de su servidor DHCP, que es el comportamiento predeterminado. Sin bloqueo, un servidor remoto en un centro de datos o una nubarrón necesita una dirección IP pública como una sesión habitual de OpenSSH. A continuación, se explica cómo configurar una dirección IP pública. Edite el /etc/initramfs-tools/initramfs.conf
# vim /etc/initramfs-tools/initramfs.conf
Agregue información de IP estática para su Dropbear ssh durante el tiempo de inicio:
IP=192.168.2.19::192.168.2.254:255.255.255.0:debian
Dónde:

  1. IP = – Iniciar configuración de IP estática
  2. :: – Separador de campo
  3. 192.168.2.19 – IPv4
  4. 192.168.2.254 – Puerta de enlace
  5. 255.255.255.0 – Máscara de red
  6. debian – nombre de host

La sintaxis completa es la subsiguiente para la configuración de IP habitual de IPv4 e IPv6:

ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>:
   <dns-server--ip>:<dns-server-1-ip>:<ntp0-ip>

Paso 4: modernizar o suscitar una imagen initramfs

Usamos el script update-initramfs que administra sus imágenes initramfs en su caja locorregional cada vez que hacemos cambios en /etc/initramfs-tools/initramfs.conf o / etc / dropbear-initramfs / config:
sudo update-initramfs -u
sudo update-initramfs -u -v

los -u La opción actualiza un initramfs existente y el -v La opción aumenta la cantidad de información que se le proporciona durante la movimiento elegida.

Paso 5: creación de claves SSH para iniciar sesión

Volvamos a nuestros clientes de escritorio, como macOS, * BSD o distribución basada en Linux. Abrigo el terminal y luego escriba el subsiguiente comando para configurar la autenticación basada en secreto pública SSH:
{client}$ ssh-keygen -t rsa -f ~/.ssh/intel_nuc_debian
Copie la secreto pública de su cliente de escritorio ~ / .ssh / intel_nuc_debian.pub en / etc / dropbear-initramfs / allowed_keys una secreto por ringlera:
{client}$ cat ~/.ssh/intel_nuc_debian.pub
Si el camino root ssh está adaptado, intente:
{client}$ cat ~/.ssh/intel_nuc_debian.pub | ssh [email protected] "cat >> /etc/dropbear-initramfs/authorized_keys"
Para un legatario habitual, intente:
{client}$ scp ~/.ssh/intel_nuc_debian.pub [email protected]:~/key.pub
{client}$ ssh [email protected]
{server}$ sudo -i
{server}# cat /home/vivek/key.pub >> /etc/dropbear-initramfs/authorized_keys
{server}# rm /home/vivek/key.pub
{server}# exit
{server}$ exit

Asegúrese de modernizar nuestro initrd:
{server}$ sudo update-initramfs -u

Paso 6: prueba el servidor Linux cuando habilitamos el desbloqueo remoto de LUKS

Hasta ahora tan bueno. Instalamos Dropbear ssh para initramfs. Se configuró Dropbear initramfs, incluida la IP estática. Se instalaron las claves ssh y es hora de reiniciar el servidor Linux:
{server}$ sudo reboot

Desbloqueo de volúmenes LUKS usando ssh

Utilice el comando ping para repasar la conectividad:
{client}$ ping 192.168.2.19
Iniciemos sesión usando el comando ssh:
{client}$ ssh -i ~/.ssh/intel_nuc_debian -p 2222 -o "HostKeyAlgorithms ssh-rsa" [email protected]
Desbloquearlo, ejecutar:
# cryptroot-unlock

Click para agrandar

Resumiendo

Y ahí lo tiene, el disco LUKS desbloqueado de forma remota usando ssh con la ayuda del servidor Dropbear ssh. Es posible que desee configurar el archivo de configuración OpenSSH para evitar escribir el comando ssh espacioso.

LEER  Instalar el clúster de Kubernetes con Kubeadm en RHEL

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba