Es sensato que si tiene algún tipo de cifrado de dispositivo de bloque implementado en su sistema GNU / Linux, también cifre su partición de intercambio, ya que cualquier dato descifrado puede escribirse en texto claro en cualquier momento en el intercambio.
Al mirar la página de manual de Debian para "crypttab" veo un ejemplo de creación de una partición de intercambio con clave aleatoria en el arranque, por lo que la clave se establece aleatoriamente a medida que avanza el arranque y solo el sistema lo conoce:
# Encrypted swap device
cswap /dev/sda6 /dev/urandom cipher=aes-cbc-essiv:sha256,hash=ripemd160,size=256,swap
En este ejemplo, se hace referencia al dispositivo de intercambio mediante una ruta de desarrollo convencional, es decir /dev/sda6
Las rutas absolutas de los dispositivos están sujetas a cambios y se reasignan en el arranque si, por ejemplo, se conecta una unidad usb. ¡Un usuario sería muy infeliz si /dev/sda6
fuera una partición diferente a la esperada y posteriormente se sobrescribiera con datos de intercambio aleatorio!
Entonces, la solución parece ser: use un UUID en lugar de una ruta de dispositivo (ya que un UUID no debería cambiar), reemplazando /dev/sda6
con/dev/disk/by-uuid/<whatever the uuid of dev/sda6 is>
PERO ... aquí está el problema: ¡cada vez que cryptsetup recrea la partición de intercambio cifrada en el momento del arranque, genera un nuevo UUID! Doh!
Por lo tanto, debemos preservar el UUID de este sistema de archivos cifrado de alguna manera. Creo que cryptsetup puede hacer esto con su --offset
interruptor, lo que permite la preservación del encabezado LUKS y, por lo tanto, el UUID.
He encontrado esta URL: https://wiki.archlinux.org/index.php/System_Encryption_with_LUKS#Using_UUIDs_with_encrypted_swap_partitions
¿Alguien sabe cómo implementar la solución descrita para Arch Linux en el sistema operativo Debian? Las secuencias de comandos de inicio mencionadas en el documento parecen no existir en el sistema operativo Debian
¡Gracias!
EDITAR
Uno podría usar ecryptfs para lograr los mismos fines (espacio de intercambio encriptado) usando el comando:
ecryptfs-setup-swap
Sin los problemas que acosan el cifrado de dispositivos de bloque. Echa un vistazo a esta consulta de AskUbuntu
ecryptfs-setup-swap
es solo un ayudante que configuradm-crypt
/crypttab
para ti. Comoecryptfs
es un controlador de nivel de archivo, no maneja particiones enteras, por lo que lo agilizadm-crypt
. Puede encontrar este método más fácil de usar, pero finalmente no está logrando nada diferente. En todo caso, las peculiaridades de este método (incluido el UUID) probablemente me confundieron más que si lo hubiera hecho yo mismo desde los primeros principios ... aunque aprendí más.