En este artículo aprenderés Como Encriptar/Proteger Archivos y Carpetas utilizando el programa Ecryptfs en Ubuntu Linux 20.04.
Sobre EcryptFS
Enterprise Cryptographic Filesystem, más conocido, como Ecryptfs, es uno de los paquetes que nos permite encriptar y desencriptar archivos y carpetas por medio de la línea de comandos en un sistema Linux.
Fue creado originalmente por Michael Halcrow mientras estaba en el Centro de Tecnología IBM Linux, donde trabajó junto a Dustin Kirkland y Tyler Hicks. Mike Halcrow adaptó eCryptfs, con la versión de Cryptfs de Erez Zadok y lo fusionó con el kernel de Linux.
Además. eCryptfs se encuentra incluido en los repositorios oficiales de Ubuntu, por lo que podemos instalarlo fácilmente en esta distribución.
Como ENCRIPTAR Archivos y Carpetas con EcryptFS en Ubuntu 20.04
Paso 1
Para eso, nos dirigimos a la línea de comandos y colocamos
sudo apt install ecryptfs-utils
Colocamos la contraseña del usuario actual y esperamos a que finalice la instalación. Una vez finalizada podemos limpiar la terminal con el comando:
clear
Ahora, vamos a crear un directorio a modo de ejemplo y de esa manera utilizar EcryptFS para encriptar y desencriptar los archivos y carpetas que contenga.
Paso 2
Para eso vamos a listar los archivos de nuestro directorio actual. Nos vamos a la carpeta Documentos. Y con el comando mkdir seguido del nombre de la carpeta creamos el directorio.
mkdir <ubicacion/nombre del directorio>
Paso 3
Una vez hecho eso, vamos a colocar el siguiente comando:
sudo mount -t ecryptfs Gabriel-Coding/ Gabriel-Coding/
Esto le dice al kernel que adjunte o monte el sistema de archivos que se encuentra en el dispositivo, que es de tipo Ecryptfs.
La primera ruta corresponde al directorio inferior donde se encuentran los archivos encriptados y la segunda ruta es el punto de montaje de eCryptFS, es decir, donde se encuentran los archivos desencriptados.
Los permisos de root son necesarios para montar un sistema de archivos de forma predeterminada.
Tenga en cuenta que el directorio inferior y el punto de montaje tienen la misma ruta en este ejemplo. Estas rutas pueden ser diferentes, pero recomiendo hacerlo de esta manera para asegurarnos de que solo eCryptfs tenga acceso a los archivos.
Configuración de EcryptFS en Ubuntu 20.04 para Encriptar Archivos y Carpetas
Paso 1
Al ejecutar este comando nos pedirá colocar una clave que es la que utilizaremos para encriptar el directorio. Pueden escoger la que ustedes deseen.
Paso 2
Seleccionamos un tipo de cifrado, en este caso voy a escoger AES o Estándar de cifrado avanzado.
Paso 3
La magnitud de la clave de 16 bytes o 128 bits.
Paso 4
Al activar la opción Plaintext passthrough, permite que se usen archivos no cifrados dentro del montaje. Es decir que, si hay archivos en el directorio de origen que no están encriptados, podemos tener acceso a esos archivos desde el directorio de destino. Es por esa razón que deshabilité esta opción.
Paso 5
De la misma manera, cuando habilitamos la opción para “Encriptar los nombres de los ficheros”, esto permite que los nombres de los ficheros aparezcan como como una cadena de caracteres aleatoria. En este caso voy a dejar deshabilitada esta opción.
Una vez hecho esto, eCryptfs muestra una advertencia de que la contraseña que configuramos anteriormente no se ha utilizado antes y nos preguntara si queremos continuar con el montaje. Si estamos seguros de que la contraseña se escribió correctamente, colocamos que si.
Paso 6
Luego de eso, nos preguntará si queremos almacenar la firma de la clave en el archivo sig-cache.txt. Si lo almacenamos ya no nos hará todas estas preguntas de nuevo.
Pero, si escogemos almacenar esta firma en el archivo y después nos vuelven a aparecer las preguntas anteriores, esto es debido a que no hemos ingresado la clave correctamente. En este caso, voy escoger la opción que no por una cuestión de preferencia.
De esa manera, podrán ver que eCrypts fue configurado y montado correctamente. Para verificar esto, pueden ejecutar el siguiente comando.
sudo mount | grep <directorio>
Donde podrán ver que el directorio se encuentra montado y configurado con las opciones que colocamos anteriormente.
Ahora puede comenzar a colocar sus datos o la información confidencial en el directorio.
Recuerden que, mientras el directorio no esté montado, no se puede escribir nada en este directorio.
Ejemplo para ENCRIPTAR Archivos y Carpetas con EcryptFS
Paso 1
A modo de ejemplo, voy a crear un archivo de texto dentro del directorio cifrado. Para eso, voy a colocar el comando sudo nano y el nombre del archivo passwords.txt
sudo nano Gabriel-Coding/passwords.txt
Paso 2
Dentro del mismo, voy a escribir algunas líneas.
Paso 3
Guardamos el archivo, cerramos el editor.
Paso 4
Y con el comando cat, o concatenate, seguido de la ruta del archivo el sistema leerá los datos del archivo y los mostrará en pantalla.
cat Gabriel-Coding/passwords.txt
De esa manera podrán ver los datos del archivo, ya que el directorio se encuentra montado correctamente utilizando Ecryptfs.
Paso 5
Ahora, vamos a desmontar el directorio. Para eso utilizamos el comando, sudo umount, seguido del nombre del directorio que utilizamos anteriormente
sudo umount <directorio>
Paso 6
Una vez hecho esto, vamos a leer nuevamente los datos del archivo con el comando cat que utilizamos anteriormente, y como podrán ver, los datos del archivo se encuentran encriptados correctamente, con la configuración que establecimos anteriormente.
Paso 7
Para acceder nuevamente al directorio encriptado, tenemos que adjuntarlo o montarlo nuevamente con el comando que usamos anteriormente. Y en este caso, colocamos la clave que utilizamos la primera vez para este directorio. Junto con las mismas opciones que seleccionamos para configurar el mismo.
Paso 8
Una vez que se encuentre montado nuevamente, vamos a poder acceder a los archivos o la información que contenga.
Recuerden que también pueden verificar esto no solo desde la línea comandos, sino también desde la Interfáz Gráfica de Usuario o GUI.
De esa manera y siguiendo cada uno de estos pasos podrán encriptar y desencriptar directorios utilizando Ecryptfs en Ubuntu Linux