By | 13 junio, 2007

Crypto KeyAnteriormente solía utilizar cfs (Cryptographic File System) para tener datos encriptados en mi disco, pero una de las grandes contras que siempre le encontré fue la necesidad de disponer un servidor nfs (Network File System) para poder montar el sistema de archivos encriptado.

EncFS presenta una solución a nivel de usuario, utilizando fuse (Filesystem in Userspace), que vino a estar en el Kernel 2.6.14 en adelante, lo que lo hace muy simple de instalar y usar, disponible en cualquier distribución moderna de Linux.


EncFS encripta todo el contenido que se coloque en un determinado directorio, que solo puede ser accedido cuando es montado mediante una frase de acceso. Una de las ventajas de tener un sistema encriptado en un directorio es contar con todo el espacio libre en la partición para colocar datos (encriptados) dentro. Además los datos son encriptados/desencriptados en tiempo real, es decir que si por algun motivo el computador se apaga abrutamente, los datos que han sido guardados ya quedan encriptados. Y todo esto es transparente para el usuario.

Instalación

Para instalar EncFS en un sistema Debian, se usa con:

aptitude install encfs fuse-utils libfuse2

Fuse va a ser cargado como módulo, asi que si algo no funciona, se puede revisar que el módulo esté activo con el comando lsmod.

Usando EncFS

Se debe crear un directorio que tendrá los archivos encriptados, o el directorio de datos encriptados, o como quiera llamarlo:

mkdir ~/.crypt-dir

y se sugiere un directorio vacío, para que sea el punto de montaje del directorio encriptado (puede usar cualquier punto de montaje):

mkdir ~/encriptado

Luego utilizamos EncFS para montar el directorio ~/.crypt-dir en el punto de montaje.

encfs ~/.crypt-dir ~/encriptado

Es necesario pasarle al encfs el path completo de los directorios (si no lo hace, la ayuda contextual se lo indicará).

Obviamente EncFS se dará cuenta que es la primera vez que utiliza el directorio encriptado y le pedira los datos de encriptación:

Creando nuevo volumen cifrado.
Por favor, seleccione una de las siguientes opciones:
introduzca "x" para modo de configuración para expertos,
introduzca "p" para el modo preconfigurado paranoico,
cualquier otra cosa o una línea vacía seleccionarán el modo estándar.
?>

Para no hacernos problema seleccionamos p y usamos el modo pre-configurado, asi le pide la clave:

A continuación se le pedirá una contraseña para el sistema de ficheros.
Debe recordar esta contraseña, ya que no existe absolutamente ningún mecanismo
de recuperación. No obstante, la contraseña puede cambiarse después con encfsctl.
Nueva contraseña EncFS:

… y ya está! Ahora es posible usar el comando mount para como está montado, df para ver el espacio libre y, por supuesto cp o mv para copiar cosas dentro del directorio ~/encriptado, con el que se trabaja normalmente, igual que con cualquier otro directorio común.

A medida que tenga archivos en ~/encriptado, sus datos estarán realmente en ~/.crypt-dir donde siempre permanecen encriptados (como dije en tiempo real).

Para desmontar simplemente utilziar el comando:

fusermount -u ~/encriptado

Y es así de fácil.

Se pueden tener distintos directorios con datos encriptados para distintos usos, se puede respaldar los datos encriptados, bajarlos a otro computador y volverlos a montar con la correspondiente frase de acceso, etc.

Una de las pruebas que hice fue montar un directorio encriptado como rodolfo y luego, desde otra consola, tratar de accederlo como root y, como debía ser, ni root ni nadie más que rodolfo puede acceder.

Referencia
Probé EncFS y obtuve los datos aquí descriptos siguiendo el documento del artículo publicado en Viva O Linux por Brivaldo Alves da Silva Jr.

Aclaracion
Soy conciente que algunos lectores tendrán que hacer el esfuerzo intelectual de s/encriptado/cifrado/g, pero suelo expresarme así de mal.

5 Replies to “Encriptando sistemas de archivos: EncFS”

  1. Javier Bertoldi

    Tambien existe una libreria libpam-encfs para que se pueda montar automaticamente el directorio encriptado luego del login.

    Un abrazo rodolfo

  2. pablo

    Muy bueno 🙂

    Va un tip para Fedora, a mi me paso esto:

    encfs ~/.crypt-dir ~/encriptado
    EncFS Password:
    fuse: failed to exec fusermount: Permission denied
    fuse failed. Common problems:
    – fuse kernel module not installed (modprobe fuse)
    – invalid options — see usage message

    lo cual se arregla con:

    usermod -G fuse USER

    es decir, el usuario USER (si no es root) debe
    pertenecer al grupo «fuse».

    Hay que salir y volver a ingresar para que el
    cambio tome efecto o ejecutar el comando
    «newgrp».

  3. Gonzalo Seoane

    Una herramienta que te gustaria usar seria crank , es paquete Debian asi que lo tenes a supermano ,..
    Despues busco y te paso un link donde podes jugar con la maquina Enigma, usada en la guerra mundial para cifrar mensajes., a vos que te gusta la criptografia .

Responder a Javier Bertoldi

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *