Cifrar la carpeta de usuario en Ubuntu 18.04 LTS

Publicado por P. Ruiz en

Uno puede pensar que, usando una contraseña segura en nuestra cuenta de Ubuntu, estaremos evitando que otra persona acceda a los datos que tenemos guardados en el ordenador. Sin embargo, nada impide que alguien arranque el ordenador con un medio externo, por ejemplo un LiveCD o una memoria USB, y eluda el control del sistema operativo para acceder a los datos de nuestra cuenta.

Esta situación es particularmente delicada cuando hablamos de un ordenador portátil, que puede perderse o sustraerse, e implicar que la información que contiene nuestro disco quede en manos de desconocidos.

En versiones anteriores de Ubuntu, podíamos cifrar, durante el proceso de instalación, la carpeta donde se guardan los archivos de la cuenta principal del sistema. Sin embargo, esta opción no está disponible en las versiones más recientes.

De cualquier modo, hoy te enseñaremos a cifrar el contenido de la carpeta del perfil, para cualquier cuenta de usuario. Y lo podrás hacer justo después de instalar el sistema operativo, o en cualquier momento futuro.

Aunque, si vas a seguir nuestro artículo, necesitarás cumplir con dos requisitos:

  • Disponer de un espacio equivalente a dos veces y media el que está ocupando actualmente la carpeta que quieres cifrar. Si no hay espacio suficiente, recibirás un error durante el proceso.

  • Trabajar con una cuenta de usuario diferente a la propietaria de la carpeta a cifrar. El motivo de esta segunda condición es que no podemos cifrar datos que estén siendo usados en ese momento por el sistema.

Con la primera condición no podremos ayudarte, porque dependerá del tamaño de tu disco y del volumen de información a procesar. Sin embargo, con la segunda opción ya lo hemos hecho, porque hace un tiempo te explicamos cómo Habilitar la cuenta de root en Ubuntu 18.04 LTS e iniciar sesión gráfica.

De hecho, antes de continuar, será preciso que hayas seguido las indicaciones de ese artículo para que la cuenta root esté disponible en tu sistema. Después de eso, llevaremos a cabo la tarea, que dividiremos en las siguientes etapas:

  • Instalar los componentes necesarios.

  • Cifrar la carpeta del usuario.

  • Cifrar el área de intercambio.

  • Eliminar los datos temporales.

Visto así, puedes pensar que intimida un poco, pero verás que todos los pasos son muy sencillos.

Instalar los componentes necesarios

Para comenzar, arrancamos el ordenador y, una vez nos encontremos en la pantalla de autenticación, en lugar de escribir la contraseña, pulsamos la combinación de teclas Alt + Ctrl + F3.

En la pantalla de autenticación pulsamos Alt + Ctrl + F3.

Cifrar-la-carpeta-de-usuario-en-Ubuntu-18-04-LTS-001

Para volver a la consola gráfica sólo tenemos que usar la combinación de tecla Alt +Ctrl + F2.

Al hacerlo, veremos que la interfaz gráfica desaparece y nos encontramos únicamente en una consola de texto.

A continuación, iniciaremos sesión con la cuenta root. Ten en cuenta que esto sólo funcionará si antes hemos seguido el artículo que mencionábamos más arriba para habilitar la cuenta del administrador.

Escribimos el nombre del usuario (root) y la contraseña que le hayamos asignado.

Cifrar-la-carpeta-de-usuario-en-Ubuntu-18-04-LTS-002

No hace falta incluir sudo porque ya estamos ejecutando las ordenes como root.

Una vez iniciada la sesión, debemos asegurarnos de que se encuentran instaladas las utilidades de cifrado que, según la versión del sistema, pueden no haberse incluido durante la instalación del sistema, si no fueron necesarias.

Para comprobarlo, comenzamos por actualizar la base de datos de paquetes del sistema, ejecutando la siguiente orden:

apt update

Escribimos la orden y pulsamos la tecla Intro.

Cifrar-la-carpeta-de-usuario-en-Ubuntu-18-04-LTS-003

Cuando finalice la actualización, estaremos listos para instalar las herramientas de cifrado. De este modo, si aún no están instaladas, se procederá a instalarlas. Y si lo están, el sistema nos informará de ello.

Para lograrlo, solo tenemos que escribir la siguiente orden:

sudo apt install ecryptfs-utils cryptsetup

De nuevo, escribimos la orden y pulsamos la tecla Intro.

Cifrar-la-carpeta-de-usuario-en-Ubuntu-18-04-LTS-004

Si es preciso realizar la instalación, el sistema mostrará la lista de paquetes que habrá que incluir para completar la instalación (imprescindibles, sugeridos y actualizados).

En nuestro caso, el sistema nos informa de que los paquetes ya se encuentran en su versión más reciente.

Cifrar-la-carpeta-de-usuario-en-Ubuntu-18-04-LTS-005

Si, en el paso anterior, se ha producido la instalación de paquetes, será necesario reiniciar antes de comenzar la tarea. Para lograrlo, sólo tenemos que escribir la siguiente orden:

reboot

… Y pulsar la tecla Intro.

Cifrar-la-carpeta-de-usuario-en-Ubuntu-18-04-LTS-006

Cifrar la carpeta del usuario

Como antes, al completar el reinicio nos encontraremos en la pantalla de autenticación. En ella, volveremos a pulsar la combinación de teclas Alt + Ctrl + F3 y, en la consola de texto, iniciaremos sesión con la cuenta root.

A continuación, comenzaremos la transformación de la carpeta escribiendo la siguiente orden:

ecryptfs-migrate-home -u usuario

Lógicamente, deberás cambiar la palabra usuario por el nombre de la cuenta a la que pertenece la carpeta que vamos a cifrar.

Escribimos la orden y pulsamos la tecla Intro.

Cifrar-la-carpeta-de-usuario-en-Ubuntu-18-04-LTS-007

Después de esto, el comando analizará el espacio ocupado por la carpeta que vamos a cifrar y el espacio libre en el disco (recuerda lo que dijimos al principio: se necesitan libres unas dos veces y media el tamaño de la carpeta).

También comprueba que, de los archivos contenidos en la carpeta, no se encuentre ninguno en uso en estos momentos.

Si todo es correcto, nos solicita la contraseña de la cuenta propietaria de la carpeta (en nuestro ejemplo usuario).

La escribimos y pulsamos la tecla Intro.

Cifrar-la-carpeta-de-usuario-en-Ubuntu-18-04-LTS-008

A partir de aquí, comienzan a aplicarse los cambios. Como cabe esperar, el tiempo que tarde estará en función de la cantidad y el tamaño de los archivos que haya en la carpeta y de la velocidad del ordenador que estamos empleando.

Si todo va bien, al final aparecen una serie de notas que debemos tener muy en cuenta (ver imagen siguiente):

  1. Que debemos iniciar sesión con la cuenta del usuario propietario de la carpeta de manera inmediata y, en cualquier caso, antes del próximo reinicio.

  2. Que, si toda la información se encuentra donde esperábamos, debemos borrar el archivo /home/usuario.5f5E7lUo (el nombre cambiará en función de tus datos particulares). Si algo ha ido mal, debemos restaurar el archivo /home/usuario.5f5E7lUo como /home/usuario.

  3. Que debemos ejecutar la orden

    ecryptfs-unwrap-passphrase

    y guardar cuanto antes la clave de montaje generada aleatoriamente.

  4. Por último, nos recomienda que cifremos también la partición de intercambio de la memoria virtual ( swap). Sin embargo, en nuestra instalación hemos seguido la recomendación de Canonical y usamos un archivo de paginación, por lo que podremos saltarnos este paso.

Leemos las notas de instalación.

Cifrar-la-carpeta-de-usuario-en-Ubuntu-18-04-LTS-009

Para iniciar sesión con la cuenta de usuario (punto 1 de la lista anterior), volveremos al entorno gráfico, para lo que únicamente debemos pulsar la combinación de tecla Alt +Ctrl + F2. ¡Bajo ningún concepto debemos reiniciar el equipo!

Escribimos la contraseña y pulsamos la tecla Intro.

Cifrar-la-carpeta-de-usuario-en-Ubuntu-18-04-LTS-010

Cuando se inicie la sesión, parecerá que no sucede nada. Sólo tenemos que esperar unos instantes hasta que aparezca una ventana similar a la que muestra la imagen siguiente.

En ella, el sistema nos explica que, en condiciones normales, para acceder a la carpeta bastará con la contraseña del usuario, pero, si en algún momento necesitamos realizar una recuperación manual (por ejemplo si necesitamos arrancar desde un LiveCD) necesitaremos la contraseña segura que se ha generado de forma automáticamente.

Aquí podemos hacer dos cosas:

  1. Cerrar la ventana (botón Cerrar) y consultar la contraseña segura más adelante, como ya vimos más arriba, en el paso 3. Para lo que deberemos usar el siguiente comando:

  2. ecryptfs-unwrap-passphrase
  3. Hacer clic sobre el botón Ejecutar esta acción ahora y consultarla en este momento.

Aquí optaremos por lo segundo.

Hacemos clic sobre Ejecutar esta acción ahora.

Cifrar-la-carpeta-de-usuario-en-Ubuntu-18-04-LTS-011

Al hacerlo, aparecerá una ventana de terminal donde nos solicita una frase de paso (Passphrase). Se refiere a la contraseña del usuario con el que estamos trabajando.

La escribimos y pulsamos la tecla Intro.

Cifrar-la-carpeta-de-usuario-en-Ubuntu-18-04-LTS-012

El sistema nos responde con una clave de cifrado. Debemos copiarla y ponerla en un lugar seguro.

Si en el futuro no puedes arrancar el sistema operativo, esta contraseña de cifrado puede ser la única forma de acceder a tus datos.

Por otra parte, si la contraseña cae en manos de otra persona, ésta podría acceder a tus datos cifrados sin problemas.

Por lo tanto, te recomiendo que la trates con cautela.

Cuando estemos listos, pulsamos la tecla Intro.

Cifrar-la-carpeta-de-usuario-en-Ubuntu-18-04-LTS-013

Eliminar los datos temporales

Después de reiniciar el sistema y comprobar que todo sigue funcionando satisfactoriamente, debemos realizar un poco de limpieza.

Para comenzar, por motivos de seguridad, en el directorio /home se ha mantenido una copia de los datos originales, sin cifrar, para que podamos recuperarlos en caso de necesidad. La carpeta tendrá el nombre de tu cuenta de usuario seguido de un punto y 8 caracteres aleatorios (en mi caso, usuario.5f5E7lUo).

Aquí vemos la carpeta con la información cifrada (usuario) y la carpeta con la información sin cifrar (usuario.5f5E7lUo).

Cifrar-la-carpeta-de-usuario-en-Ubuntu-18-04-LTS-014

Lógicamente, el siguiente paso será eliminar la carpeta con los datos sin cifrar, para evitar que sigan estando accesibles. Para lograrlo, podemos volver a abrir una ventana de terminal y ejecutar el siguiente comando:

sudo rm -rf /home/usuario.5f5E7lUo

Como es lógico, tendrás que cambiar el nombre de la carpeta por el que aparezca en tu sistema.

De nuevo, el sistema nos pide la contraseña de administración antes de ejecutarlo.

Cifrar-la-carpeta-de-usuario-en-Ubuntu-18-04-LTS-015

Inmediatamente después, la carpeta sin cifrar quedará definitivamente eliminada.

Cifrar-la-carpeta-de-usuario-en-Ubuntu-18-04-LTS-016

Como último detalle a tener en cuenta, deberíamos volver a deshabilitar la cuenta de root, tal y como indicábamos en el artículo Habilitar la cuenta de root en Ubuntu 18.04 LTS e iniciar sesión gráfica.

Comprobación final

Si quieres realizar una última comprobación, puedes arrancar el equipo con el disco de instalación de Ubuntu y tratar de acceder a la carpeta personal del usuario.

Cuando mostramos el contenido de la carpeta /home, vemos que que la carpeta indica que su contenido no está disponible.

Cifrar-la-carpeta-de-usuario-en-Ubuntu-18-04-LTS-017

Y si entramos en la carpeta, no encontramos su contenido…

Cifrar-la-carpeta-de-usuario-en-Ubuntu-18-04-LTS-018

Incluso recibimos un error cuando tratamos de abrir alguno de los archivos anteriores…

Definitivamente, los datos no están disponibles…

Cifrar-la-carpeta-de-usuario-en-Ubuntu-18-04-LTS-019

… Y hasta aquí el artículo de hoy. Espero que te resulte útil.