Cifrando la partición home en cinco minutos con cryptsetup y libpam-mount

Fue terminar de instalar debian en un portátil, justo después de actualizar a testing y asegurarme que contaba con todos los programas que iba a necesitar cuando se me encendió el piloto de la coherencia: ya que es un portátil y va a contener datos sensibles (no especialmente sensibles pero sí de esos que no quieres que se lean), debería cifrar la partición de los usuarios, el directorio /home. Fue terminar y darme cuenta de que, en ocasiones, pararse a pensar ahorra un montón de trabajo.

Así que, ¿cómo puedo cifrar la partición de los usuarios sin reinstalar? Porque la opción fácil y bonita habría sido emplear LVM y el cifrado durante la instalación pero eso ya quedaba lejos y reinstalar no era una opción válida. La respuesta, tras buscar un poco por la red, se llama cryptsetup para soportar el cifrado y libpam-mount, ese viejo conocido, para montar la partición con el inicio de sesión del usuario.

Antes de nada, hay que instalar el programa y cargar los módulos correspondientes en el núcleo:

$ sudo aptitude install cryptsetup libpam-mount
$ sudo modprobe -a aes dm_mod dm_crypt sha256

A continuación actualizamos las librerías PAM para que utilice la nueva incorporación:

$ sudo pam-auth-update

A continuación, es el momento de preparar la partición home. Este portátil sólo lo va a utilizar un único usuario, por lo que la contraseña de cryptsetup y la del usuario serán las mismas para hacer el acceso a los datos transparente. Eso no es óbice, siento ser tan pesado, para usar una contraseña débil.

Ciframos la partición con cryptsetup, le cambiamos el nombre y creamos el sistema de ficheros:

$ sudo cryptsetup luksFormat /dev/sda9
$ sudo cryptsetup luksOpen /dev/sda9 homes
$ sudo mkfs.ext4 /dev/mapper/homes

Y. para terminar con la nueva partición cifrada, sólo queda pasar los datos del usuario. La opción de copiar los ficheros es mejor ejecutarla desde consola y como root:

# mount /dev/mapper/homes /mnt/
# cp -r /home/diego /mnt

Editamos el fichero que gestiona libpam-mount para añadir la partición:

$ sudo vi /etc/security/pam_mount.conf.xml

Hay que añadir esta línea entre las etiquetas Volume definitions:

<volume user="diego" fstyp="crypt" path="/dev/sda9" mountpoint="/home"></volume>

Y ya está listo. Al iniciar sesión con el usuario se montará la partición cifrada y se tendrá un acceso transparente a los ficheros.

Vía: disonancia mental.

9 ideas sobre “Cifrando la partición home en cinco minutos con cryptsetup y libpam-mount”

Los comentarios están cerrados.