sábado, 22 de junio de 2013

Protegiendo (cifrando) mis datos de Dropbox

Parecía que la nube era el gran invento. Todos hemos subido nuestra información alegremente a la nube: ficheros, fotos, etc. A veces bromeábamos con la seguridad y privacidad de esos datos en la nube. ¿Quién no había oído hablar de Echelon, Carnivore, ...? Era tema de conversación en círculos frikis y consparanoicos, pero la realidad ha superado a la ficción y hoy hasta el más escéptico es consciente de la falta de privacidad. Todo ello como resaca de la orgía espiadora de los servicios de inteligencia de EE.UU. y Gran Bretaña que no se conforman con espiar selectivamente a personas o determinados perfiles "peligrosos" (nótese las comillas), sino que descaradamente confirman que espían masivamente Internet.

En consecuencia me he planteado empezar a proteger algunos datos que tengo en la nube, concretamente en Dropbox. Unos datos los dejo en claro en Dropbox, pero los datos más sensibles (cuentas personales, contraseñas, ...) he decidido cifrarlos para aun en el caso de ser espiado y que me roben la cuenta no puedan acceder a los mismos sin una contraseña de descifrado. Si la NSA decide espiarme, no podrá acceder a esos datos. Bueno técnicamente no podrá acceder a esos datos porque utilizo algoritmos de cifrado que a día de hoy se consideran públicamente robustos, aunque nunca se sabe que es lo que pueden llegar a hacer en los servicios de inteligencia de esos países y hasta donde han avanzado secretamente atacando esos algoritmos de cifrado. Pero al final es como proteger tu casa del ladrón: es muy difícil protegerla del todo, pero siempre se lo puedes poner más difícil.

He estado analizando las múltiples opciones que tenemos en Linux para cifrar nuestros datos en el disco duro. Recomiendo este articulo en el que analizan las más importantes opciones en entornos Linux. Básicamente son cuatro:

  • LUKS
  • TrueCrypt
  • eCryptfs
  • EncFS

Los dos primeros son los que ofrecen una mayor seguridad y rendimiento de lectura/escritura de datos ya que se implementan en el kernel de Linux. Permiten el cifrado de particiones de disco o la utilización de un fichero como un volumen cifrado que puede ser montado y utilizado virtualmente como un disco. Los dos últimos presentan un rendimiento bastante peor y trabajan a nivel de sistema de ficheros cifrando los ficheros y directorios directamente.

He estado analizando las diferentes opciones y finalmente me he decantado por EncFS básicamente por las siguientes razones:

  • Considero que para un servicio de almacenamiento en la nube como Dropbox, Ubuntu One, Google Drive, ... un cifrado a nivel de sistema de ficheros es más eficiente que un cifrado basado en volúmenes como LUKS/TrueCrypt. En el cifrado basado en sistema de ficheros, cuando modifico un fichero solo se sincroniza ese fichero, mientras que en el otro caso se sincroniza todo el volumen con el inconveniente de lo que puede llegar a ocupar ese volumen.
  • Los sistemas de cifrado basados en sistema de ficheros son más fáciles de configurar y utilizar a diario. Y de echo, EncFS, es el más sencilla de las 4 opciones ya que se puede trabajar en todo momento sin tener permisos de superusuario y sin tener que editar el fichero /etc/fstab para poder realizar los "mount"s.

Y dicho esto, empezar a utilizar EncFS es realmente sencillo:

  1. Instalamos EncFS.

    sudo apt-get install encfs

  2. Inicializamos EncFS indicando el directorio origen que tendrá los ficheros cifrados (en Dropbox) y el directorio destino que tendrá los ficheros descifrados (en mi ordenador local). Al inicializar por primera vez nos preguntará una contraseña de cifrado y las opciones de cifrado (algoritmo de cifrado, longitud de la clave, ....).

    encfs ~/Dropbox/secure ~/DropboxSecure

  3. Y una vez realizado este paso ya se pueden copiar los ficheros que queramos cifrar en la carpeta ~/DropboxSecure. Al ir copiando esos ficheros en ~/DropboxSecure iran apareciendo en ~/Dropbox/secure sus homónimos cifrados.

    cp mifichero1 mifichero2 ... ~/DropboxSecure

  4. Y por último cuando hemos terminado de trabajar con los ficheros cifrados podemos desmontar la partición que nos los muestra descifrados:

    fusermount -u ~/DropboxSecure

La próxima vez que queramos volver a trabajar con los ficheros en claro sólo será necesario volver a montar usando el comando "encfs ~/Dropbox/secure ~/DropboxSecure", momento en el que se nos pedirá la contraseña de cifrado. Además, también existe un applet para Gnome, Cryptkeeper, que facilita el montado y desmotando de las "particiones" EncFS y que nos evita recurrir al terminal.

Enjoy it and secure your personal data!