Cómo cifrar archivos y directorios en sistemas Linux
Tenemos dos métodos principales para cifrar archivos y directorios. Uno es el cifrado a nivel de sistema de archivos, donde puede cifrar selectivamente ciertos archivos o directorios (por ejemplo, /home/alice). Para mí, este es un enfoque muy bueno y no es necesario reinstalar todo para habilitar o probar el cifrado. Sin embargo, el cifrado a nivel del sistema de archivos también tiene algunas desventajas. Por ejemplo, muchas aplicaciones modernas almacenan en caché (parte de) archivos en partes no cifradas del disco duro (como la partición de intercambio y las carpetas /tmp y /var), lo que puede provocar fugas de privacidad.
Otro método se llama cifrado de disco completo, que cifra todo el disco (excepto quizás el registro de arranque maestro). El cifrado completo del disco funciona a nivel del disco físico, cada bit escrito en el disco se cifra y todo lo que se lee desde el disco se descifra sobre la marcha. Esto evitará cualquier posible acceso no autorizado a datos no cifrados y garantizará que todo el sistema de archivos esté cifrado, incluida la partición de intercambio o cualquier dato almacenado en caché temporal.
Herramientas de cifrado disponibles
Para implementar el cifrado en Linux, existen varias herramientas disponibles. En este tutorial, presentaré uno de ellos: la herramienta de cifrado del sistema de archivos del espacio de usuario eCryptFS. A continuación se proporciona un resumen de las herramientas de cifrado disponibles en Linux para su referencia.
Cifrado a nivel de sistema de archivos
EncFS: una de las formas más sencillas de probar el cifrado. EncFS se ejecuta en un pseudosistema de archivos basado en FUSE, por lo que simplemente puede crear una carpeta cifrada y montarla en la carpeta para ejecutar.
eCryptFS: sistema de archivos cifrados compatible con POSIX. eCryptFS funciona igual que EncFS, por lo que debes montarlo.
Cifrado a nivel de disco
Loop-AES: El método de cifrado de disco más antiguo. Es muy rápido y funciona en sistemas más antiguos (como la rama del kernel 2.0).
DMCrypt: El esquema de cifrado de disco más común, compatible con los kernels de Linux modernos.
CipherShed: Bifurcación de código abierto del descontinuado programa de cifrado de discos TrueCrypt.
Conceptos básicos de eCryptFS
eCrypFS es un sistema de archivos cifrados de espacio de usuario basado en FUSE disponible en el kernel de Linux 2.6.19 y posterior (como el módulo encryptfs). eCryptFS funciona bien en la familia de sistemas de archivos EXT y otros sistemas de archivos como JFS, XFS, ReiserFS, Btrfs e incluso sistemas de archivos que admiten NFS/CIFS***. eCryptFS utiliza el algoritmo AES de forma predeterminada, pero también admite otros algoritmos como Blowfish, des3, cast5 y cast6. Si está creando una configuración de eCryptFS manualmente, puede elegir uno de estos algoritmos.
Como decía, Ubuntu nos permite elegir si queremos cifrar el directorio /home durante la instalación. Esta es una de las formas más sencillas de utilizar eCryptFS.
Ubuntu proporciona un conjunto de herramientas fácil de usar que nos permite usar eCryptFS más fácilmente, pero habilitar eCryptFS durante el proceso de instalación de Ubuntu solo crea una configuración preconfigurada específica. Por lo tanto, si la configuración predeterminada no se adapta a sus necesidades, deberá configurarla manualmente. En este tutorial, cubriré cómo configurar manualmente eCryptFS en las principales distribuciones de Linux.
Instalación de eCryptFS
Debian, Ubuntu o sus derivados:
El código es el siguiente:
$ sudo apt-get install ecryptfs- utils
Tenga en cuenta que si elige cifrar su directorio de inicio durante la instalación de Ubuntu, eCryptFS ya debería estar instalado.
CentOS, RHEL o Fedora:
El código es el siguiente:
#yum install ecryptfs-utils
Arch Linux:
El código es el siguiente:
$ sudo pacman -S ecryptfs- utils
Sin duda, es una buena práctica cargar el módulo del kernel de eCryptFS después de instalar el software. paquete:
El código es el siguiente:
$ sudo modprobe ecryptfs
Configurar eCryptFS
Ahora ejecutemos la herramienta de configuración de eCryptFS y comienza a cifrar algunos directorios:
El código es el siguiente:
$ ecryptfs-setup-private
Te pedirá la contraseña de inicio de sesión y el montaje contraseña. La contraseña de inicio de sesión es la misma que la contraseña de inicio de sesión normal y la contraseña de montaje se utiliza para generar la clave maestra de cifrado de archivos. Dejar este espacio en blanco le permitirá generar una contraseña (compleja), que es más segura. Cierra sesión y vuelve a iniciar sesión.
Descubrirá que eCryptFS creará dos directorios en su directorio de inicio de forma predeterminada: Privado y .Privado. El directorio ~/.Private contiene datos cifrados y puede acceder a los datos descifrados correspondientes en el directorio ~/Private. Cuando inicia sesión, el directorio ~/.Private se descifra automáticamente y se asigna al directorio ~/Private para que pueda acceder a él. Cuando cierra sesión, el directorio ~/Private se desmonta automáticamente y el contenido del directorio ~/Private se vuelve a cifrar en el directorio ~/.Private.
¿Cómo sabe eCryptFS que usted tiene el directorio ~/.Private y lo descifra automáticamente al directorio ~/Private sin pedirnos una contraseña? Aquí es donde el módulo PAM de eCryptFS nos brinda este conveniente servicio.
Si no desea que el directorio ~/Private se monte automáticamente al iniciar sesión, simplemente ejecute la utilidad eCryptFS-setup-private y use la opción "--noautomount". De manera similar, si no desea que el directorio ~/Private se desmonte automáticamente después de cerrar sesión, también puede usar la opción "--noautoumount" para montarlo automáticamente. Sin embargo, debe montar o desmontar manualmente el directorio ~/Private usted mismo:
[/code]$ ecryptfs-mount-private ~/.Private ~/Private
$ ecryptfs- umount-private ~/Private
Puedes verificar esto ejecutando el siguiente comando.
El código es el siguiente:
$ mount
Ahora podemos comenzar a colocar cualquier archivo confidencial en la carpeta ~/Private y se cifrarán automáticamente al cerrar sesión y se bloquearán en el archivo ~/.Private.
Todo esto tiene una pinta increíble. Principalmente, la utilidad ecryptfs-setup-private hace que configurar todo sea muy fácil. Si desea profundizar y configurar aspectos específicos de eCryptFS, consulte la documentación oficial.
Conclusión
Considerándolo todo, si se toma en serio su privacidad, es mejor combinar el cifrado a nivel de sistema de archivos basado en eCryptFS con el cifrado de disco completo. Tenga en cuenta que el simple hecho de cifrar sus archivos no garantiza que su privacidad no se vea comprometida.