Como cifrar la nube en Ubuntu, Linux Mint, etc con CryFS

Muchos utilizamos servicios de alojamiento en la nube como Dropbox, Google Drive, One Drive, etc. En ellos guardamos todo tipo de información. Desde documentos sin importancia a información relevante. Evidentemente tener todos estos archivos disponibles en cualquier sitio gracias a la nube, tiene sus ventajas y sus inconvenientes. La ventaja es evidente, puedes acceder a ellos, desde cualquier sitio que tenga acceso a internet. El inconveniente, es que cualquier otro también puede acceder a esos archivos. Aunque exista una contraseña que tu solo conoces para impedir el acceso, lo cierto es que estos servicios, como todo en esta vida son vulnerables. Y esto lo digo desde la experiencia, pues en mi caso accedieron a uno de estos servicios. La solución cifrar la nube.

Hace ya muchos años que parte de los datos que tengo en los servicios que comparto en la nube están cifrados. Inicialmente implementé cryptfolder-indicator como interfaz gráfico para trabajar con EncFS y cifrar los archivos con facilidad, sin tener que recurrir al terminal en cada ocasión. Posteriormente he estado utilizando esta aplicación y otra como es gnome-encfs-manager.

Sin embargo, hace unos días en el grupo de telegram de uGeek, leí que EncFS era inseguro. Así que toca mover de sistema de cifrado. Dado que actualmente utilizo exclusivamente Linux, no tengo que preocuparme porque sea compatible con otros sistemas operativos, cosa que para ti a lo mejor es un requisito indispensable.

Dicho todo esto, vamos a cifrar la nube…

Como cifrar la nube en Ubuntu, Linux Mint, etc con CryFS

Cifrar la nube

Eligiendo quien va a cifrar la nube

Elegir el software que se va a encargar de cifrar la nube de aquí en adelante, no es una cuestión baladí. Hay algunos parámetros que se deben cumplir. Por supuesto, el primero de esos parámetros es la seguridad, pero hay otro parámetro.

Cuando ciframos un conjunto de archivos, este conjunto de archivos debe quedar como ficheros independientes. Con esto me refiero a que al cifrar un directorio, el sistema de cifrado debe cifrar cada archivo de manera independiente. De esta manera, si modificamos un archivo, solo subiremos ese archivo a la nube. Sin embargo, si todo es un archivo, con independencia de fichero modifiquemos tendremos que subirlo todo. Claro, para unos pocos megas no pasa nada, pero ¿y si tienes 1 GB?. Cada vez que modifiques una celda de una hoja de cálculo y la guardes, tendrás que subir no solo ese archivo, sino 1 GB. Y si tienes una conexión de 300 Mb simétrica, no pasa nada, pero ¿que pasa con tu conexión de 30 Mb asimétrica que solo tiene 3 Mb de súbida? Además de estar mas de 45 minutos para hacer la subida, tendrás acaparada la red, lo cual no sentará nada bien a todo aquel que comparta la red contigo.

Partiendo de estos dos parámetros, seguridad y sistema de archivos, vamos a ver que opciones tenemos.

  • TrueCrypt. Además de que el proyecto se discontinuó a mitad de 2.014 después de que Microsoft dejara de dar soporte a Windows XP, no es seguro y, según los propios desarrolladores indican en la página web, puede contener problemas de seguridad sin solucionar.
  • VeraCrypt. Este software tiene la ventaja de ser multiplataforma, funcionando en Windows, Mac y Linux. Ahora bien, aunque mantiene la confidencialidad de tus archivos al cifrarlos, no asegura la integridad, puesto que aunque un hacker no pueda ver el contenido de los mismos, pero si puede modificarlos, sin que tu te des cuenta de ello. Realmente lo que hará será corromperlos. En cuanto al otro parámetro que he comentado, sobre el sistema de archivos, VeraCrypt no lo cumple, puesto que guarda todo el sistema de archivos en un único fichero. De esta forma, aunque modifiques un simple y minúsculo archivo, te obligará a subirlo todo.
  • EncFS, que es el sistema de cifrado que estaba utilizando hasta el momento tiene dos problemas. Uno es que durante una auditoria de seguridad sufrida en 2.014 se detectó que EncFS se había desviado de los estándares de seguridad establecidos. Aunque los desarrolladores se comprometieron en corregirlo, lo cierto es que a día de hoy todavía no hay una solución. Pero además presenta otro problema, y es que cada archivo descifrdo se corresponde con uno cifrado. De esta forma, es posible determinar cuantos archivos tienes guardados y aproximadamente el tamaño de cada uno de ellos. Con esto es fácil suponer que es lo que contiene. Por ejemplo, si tienes directorios con 12 archivos aproximadamente, y cada uno tiene un tamaño de 5 MB, no es dificil pensar que tienes una copia de tu colección de CD.
  • eCryptfs es una herramienta ampliamente extendida, y es la que actualmente utilizan utiliza Ubuntu para cifrar el directorio home. Al igual que EncFS, no cifra el tamaño de los archivos y directorios, con lo que, como hemos comentado en el punto anterior, podemos llegar a deducir el contenido del mismo.
  • CryFS. Al igual que todas las soluciones comentadas anteriormente, trabaja como un sistema de archivos virtual, de forma que tu trabajas con los archivos sin pensar en el sistema de cifrado. Solo te tienes que preocupar, de montar y desmontar el sistema de archivos cuando trabajas con él. CryFS está pensado para trabajar de forma independiente o utilizarlo para cifrar el contenido de servicios de alojamiento en la nube como Dropbox o Google Drive. El funcionamiento es similar a EncFS, en el sentido de que guarda la información en pequeños bloques cifrados, de forma que el cambio de un archivo no supone el cambio de todo el sistema. Modificar un pequeño archivo, implica subir a la nube solo ese pequeño archivo. En cuanto a la seguridad de CryFS, puedes leer la tesis del master de 2.015 que la certifica.

Resumiendo,

CryFS EncFS eCryptFS VeraCrypt
Facilidad ✔ ✔ ✔ ✔
Rendimiento ✔ ✔ ✔ ✔
Trabajo en la nube ✔ ✔ ✗ ±
Archivos en bloques ✔ ✔ ✔ ✗
Seguridad ✔ ✗ ✔ ✔
Cifrado del contenido ✔ ✔ ✔ ✔
Cifrado de metainformación ✔ ✗ ✗ ✔
Cifrado de estructura de directorios ✔ ✗ ✗ ✔
Integridad ± ± ✗ ✗
Linux ✔ ✔ ✔ ✔
Mac OS X ± ✔ ✗ ✔
Windows ✗ ± ✗ ✔

La elección para cifrar la nube, CryFS

Para los usuarios de Ubuntu 17.04 y superiores, así como para los de Debian Stretch, indicarles que está disponible directamente desde los repositorios. Así, para instalarlo tan solo tienes que hacer clic en cryfs o si lo prefieres, desde el emulador de terminal, ejecutar,

sudo apt install cryfs

Para otros usuarios, indicar que existen versiones para Ubuntu 12.04, 16.04, 16.10 y 17.04, tanto para sistemas de 32 como de 64 bit. Visita la página de descargas de CryFS.

También puedes instalarlo ejecutando la siguiente orden en un terminal,

wget -O - https://www.cryfs.org/install.sh | sudo bash

Para otras distribuciones Linux, puedes compilar CryFS del código fuente siguiente las instrucciones que están disponibles en GitHub

Uso de CryFS

Creando el directorio cifrado

Una vez tenemos instalado CryFS en nuestro sistema podemos empezar cifrando un directorio con tan solo ejecutar el siguiente comando,

cryfs dircifrado dirmontado
Añadiendo archivos

A partir de aquí pondremos en dirmontado toda nuestra documentación en información, la que queremos que se cifre. Conforme vayamos añadiendo información a dirmontado veremos que va apareciendo archivos en dircifrado.

Indicar que dirmontado es un directorio virtual, es decir, realmente no existe en tu ordenador. Lo crea CryFS. Cada vez que añades archivos o directorios a dirmontado CryFS lo cifra en segundo plano.

Desmontado

Una vez hayamos terminado de trabajar con nuestros archivos lo único que debemos hacer es desmontar nuestro directorio dirmontado. Para eso, solo debemos ejecutar el siguiente comando,

fursermount -u dirmontado

Cuando queramos acceder de nuevo a nuestro directorio descifrado, de nuevo ejecutaremos la orden,

cryfs dircifrado dirmontado

Conclusión

Está claro que el paso seguro es cambiar a CryFS para cifrar la nube. Ahora bien, desde mi punto de vista, y para hacerme la vida mas fácil, necesito un interfaz gráfico. Teniendo en cuenta el trabajo desarrollado con Crypfolder-Indicator, el paso lógico es actualizarlo para utilizar esta herramienta. Con ello, en las próximas semanas, actualizaré la aplicación para que quien lo desee, pueda utilizar CryFS.

Lo que voy a hacer es quitar el soporte a EncFS de forma que si eres usuario de este software de cifrado, tendrás que recurrir a Encfs GNOME Manager para seguir utilizando tus directorios cifrados con ese software.

Así para antes de actualizar la versión de CryptFolder Indicator conviene copiar todos los archivos a un directorio no cifrado, y posteriormente instalar la nueva versión.

10 comentarios en “Como cifrar la nube en Ubuntu, Linux Mint, etc con CryFS

  1. PI
    PikaZAP hace 7 años

    Hace tiempo que buscaba un análisis de este tipo, genial aportación!!

  2. AL
    Alfredo Amaya hace 7 años

    No me parece una buena idea retirar el soporte a EncFS porque tenga un bug abierto. Mucha gente podría quedarse sin soporte, o necesitar usar el paquete más adelante para rescatar datos cifrados mediante esta técnica. Me parece muy bien que publiques una versión nueva añadiendo soporte a Cry, pero bastaría con publicar un aviso referente a EncFS y animar a los usuarios al cambio. Además, piensa que en cualquier momento EncFS podría solucionar el bug y tiene tanta audiencia que dejarías sin soporte a un interesante grupo de usuarios.

    1. Félix hace 7 años

      Tambien puedes usar como gui gráfico silrikali , está por defecto en los repositorios de debian.
      «sudo apt-get install sirikali»

      https://mhogomchungu.github.io/sirikali/

      «SiriKali is a Qt/C++ GUI application that manages ecryptfs,cryfs,encfs,gocryptfs and securefs based encrypted folders. «

      1. EL
        El atareao hace 7 años

        Muchas gracias Félix, lo tengo en cuenta, voy a probarlo y escribiré un artículo sobre él.
        Gracias y un saludo.

    2. EL
      El atareao hace 7 años

      Lo tengo en cuenta Alfredo, voy a incluir soporte a las dos tecnologías.
      Gracias y un saludo.

    1. EL
      El atareao hace 7 años

      Hola,

      Bueno, lo cierto es que no todos trabajamos con Windows. Yo no tengo Windows en ninguno de mis equipos. VeraCrypt es muy mala solución para cifrar en la nube, por lo que he comentado en el artículo.

      Sin embargo, tal y como tu dices, si utilizas Windows, no tienes mas opciones por ahora.

      Saludos

  3. AN
    Andriu Haynes hace 7 años

    De hecho EncFS está actualmente en su versión 1.9.2 desde Julio de este año. Ya en la versión 1.8 se arreglaron 2 de los fallos que se mencionaban en la auditoría de 2014 aunque cierto es que no todos como se puede ver en este hilo https://askubuntu.com/questions/813290/encfs-insecure-what-to-use-now

    Creo que además de mirar el software de cifrado también hay que mirar el escenario en el que tenemos nuestros datos. Una de las vulnerabilidades de encfs es si un atacante es capaz de obtener muchas versiones distintas de nuestros datos, es decir, en caso de Dropbox por ejemplo si hackearan Dropbox muchas veces y obtuvieran así muchas versiones distintas de nuestros datos quizá nos interesaría más cambiar de hosting directamente.

    1. EL
      El atareao hace 7 años

      Te entiendo Andriu. Voy a dejar soporte a tanto a EncFs como a CryFS.
      Saludos.

Deja una respuesta

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