How To: Encriptar la carpeta Home después de haber instalado Ubuntu, elementary OS y derivadas

 

Desde hace ya algunas versiones, Ubuntu ofrece la posibilidad de encriptar nuestro directorio Home pero ya sea por desconocimiento o por causa de algunos problemas conocidos (como el de la hibernación) muchos usuarios no se animan a realizar esta acción al momento de instalar este sistema operativo. Las razones principales para encriptar nuestra carpeta personal es el tratar de evitar que nuestros datos queden expuestos en caso de una posible perdida del equipo o que sean extraídos por medio de un LiveCD sin nuestro consentimiento.

Ampliando un poco el tema del famoso problema de la hibernación, esto se debe principalmente a que cada vez que inicia el sistema Ubuntu genera una frase contraseña aleatoria para encriptar/desencriptar la memoria SWAP, por lo que es de suponer que cuando se hiberna el equipo y posteriormente se inicia el sistema nuevamente ambas claves no coincidan, ocasionando la perdida total del contenido almacenado en ella (en un artículo próximo veremos como solucionar esta problemática por lo que es completamente viable implementar esta medida en nuestro equipo).

Preparación

Note

El siguiente procedimiento ha sido probado en elementary OS (el cual esta basado en Ubuntu 12.04 LTS) y en Ubuntu 13.04 con idénticos resultados.

Antes de comenzar debemos verificar que este procedimiento no se encuentre implementado ya, una forma sencilla de verificarlo es ver si se encuentra encriptada nuestra memoria SWAP (esto sería un indicativo de que también lo está la carpeta Home), para ello es necesario abrir una terminal y pegar lo siguiente:

  1. swapon --summary

Si se encuentra encriptada debería de aparecer algo similar a esto:

  1. Filename Type Size Used Priority
  2. /dev/mapper/cryptswap1 partition 19988440 -1

En caso contrario les aparecerá algo como lo siguiente:

  1. Filename Type Size Used Priority
  2. /dev/sda5 partition 19988440 -1

Una vez verificado lo anterior, continuamos con los siguientes pasos...

Respaldar la información

Sin duda alguna este procedimiento es bastante seguro de llevar a cabo pero como recomendación personal les pido que haga un respaldo completo de sus archivos, recuerden respaldar también las carpetas y archivos ocultos (archivos de configuración).

Implementación

Dependencias

Lo primero que haremos es instalar los paquetes necesarios:

  1. sudo apt-get install ecryptfs-utils cryptsetup

Procedimiento

El siguiente paso es crear un usuario temporal que cuente con permisos de administrador. En el caso de Ubuntu accedemos desde el dash a la opción Configuración del sistema ? Cuentas de usuario, en elementary OS se puede acceder a dicha opción desde Preferencias del sistema ? Cuentas de usuario, como se muestra a continuación:

Preferencias del sistema - Cuentas de usuarioPreferencias del sistema - Cuentas de usuarioCuentas de usuarioCuentas de usuarioCuentas de usuario - Agregar usuarioCuentas de usuario - Agregar usuarioCuentas de usuario - Crear cuenta nuevaCuentas de usuario - Crear cuenta nuevaCuentas de usuario - Activar cuentaCuentas de usuario - Activar cuentaCuentas de usuario - Establecer contraseñaCuentas de usuario - Establecer contraseña

Una vez realizado lo anterior, cerramos la sesión y accedemos nuevamente pero a través del nuevo usuario. A continuación abrimos una terminal y pegamos lo siguiente:

  1. sudo ecryptfs-migrate-home -u usuario

Reemplazando usuario con el nombre de nuestro usuario real (no confundir con el nombre del usuario temporal). Ingresa primero la contraseña del usuario temporal y posteriormente la contraseña de usuario real.

Llegando a este punto comenzará el respaldo de toda la carpeta Home, este proceso tardará dependiendo de la cantidad de información que se tengan almacenada:

ecryptfs - Backupecryptfs - Backup

Al finalizar este procedimiento aparecerá el siguiente mensaje:

ecryptfsecryptfs

Advertencia: Las siguientes acciones se deben de realizar con la máxima percusión posible y deben de seguirse al pie de la letra.

Como se puede apreciar en la imagen anterior, para finalizar el procedimiento es necesario realizar una serie de pasos:

  • Iniciar sesión con su usuario real antes de reiniciar el equipo.
  • Se ha generado una copia de respaldo de todo el directorio personal, puedes restaurar desde ahí los archivos y carpetas que se hayan perdido accidentalmente. La ruta y el nombre de la carpeta de respaldo parece en el contenido del mensaje (en este caso la carpeta se llama perseosblog.AaubRD5E).
  • En un paso posterior se generará una frase contraseña misma que servirá para poder acceder a su directorio personal en caso de que se presente un imprevisto o se desee recuperar su contenido, esta debe de guardarse en un lugar seguro.
  • Es necesario encriptar la partición SWAP.
Directorio de respaldoDirectorio de respaldo

Continuemos entonces, cierra la sesión actual e inicia sesión con tu usuario real. Una vez dentro y después de unos segundos debe aparecer una ventana pidiéndonos que generemos nuestra frase contraseña:

encryption-passphraseencryption-passphrase

Como se muestra en la imagen, es necesario dar clic en el botón Ejecutar esta acción ahora, esto abrirá una terminal solicitándoles su contraseña de usuario para posteriormente mostrar su frase de recuperación. En mi caso esto no me funcionó (se abrió y cerro la terminal inmediatamente ¬¬), por lo que tuve que hacer lo siguiente:

  1. ecryptfs-unwrap-passphrase

El comando anterior también puede usarse para recuperar dicha frase (en caso de extravío):

ecryptfs-unwrap-passphraseecryptfs-unwrap-passphrase

Encriptar la partición SWAP

La última parte de este procedimiento consiste en encriptar nuestra SWAP, para ello abrimos una terminal y pega lo siguiente:

  1. sudo ecryptfs-setup-swap

A continuación aparecerá una advertencia informándonos del ya conocido problema de hibernación, aceptamos y seguimos adelante:

ecryptfs-setup-swapecryptfs-setup-swap

Para concluir, reiniciamos el equipo y comprobamos que todo se encuentre en orden. Una vez comprobado esto podremos eliminar el usuario temporal y la carpeta de respaldo:

  1. sudo deluser --remove-home usuario
  2. sudo rm -rf /home/carpeta_de_respaldo

Ejemplo:

  1. sudo deluser --remove-home tmpuser
  2. sudo rm -rf /home/perseosblog.AaubRD5E

Fuente: perseosblog

 

¿Quién está en línea?

Hay 42300 invitados y ningún miembro en línea