¿Cómo encriptar la SWAP de mi sistema?

Imagen de Epe

Mira, sucede que algunas veces en la SWAP quedan contenidos interesantes de ser leídos por parte de un interesado.

Si alguien te roba la máquina y mira dentro de la swap puede potencialmente encontrar documentos y/o claves que por alguna razón se haya swapeado a disco.

Te sugiero que no uses swap si tienes suficiente memoria. Pero si eres de los que cree que siempre hay que tener X cantidad de SWAP por la RAM Que tengas, al menos te doy aquí una sugerencia para que la encriptes.

Advertencias de rigor: Si tu swap o disco o máquina se daña, trashea, pierde, despedaza, es secuestrada por los extraterrestres, o cualquier cosa que tu pienses o sepas que va a ocurrir producto de esta situación; es TU PROBLEMA, no es el mío. No me culpes cuando te pase esto.

Advertencia 2: Este procedimiento que pondré exige de un conocimiento de Linux, edición de textos, particiones y de saber leer. Increíblemente mucha gente sabe ver las letras, entiende lo que uno dice, mas no lo comprenden. Exige comprensión de lo que harás. Si no comprendes qué estoy haciendo aqui, entonces búscate un técnico que sí pueda comprenderlo para que te ayude a hacerlo.

Advertencia 3: A mi no me pasó nada por hacer este procedimiento, pero si sientes que algo pasará con tu información entonces no sigas leyendo este documento ya que no es para tí.

Comencemos:

Instalemos cryptsetup:


sudo aptitude install cryptsetup

Supongamos que tengo ya la swap instalada, en mi caso de ejemplo supondré que es /dev/sda3 la partición de swap que instalé en mi sistema.

Apaguemos la swap:

swapoff -a

Entonces editemos /etc/crypttab y al final agreguemos la siguiente línea:

swap /dev/sda3 /dev/urandom swap,cipher=blowfish,size=64

La anterior línea lo que hará es que cada vez que levante el ubuntu, se generará una clave aleatoria (tomada de urandom) para escribir hacia la swap.

Editamos ahora /etc/fstab , buscamos la línea que habla de la swap, la comentamos y agregamos la siguiente línea:

/dev/mapper/swap swap swap defaults 0 0

reralmente también se puede sustituir la primera columna (en vez de /dev/sda3 poner /dev/mapper/swap)

Ahora podemos reiniciar la máquina y al arrancar verificar que esté habilitado swap con el comando free -m, en mi caso tengo 486MB de swap:
total used free shared buffers cached
Mem: 1991 606 1384 0 22 276
-/+ buffers/cache: 307 1684
Swap: 486 0 486