De hecho, la página describe cómo configurar una partición, pero es similar a un archivo de intercambio:
dd if=/dev/urandom of=swapfile.crypt bs=1M count=64
loop=$(losetup -f)
losetup ${loop} swapfile.crypt
cryptsetup open --type plain --key-file /dev/urandom ${loop} swapfile
mkswap /dev/mapper/swapfile
swapon /dev/mapper/swapfile
El resultado:
# swapon -s
Filename Type Size Used Priority
/dev/mapper/swap0 partition 4000176 0 -1
/dev/mapper/swap1 partition 2000084 0 -2
/dev/mapper/swapfile partition 65528 0 -3
swap0 y swap1 son particiones reales.
¡Esta configuración utiliza claves generadas aleatoriamente en el arranque y no admitirá la hibernación en el disco duro! Debe deshabilitar la hibernación a través de su respectiva utilidad de administración de energía DE y establecerla en Apagado en estado crítico para evitar la pérdida de datos.
Asegúrate de ejecutar sudo -s
o su
antes de ejecutar lo siguiente.
-
Deshabilitar intercambio:
# swapoff -a
-
Localice la partición de intercambio existente
# lsblk
Obtendrá algo como esto:
sda3 8:3 0 8G 0 part [SWAP]
-
Sobrescribir antiguo intercambio
# dd if=/dev/zero bs=1024000 of=/dev/sda<#>
por ejemplo:
# dd if=/dev/zero bs=1024000 of=/dev/sda3
-
fstab
configuración# vim /etc/fstab
Reemplace el antiguo dispositivo SWAP con el nombre del mapeador crypttab:
/dev/mapper/cswap
#<file system> <mount point> <type> <options> <dump> <pass> /dev/mapper/cswap none swap pri=1,defaults 0 0
-
Configuración criptográfica
# ls -lF /dev/disk/by-id
Por ejemplo:
ata-HGST_HTS545050A7E680_TEK55D4F0BU3GV-part3 -> ../../sda3 # vim /etc/crypttab # <name> <device> <password> <options> cswap /dev/disk/by-id/ata-HGST_HTS545050A7E680_TEK55D4F0BU3GV-part3 /dev/urandom swap,cipher=aes-cbc-essiv:sha256,size=256
-
Intercambio cifrado activo
# reboot
-
Verificar Operaciones de Swap Encriptadas
Por ejemplo:
# dmsetup -C info cswap 253 0 L--w 2 1 0 CRYPT-PLAIN-cswap # lsblk ├─sda3 8:3 0 8G 0 part │ └─cswap 253:0 0 8G 0 crypt [SWAP] # cat /proc/swaps Filename Type Size Used Priority /dev/dm-0 partition 8385532 0 -1
Si usa dd if=/dev/zero of=/swapfile bs=8G count=1
, seguido de mkswap /swapfile
y swapon /swapfile
, debe tener un archivo de intercambio en funcionamiento en su sistema de archivos raíz (usamos dd
para asegurarse de que no haya agujeros en el archivo de intercambio)
Esto evita tener que meterse con dispositivos de bucle y/o crypttab y simplemente coloca el archivo de intercambio dentro de su sistema de archivos ya encriptado. (Asumimos que está usando encriptación para todo el disco aquí. Anteponga el /swapfile
parámetro con la ruta a su directorio encriptado si está en otro lugar)
Ver man mkswap
y man swapon
para más información.