Image

Base de conocimientos → Montaje automático de archivos Luks cifrados

[Servidores virtuales]
Fecha de publicación: 20.01.2024

En el artículo Creación de un disco cifrado en VDS Linux Describió cómo crear un archivo cifrado y montarlo como un disco. En ese ejemplo, para conectarnos, ingresamos una contraseña cada vez y después de trabajar con archivos, la desactivamos. Este método de trabajo proporciona un alto nivel de seguridad al trabajar con datos.

En el lado negativo, la contraseña que ingresamos cada vez puede ser interceptada si todas las acciones se registran en la PC desde la que se ingresa la contraseña. (registrador de claves instalado)

En este ejemplo, le mostraremos cómo montar automáticamente un archivo cifrado y montar el disco cada vez que se inicia el servidor, utilizando un archivo de clave.

1. Crea un archivo clave

dd if=/dev/urandom of=/root/random_data_keyfile1 bs=1024 count=4

1.1 Asignemos derechos solo a root

chmod 0400 /root/random_data_keyfile1

1.2 Agregar un archivo clave a nuestro archivo cifrado

cryptsetup luksAddKey /root/crypt-drive /root/random_data_keyfile1

Enter any existing passphrase:

2. Agregar una configuración para conexión automática

2.1 Archivo /etc/crypttab

# <target name>	<source device>		<key file>	<options>
crypto-my /root/crypt-drive /root/random_data_keyfile1 luks,discard

Si elimina el archivo de clave y reinicia el servidor, en la etapa de inicio se le pedirá que ingrese la contraseña para el archivo cifrado, pero no habrá acceso al servidor a través de la red en esta etapa. Después de ingresar la contraseña correctamente, el servidor continuará cargándose, incluidos los servicios de red.

2.1.1 Para garantizar que el servidor continúe arrancando si falta el archivo clave, agregue la opción de tiempo de espera

# <target name>	<source device>		<key file>	<options>
crypto-my /root/crypt-drive /root/random_data_keyfile1 luks,discard,timeout=30

Ahora, al ingresar una contraseña, si no hay un archivo de clave, se esperará 30 segundos, después de lo cual el servidor continuará cargándose y será accesible a través de la red.

2.2 Archivo /etc/fstab

...
/dev/mapper/crypto-my /mnt/crypt-volume ext4 defaults 0 0

Listo, puede reiniciar el servidor y verificar.

df -h

Filesystem             Size  Used Avail Use% Mounted on
udev                   962M     0  962M   0% /dev
tmpfs                  197M  504K  197M   1% /run
/dev/sda1               62G  2.7G   56G   5% /
tmpfs                  984M     0  984M   0% /dev/shm
tmpfs                  5.0M     0  5.0M   0% /run/lock
/dev/mapper/crypto-my  974M   72K  908M   1% /mnt/crypt-volume
tmpfs                  197M     0  197M   0% /run/user/0

Este método tiene su desventaja, ya que cuando obtenga acceso físico al servidor, será posible restablecer la contraseña de root y, dado que el archivo de clave está almacenado en el servidor, podrá acceder a los datos en la partición cifrada.





Sin comentarios aún