Encriptando la SWAP

Imagen de Epe

A veces los programas no bloquean en memoria la información importante como las claves u otros métodos de acceso que ellos usan. Al no bloquearla en memoria, el sistema puede potencialmente bajarla a la SWAP.

La SWAP es una fuente increíblemente buena de información para alguien que logre robar el disco donde ella se encuentra. No por los datos, sino por las claves y por otros elementos que pueden haber allí.

Es por eso que a veces se hace falta encriptar la swap.

En CentOS usaremos el mismo método que encriptar una partición anteriormente planteado, sólo que [b]no necesitamos conocer la clave[/b], el sistema levantará con una clave autogenerada, que cuando se reinicie se perderá y de esta forma los datos no se podrán leer nuevamente.. total, no importa mucho, cuando la swap levante nuevamente, con una nueva clave, seguirá cumpliendo su labor, swapeando, pero no conocerá de los datos que habían antes, ni le hacen falta.

Esto nos protege. En cuanto un sistema se apaga, se pierde el acceso a la swap (se pierde la clave) y por lo tanto los contenidos no se pueden leer por parte de un atacante.

Para ello comenzamos apagando la swap que actualmente usamos en el sistema:

swapoff -a

Luego averigüemos qué partición es la que actualmente está definida como swap en mi sistema:

fdisk -l |egrep -i swap
/dev/sda7 15141 16645 757760 82 Linux swap / Solaris

Ahh perfecto, tomo nota, es /dev/sda7 en mi ejemplo.

Editamos el archivo /etc/fstab y por favor comentemos o eliminemos cualquier referencia a la partición SWAP anterior. Es una línea que se verá así más o menos (fíjate que es posiblemente la única línea que contiene la cadena swap).

UUID=53d417cd-9c93-4ae8-8226-f13b535a5d2f swap swap defaults 0 0

Le dejas comentadita:

#UUID=53d417cd-9c93-4ae8-8226-f13b535a5d2f swap swap defaults 0 0

Entonces editamos el archivo /etc/crypttab (que podría estar vacío si no hemos escrito nada previamente ahi) y agregamos una línea que diga:

swap /dev/sda7 /dev/urandom swap

Lógicamente en el anterior paso, sda7 es la partición que era de swap, la que obtuvimos más arriba en el documento y te pedí anotar.

Esto creará un mapper llamado /dev/mapper/swap y que estará asociado con /dev/sda7, la tiene una tercera columna que le indica a crypttab que no se detenga a pedir clave.. que la genere automáticamente aleatoriamente.. de forma tal que la swap se encriptará con una clave que ni nosotros conocemos.. ni nos interesa.. una vez reiniciada la máquina aparecerá otra clave

edito entonces /etc/fstab y agrego esta línea para que la swap se active al inicio:

/dev/mapper/swap swap swap defaults 0 0

Listo, con esto basta.. ya se cargará todo. Reinicia el equipo, la swap deberá activarse solita. Verifícalo poniendo :
free -m

Y verás que en efecto sí hay espacio de swap activado.

Saludos y suerte con su CentOS
epe

Comentarios

A propósito, algunas

Imagen de Epe

A propósito, algunas personas no sugieren encriptar la swap porque el hecho de encriptación implica trabajo en el kernel, si el kernel está swapeando fuertemente, el tener que ejecutar código para swapear (el código de la encriptación ) puede hacer que tenga que swapear más y caer en un lazo infinito.

No me ha pasado, pero realmente lo que es la swap no lo he usado mucho en sistemas fuertes.
--
EcuaLinux.com
Ecuador: (02)3412402 - (09)9246504
USA: + 1 404 795 0321

Saludos
epe

EcuaLinux.com

+(593) 9 9924 6504

Servicios en Software Libre