¡Esta es una revisión vieja del documento!
Tabla de Contenidos
Enabling Encrypted Swap
Cuando la memoria disponible cae por debajo de cierto punto, el kernel de Linux intercambiará el contenido de las páginas de memoria para intercambiar espacio.
Este contenido puede incluir información confidencial como contraseñas, nombres de usuario, PINS, información bancaria o de otra identidad. Estos datos suelen estar en texto plano y, por lo tanto, pueden leerse sin esfuerzo. El cifrado del espacio de intercambio del sistema protege su contenido contra el acceso no autorizado y los ataques en caso de que el acceso al disco duro se vea comprometido o eliminado físicamente.
Configuración de intercambio encriptado
Los pasos que siguen pueden usarse al configurar inicialmente un sistema, o después de que ya se está ejecutando un sistema. En este último caso, el primer paso necesario para cifrar la partición de intercambio es desactivar temporalmente el intercambio. Cierre todas las aplicaciones innecesarias para liberar la memoria usada y, por lo tanto, interrumpa el uso del espacio de intercambio. Si bien muchas aplicaciones se pueden configurar para que no usen swap, esto no se aplica al kernel. Si aún se está utilizando el espacio de intercambio, no podrá desactivar la swap.
Aunque no es necesario, quizás el enfoque más simple sea iniciar el sistema en modo de usuario único. Esto da como resultado que se ejecuten servicios mínimos y un solo shell raíz.
La swap se puede desactivar usando el siguiente comando:
# swapoff -a
Para garantizar un espacio de intercambio estéril completamente limpio, debe sobrescribir la partición de intercambio utilizada anteriormente con datos aleatorios. Esto ayudará a evitar la recuperación de cualquier dato escrito para intercambiar antes del proceso de cifrado. Hay varias formas de hacerlo.
Quizás lo más fácil es usar el comando shred que sobrescribe el archivo o dispositivo especificado con datos aleatorios:
# shred -v /dev/sdaX
Alternativamente, sobrescriba el espacio con datos aleatorios de /dev/random o /dev/urandom:
# dd if=/dev/random of=/dev/sdaX bs=512
or
# dd if=/dev/urandom of=/dev/sdaX bs=512
The next step is to create a file, if it doesn't already exist, named crypttab in /etc. The specifics for crypttab can be found in the man page.
A crypttab entry as follows creates an encrypted block device named swap at /dev/mapper using the partition /dev/sdX as the base block device and /dev/random as the encryption password using AES encryption and variable initialization vectors.
swap /dev/sdaX /dev/random swap,cipher=aes-xts-essiv:sha256
You then need to edit /etc/fstab to point to the encrypted block device, /dev/mapper/swap as opposed to /dev/sdaX.
For example a current entry of:
/dev/sdaX swap swap defaults 0 0
becomes:
/dev/mapper/swap swap swap defaults 0 0
Activating Encrypted Swap
You can now enable encrypted swap either by rebooting the system or by issuing the following commands at the console prompt.
# cryptsetup -d /dev/random create swap /dev/sdaX
# mkswap /dev/mapper/swap
# swapon -a
For detailed information on specific commands please see the individual manual (man) pages.
Sources
Original source: Slackware Encrypted Swap Originally written by W. Dean Milner