Hace un tiempo hice un caso para la mayoría de los usuarios El cifrado a nivel de archivo es lo suficientemente seguro Y mayor rendimiento que el cifrado de disco completo. He recibido mucha menos resistencia de la esperada por expresar este punto de vista herético; quiero decir, en realidad no estoy recibiendo ninguna resistencia. Muy por el contrario, algunos lectores enviaron mensajes y comentarios expresando curiosidad y entusiasmo por probar el cifrado a nivel de archivos.
Es una sorpresa. No estoy seguro de cuántas personas quieren poner en práctica el cifrado a nivel de archivos, me imagino que aquellos que lo hagan tomarán una forma menos laboriosa de instalar una distribución como Linux Mint, que ofrece una verificación en el marco del menú.
Es por eso que he dejado mis argumentos casi por completo en el ámbito teórico. Estoy más interesado en desafiar un modelo aceptado con una alternativa subrepresentada. Un enfoque teórico del ejercicio, dejando la implementación a aquellos lo suficientemente valientes como para poner la teoría en práctica. Después de todo, Linux se trata de hacer lo que quieras, y no le voy a decir a nadie lo que podría ser.
Sin embargo, ahora que he observado interés en configurar el cifrado a nivel de archivo, me gustaría contribuir con este artículo como demostración de un enfoque ampliamente utilizado por los usuarios de escritorio de Linux. Configuro mi configuración de cifrado a nivel de archivo a través del instalador de GUI de mi distribución, pero no todos tienen esta opción. Entonces, para proporcionar un esquema de encriptación similar a tantos usuarios como sea posible, lo guiaré a través de cómo crear un sistema de archivos encriptado con fscrypt.
Tenga en cuenta que esto implica modificar la línea de comando e instalar el sistema operativo parcial o completamente de forma manual. Si eso no le atrae, es posible que desee pasar esto. Afortunadamente, puede aplicar soluciones gráficas después de la instalación del sistema.
Libera tu fuerza interior
Entonces, ¿qué es fscrypt?
Fscrypt es una herramienta que proporciona una interfaz de línea de comandos simple para configurar el cifrado integrado en los sistemas de archivos de extensión 4 (más comúnmente «ext4»). No es un algoritmo de cifrado per se, sino un intermediario entre el usuario y el cifrado nativo ext4. La intención detrás de fscrypt es descifrar el conjuro de cifrado ext4, que de otro modo sería arcano, en algo que Linux de nivel medio pueda entender.
Aunque simple, fscrypt ofrece varios modos de configuración. Primero, puede encriptar cualquier directorio, protegiendo todos los archivos y subdirectorios dentro de él.Cuando está bloqueado, esta protección enmascara los nombres de archivo y los datos de todo su contenido.
En segundo lugar, y más atractivo para aquellos que buscan una seguridad discreta, los usuarios pueden configurar el descifrado para que se realice automáticamente después de ingresar la contraseña del usuario. La operación de inicio de sesión en sí misma realiza el descifrado, en lugar de obtener una segunda solicitud de descifrado por separado al mismo tiempo que la solicitud de inicio de sesión.
¡Enciende tu terminal!
El plan de juego básico aquí es bastante simple. Primero, habilite el cifrado en el sistema de archivos ext4 deseado. En segundo lugar, instale fscrypt. En tercer lugar, edita el archivo de configuración de PAM para vincular el proceso de descifrado a la contraseña de su cuenta de usuario.
Una nota rápida sobre PAM: hace cumplir los principios de acceso a la cuenta de Unix en su sistema Linux. Sus responsabilidades incluyen separar a los usuarios de la cuenta raíz y dar a cada cuenta sus privilegios. Finalmente, habilite fscrypt en el sistema de archivos.
Antes de continuar, hay algunas advertencias que debo tener en cuenta.
Primero, los siguientes pasos se realizaron en Arch Linux por dos razones. Uno, la documentación para fscrypt que busqué era de Arch Wiki, por lo que, naturalmente, se ejecutarían sin problemas en Arch Linux. La información en Arch Wiki a menudo es perfectamente aplicable a otras distribuciones, pero no siempre encaja perfectamente. En segundo lugar, la instalación de Arch Linux comienza desde cero. Dado que los usuarios realizan cada paso manualmente, pueden detenerse fácilmente e insertar comandos adicionales entre pasos, según lo requiera la configuración de fscrypt.
No todos los instaladores de GUI Linux le permiten pausar el proceso de personalización de su nuevo sistema operativo, pero solo devuelven el control cuando está completamente completo. Por ejemplo, fscrypt solo funciona con directorios de usuario vacíos, y los instaladores de GUI de la mayoría de las distribuciones llenan automáticamente estos directorios durante la instalación (por ejemplo, con algo como «Documentos»).
Además, como se mencionó, realizo el cifrado durante la instalación. Por lo tanto, esta guía no se aplicará por completo al instalar con fscrypt habilitado. Hay algunas maneras de hacer esto, pero son más engorrosas. Entonces, si está leyendo esta guía, lo animo a seguir su ejemplo y configurar fscrypt durante la instalación.
No importa qué distribución elegiría para demostrar fscrypt, siempre funcionará de manera diferente a lo que usan los demás. Teniendo en cuenta que una instalación de Arch Linux se parece más o menos a la distribución preferida de cada usuario, tendrá que cambiar entre las dos.
Si está utilizando una distribución de bricolaje como Arch Linux o Debian, podrá ejecutar todo en el enlace correcto de la cadena. Sé que los instaladores gráficos para Ubuntu y Linux Mint le permiten realizar algunos pasos manuales en el punto de elección, pero no puedo hablar por la mayoría de las distribuciones. Asegúrate de conocer su distribución y qué instalaciones intermedias permite.
Finalmente, este tutorial solo le mostrará cómo cifrar el directorio de inicio de una cuenta de usuario sin privilegios. Elegí esto porque se alinea con lo que defiendo en el espaciado de cifrado a nivel de archivo. No debería llevar mucho modificar el proceso para cifrar otro directorio, pero tenga en cuenta los objetivos aquí.
Una nota sobre mi notación: cualquier cursiva azul Parte del comando dice que el texto seleccionado no es literal, debe proporcionar el texto apropiado para su caso.
Con eso fuera del camino, comencemos.
Después de particionar la unidad y crear el sistema de archivos ext4, deberá habilitar el cifrado nativo de ext4. Sin embargo, antes de hacerlo, verifique que el tamaño de bloque del sistema de archivos esté configurado correctamente con el siguiente comando.
# tune2fs -l segmentación | grep ‘tamaño de bloque’ # getconf PAGE_SIZE
Si las salidas coinciden, todo está bien. A continuación, simplemente ejecute el siguiente comando para activar realmente el cifrado.
# tune2fs -O cifrado segmentación
En este punto, el sistema base se instala normalmente para crear un sistema de arranque, pero sin administrador de ventanas ni entorno de escritorio, y solo una cuenta raíz (es decir, sin cuentas de usuario sin privilegios).
Una vez hecho esto, inicie el sistema e instale fscrypt. Este debería ser el paso más fácil ya que solo lo instala desde el administrador de paquetes.Debería poder encontrarlo en los repositorios predeterminados de su distribución, pero si no, puede obtenerlo de recursoAfortunadamente, no tengo que hacerlo.
Ahora comencemos a configurar fscrypt. Ejecute el siguiente comando para comenzar.
# configuración de fscrypt
Esto creará el archivo de configuración /etc/fscrypt.conf y el directorio /.fscrypt.
También necesita ejecutar esto si su sistema de archivos no está montado en la raíz, como /home en su propia partición.
# configuración de fscrypt punto de montaje
Esto creará un directorio .fscrypt en ese punto de montaje.
A continuación, debe configurar PAM para manejar el módulo fscrypt, por lo que su contraseña de inicio de sesión descifrará automáticamente su sistema de archivos cifrado. Los archivos PAM son quisquillosos, así que tenga mucho cuidado de seguir estos pasos al pie de la letra. Debe agregar las líneas correctas a los archivos correctos en el orden correcto.
En el archivo /etc/pam.d/system-login, agregue lo siguiente al final de la sección «auth».
autenticación opcional pam_fscrypt.so
En el mismo archivo, al final de la sección Sesiones, agregue esta línea.
sesión opcional pam_fscrypt.so drop_caches lock_policies
Luego, en el archivo /etc/pam.d/passwd, agregue lo siguiente al final del archivo.
Contraseña opcional pam_fscrypt.so
Después de realizar todo el trabajo de preparación real, finalmente puede crear la cuenta de usuario de destino y cifrar su directorio de inicio (es decir, el directorio en el directorio /home lleva el nombre y pertenece a su cuenta de usuario).
Navegue hasta el directorio /home y cree un directorio vacío para el usuario de destino.
#mkdir nombre de usuario
Esto debe coincidir con el nombre que desea dar a la cuenta de usuario. Hablando de eso, use el siguiente comando para crear un usuario para el directorio que acaba de crear.
# usuario agregar nombre de usuario -d /casa/nombre de usuario
Sin embargo, su cuenta de usuario aún no está lista. Deberá establecer una contraseña para este usuario, ya que está en blanco de forma predeterminada y fscrypt le pedirá que complete el enlace entre la contraseña de inicio de sesión y la contraseña de descifrado.
#clave nombre de usuario
También deberá otorgarle a su nueva cuenta de usuario la propiedad de su directorio, ya que actualmente pertenece a la cuenta raíz que lo creó.
#chown nombre de usuario:grupo de usuario /Familia/nombre de usuario
Mientras esté aquí, también puede verificar que el directorio del nuevo usuario no coloque ningún archivo o directorio; la forma de fscrypt debe ser explícita.
Ahora puede cifrar su directorio de usuario, lo que puede hacer con este comando.
# fscrypt encripta /home/nombre de usuario –usuario=nombre de usuario
Esto abrirá un cuadro de diálogo de configuración. Cuando se le solicite el tipo de protector, seleccione la opción para usar una contraseña de inicio de sesión. Cuando finalice el mensaje, verifique el estado del directorio encriptado ejecutando el siguiente comando para asegurarse de que PAM esté conectado correctamente.
# estado fscrypt /inicio/nombre de usuario
Si el estado «Desbloqueado» dice «Sí», entonces está limpio. Si no, entonces algo anda mal.
Después de hacer todo esto, debería poder cerrar la sesión de la cuenta raíz y acceder a un nuevo usuario sin ningún problema. En su próximo arranque, no recibirá un aviso de descifrado hasta que la cuenta haya iniciado sesión porque el cifrado no se aplica a nivel de partición, sino a nivel de archivo. Sus inicios de sesión de usuario no se ven ni se sienten diferentes a si sus archivos no estuvieran cifrados. Pero son.
¡Felicidades! Ahora está disfrutando de una experiencia informática de alto rendimiento con una protección de cifrado moderna e impecable.