Tutorial de fscrypt para cifrar archivos
Conocimientos previos necesarios:
- Instalación de Linux.
- Uso habitual de línea de comandos en Linux (incluyendo entre otros manejo de propietarios y permisos).
- Instalación y desinstalación de paquetes.
- Montaje de sistemas de archivos.
El sistema ext4 proporciona cifrado de bloques de datos y nombres de archivos. Veremos a continuación de algunas reglas generales para cifrar el directorio /home de un usuario.
En el ejemplo en cuestión estoy usando Debian Buster (te recomiendo primero instalarla en una máquina virtual para hacer pruebas), de modo que los pasos a seguir pueden ser un poco diferentes en otras distribuciones, pero los principios generales se mantienen.
¡Manos a la obra!
Los comandos precedidos por
sudo
indican que necesitan privilegios de root. Si querés usar sudo, sencillamente ejecutá como root:
usermod -aG sudo sergio
Obviamente aquí y en cada caso reemplazalo con tu usuario común.
Preparación del sistema de archivos
Algo que tendremos que hacer es habilitar la funcionalidad de cifrado, suponiendo que la partición de cifrado es /dev/sda1, haríamos:
sudo tune2fs -O encrypt /dev/sda1
Descarga y compilación
sudo apt update && sudo apt build-dep fscrypt
do apt -y install git && go get -d github.com/google/fscrypt/...
cd go/src/github.com/google/fscrypt/
make && sudo make install PREFIX=/usr
Configuración
Tenemos que actualizar la configuración de PAM, que servirán para desbloquear directorios al loguearse, bloquear al desloguearse, y cambiar contraseñas de acceso a los recursos cifrados.
sudo pam-auth-update
Para configurar globalmente:
sudo fscrypt setup
No se puede cifrar un directorio que ya tiene contenido, de manera que hay que crear un nuevo directorio, y luego migrar el contenido del directorio del usuario:
sudo mkdir /home/sergio_temp && sudo chown sergio.sergio /home/sergio_temp
fscrypt encrypt /home/sergio_temp
Allí podríamos elegir entre la contraseña del usuario, una passphrase o bien un archivo con clave 256-bit. En nuestro elegimos la primera opción, siempre teniendo en cuenta lo importante que es contar con una buena contraseña.
Luego chequeamos que esté todo en orden:
fscrypt status /home/sergio_temp
Ahora sí, migramos el contenido:
cp -av -T /home/sergio /home/sergio_temp
Bloqueamos el contenido del directorio
sudo fscrypt lock /home/sergio_temp --user=/home/sergio_temp
Probamos desbloquear
fscrypt unlock /home/sergio_temp
Si funciona podemos reemplazarlo por el nuevo directorio:
sudo su -
mv /home/sergio{,_para-borrar}
mv /home/sergio{_temp,}
Luego al reiniciar podemos probar:
reboot
¿Cómo se ven los archivos cifrados?
Comentarios
Comments powered by Disqus