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:

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

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:

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:

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

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.

 

Diego Martínez Castañeda

linux user, debian user, blogger, podcaster, geek, nerd y escritor sin ideas, nadador sin ganas y ciclista convencido. Asturiano en Mérida.

 

9 thoughts on “Cifrando la partición home en cinco minutos con cryptsetup y libpam-mount

  1. Con este mismo procedimiento lo tengo yo hecho en mi portátil. Caos es un crack, aprendí (y seguiré aprendiendo) mucho de él.

    A ver si me dan un respiro, que tengo mi entrada a punto de caramelo 🙂

  2. Hola! Como es el tema de la particioón sda9 esa? es la partición vacía?? O corresponde a la que está montada actualmente como /home?

  3. Hola Diego.

    Quería consultarte esto. Al ejecutar modprobe, me sale esto:

    user$: modprobe -a aes dm_mod dm_crypt sha256
    modprobe: ERROR: could not insert ‘aesni_intel’: No such device
    modprobe: ERROR: could not insert ‘padlock_aes’: No such device

    ¿Qué puede estar ocurriendo?

  4. Bueno la verdad me sirvió, muchas gracias! (fantan algunas explicaciones pero nada que buscando e informándose no se pueda saber)
    Muchos preguntan porque no les anda, es que esto fue echo para debian 6 (lo vi en otra web), para los sistemas debian más actuales (del 8 para adelante) hay que cambiar algunas cositas, les detallo:

    El servicio asd, no es necesario (no existe más):
    modprobe -a dm_mod dm_crypt sha256

    Cuando pasen la información (del disco “home antiguo”) al nuevo, cuidado con los permisos, no se olviden de dar (si es necesario como root)
    chmod 775 ./CARPETA_HOME_SU_USUARIO -R
    chown SU_USUARIO:SU_GRUPO ././CARPETA_HOME_SU_USUARIO -R

    Y por ultimo, no se puede poner en /home, le va a tirar error porque al cargar el sistema (aunque no lea cada capeta de usuario) lee el directorio y lo comprueba.
    Se requiere una partición encriptada por cada usuario (al menos así me funciono)

    Esto obviamente incide que en el momento de copiar sus archivos del “viejo home” a la nueva partición lo hagan en la raiz del directorio /mnt y no en /mnt/SU_USUARIO

    Espero ser claro (mejor tarde que nunca)… saludos!

Comments are closed.