EncFS, como se puede deducir del nombre, es el EncryptedFileSystem, una utilidad que nos permitirá crear y utilizar directorios encriptados.
He visto que lo habían tratado en varios sitios, como los artículos de los que me he nutrido para hacer éste mini-howto: éste de Kriptópolis y éste otro del blog de Rodolfo Pilas, dos sitios que me han venido muy bien. El de kriptópolis me hizo romperme un poco la cabeza porque como está hecho basándose en Arch Linux me supongo que lo probaron todo como root y no tenía el jaleo de permisos que tiene Ubuntu. El de Rodolfo Pilas creo que ésta hecho sobre Ubuntu (una Dapper creo) pero había ciertos problemillas que tuve yo y que él no comenta, así que me he dedicidido a hacer éste mini-tutorial basado en Ubuntu Feisty Fawn para todos aquellos que necesiten algo parecido y además he añadido una aplicación que hace mucho más cómodo es uso diario de EncFS desde gnome.
Empecemos con el tema:
1.- Instalación.
Igual que cualquier otro paquete ya que lo tenemos en los repositorios:
sudo aptitude install encfs
2.- Creación de directorios.
Yo lo he organizado todo un poco dentro de un subdirectorio en mi carpeta home, de forma que hecho un direcotiro oculto llamado «.sensible» y dentro de él otros dos «encrypted» y «.clear» de forma que en el primero se guardarán los datos encriptados y en el segundo será en el que se monten los datos encriptados, en claro, para poder trabajar con ellos. Supongo que todos controláis el mkdir así que no os pondré los comandos necesarios 😛
3.- El módulo del kernel.
El kernel de Ubuntu (al menos el de Feisty Fawn y creo que el anterior también) ya traen el módulo fuse, necesario para que funcione EncFS, listo para montarlo, así que lo cargamos así:
modprobe fuse
Si queremos comprobar que se ha cargado correctamente deberíamos poder verlo con el siguiente comando:
lsmod | grep fuse
4.- Permisos de nuestro usuario.
Aquí tuve un pequeño dolor de cabeza. Es necesario para poder montar los datos encriptados que nuestro usuario pertenezca al grupo de usuarios fuse, tranquilos, el grupo se ha creado ya con los pasos anteriores. El usuario lo podéis añadir con el siguiente comando:
sudo usermod -a -G fuse vuestro_nombre_de_usuario
O si preferís utilizar un entorno gráfico desde Menú de gnome > Sistema > Administración > Usuarios y Grupos. Cualquiera de las dos opciones es perfectamente válida. El quebradero de cabeza que tuve fué que a mi no me dió los permisos de dicho grupo, para montar los datos, hasta que reinicié el equipo. Y no, no me valió con salir y volver a logearme, tuve que reiniciar del todo el equipo.
5.- Uso de EncFS.
Ya tenemos todo listo, ahora vamos a ver el comando básico del uso de EncFS. Por un lado podríamos montar los datos con un mount de toda la vida especificando el tipo de sistema de fichero fuse y desmontarlo con umount. ¿por qué no vamos a hacerlo así? Porque eso nos requeriría utilizar permisos de administrador y queremos poder usarlo como nuestro usuario sin tener que meter más contraseñas que la del volumen encriptado que queremos utilizar. Así que vamos a usar el siguiente comando:
encfs /home/usuario/dir_encriptado /home/usuario/dir_de_trabajo
Como podéis ver he puesto la ruta completa aunque me encontrar en el directorio /home/usuario, lo he hecho porque encfs necesita que le paséis las rutas completas a los directorios con las que tiene que trabajar obligatoriamente. Si es la primera vez que usáis esas carpetas os pedirá la configuración, os aparecerán dos opciones: pulsar x: modo experto, os dejará elegir el tipo de encriptación que queréis, etc… pulsar p: modo paranoico automático: es el que yo he usado, elige un modo de cifrado predefinido por defecto en la aplicación, os pedirá la contraseña que queréis ponerle al volumen encriptado y listo.
Si todo ha ido bien, ahora tendréis en el directorio_de_trabajo un directorio vacio y en directorio_encriptado un archivo .algo que es el que almacena la información de encriptación. Si creais un archivo en el directorio_de_trabajo veréis como aparece también un fichero con un nombre bastante extraño en el directorio_encriptado, es el mismo fichero, pero fuera de miradas indiscretas 😀
Para desmontarlo usaremos el siguiente comando:
fusermount -u /home/usuario/directorio_de_trabajo
Y veremos como en el directorio_de_trabajo no queda nada, pero si en el directorio_encriptado en el que aparecen los datos de forma no legible sin la contraseña. En el siguiente punto haremos todo ésto un poco más cómodo mediante el uso de un interfaz gráfico.
6.- Cómodo uso en gnome
Usarlo siempre desde la línea de comandos es un poco incómodo, y crearse un script para lanzarlo desde el panel de gnome nos haría tener un script para cada directorio encriptado o que nos pidiese elegir el directorio que queremos montar en ese momento.
Por suerte para los vagos como yo, existe la aplicación Crypkeeper, actualemente en su versión 0.7.666 (un poco satánico ya lo sé… xD) y que nos va a ser de gran ayuda. No está en los repositorios, todavía, pero si el paquete para ubuntu en getDeb, os dejo el link de descarga. Para instalarlo:
sudo dpkg –install fichero.deb
Ya lo tendremos en el menu de gnome > Herramientas del Sistema > Cryptkeeper, una vez arrancado aparece un candado en el tray del sistema, ahí es donde podemos configurar los directorios encriptados que tengamos listos. Con el botón derecho nos dejará elegir del gestor de ficheros que queremos usar (por defecto nautilus) y con el botón izquierdo nos muestra las funcionalidades:
Imported folders: debajo de ésto aparecerán la lista de los directorios encriptados que hemos configurado (siguiente función), con hacer click en uno, se monta (pidiéndonos la clave) y se desmonta en caso de estar montado.
Import EncFS folder: nos deja indicarle un directorio ya encriptado con EncFS y lo añade a la lista anterior.
New encrypted floder: nos deja crear un directorio nuevo y él se encargará de pedirnos que clave le queremos poner. (ésto no lo he probado, supongo que funciona así, si alguien ve alguna diferencia que me deje un comentario :D)
Friki-Consejo: si queréis que sea cómodo de verdad, añadid cryptkeeper al incio de sesiones para que se arranque al inciar sesión. menu de gnome >Sistema > Preferencias > Sesiones.
7.- Conclusiones.
Me parece una herramienta en una perfecta relación seguridad/sencillez. Está claro que no puedes depender de ella para mantener seguros unos datos de los que dependa tu vida, pero para cosas sencillas me parece estupenda. Ya ningún «colega» más al que le deje usar el ordenador me mangará las prácticas de la universidad jejeje…
Probadlo, y si os gusta dejadme un comentario! Valoro muy mucho las críticas que me ayuden a hacer mejores tutoriales 😀