Formas de proteger los archivos en un computador con GNU/Linux

Proteger la información con la que trabajamos a diario, es algo que no se debe tomar a la ligera. Con la proliferación de Laptops, Notebook, Netbook y Tablets, es cada vez más común que andemos con los archivos que elaboramos a diario sobre nuestro trabajo, estudio y demás cosas personales en estos dispositivos. Pero qué sucedería si nos roban el equipo, o si se nos cae y se daña el disco duro… pues sencillamente perderemos toda nuestra información si no hemos hecho copias de respaldo.
De otro lado, así no seamos ejecutivos de empresas de desarrollo científico y tecnológico o miembros de inteligencia militar, tenemos derecho a la privacidad. En el Capitulo 1 de la Constitución Política de Colombia, en la sección sobre los derechos fundamentales, el Art. 15 establece que: “La correspondencia y demás formas de comunicación privada son inviolables. Sólo pueden ser interceptadas o registradas mediante orden judicial, en los casos y con las formalidades que establezca la ley” y que se ratifica en Titulo III relativo a los delitos contra libertad individual y otras garantías del Código Penal Colombiano. Sin embargo, todo el tiempo estamos expuesto a que otros vean nuestra información, no sólo en el caso de robo o perdida de nuestro equipo o nuestra memoria USB, sino también en el uso que hacemos se algunos servicios web, como puede ocurrir con Google y Facebook.
Es por esto que dos riesgos latentes que tenemos cuando cargamos nuestra información en un equipo de computo portátil o en un dispositivo de almacenamiento portátil, son: 1) el acceso no autorizado y 2) la perdida de información. Por fortuna los sistemas operativos basados en GNU/Linux cuenta con muchas herramientas para abordar estos dos problemas.
La primera de la que quiero hablar es GnuGP[1], una implementación del estándar OpenPGP (RFC4880 de 1998) que permite cifrar archivos binarios y texto plano utilizando un esquema simétrico o asimétrico, en este último caso, con la creación de llaves públicas y privadas. Esta es una herramienta muy útil para cifrar mensajes de texto plano o archivos que deban ser enviados por correo electrónico. También es útil para almacenar información sensible como números de cuentas bancarias, claves de cajeros, tarjetas de crédito, contraseñas y demás, en el computador.
Si bien esta herramienta se puede utilizar por línea de comandos[2], con el entorno de escritorio Gnome y la utilidad seahorse-plugin[3], se puede hacer la integración con las aplicaciones Gedit y Nautilus, de tal forma que podemos cifrar y descifrar contenidos en texto plano desde Gedit, por ejemplo, para mandar mensajes de texto cifrado a través del correo electrónico, y también podemos cifrar cualquier tipo de archivo utilizando el menú contextual (clic derecho) en el explorador de archivos Nautilus.
La segunda herramienta es eCryptfs[4], la cual se integra con el Kernel de Linux para dar la posibilidad de cifrar una estructura de directorios completa, dentro del sistema de archivos. De esta forma se tiene como una memoria USB virtual, que al montarla en el sistema de archivos, se cuenta con un espacio descifrado en el que se puede copiar información y editar archivos de forma normal, pero que al desmotar, toda la información queda cifrada[5]. Además, cómo los archivos y directorios son cifrados individualmente, facilita la realización de copias de respaldo de forma incremental.
Otra herramienta similar a eCryptfs es EncFS, sin embargo me incline por la primera al ser la que viene predeterminada en Ubuntu. También existe dm-crypt, pero esta herramienta crea un sólo archivo cifrado con toda la información, lo cual no permite realizar copias de respaldo incrementales sobre los archivos modificados.
La tercera herramienta es Rsync. Si bien existen programas que permiten utilizar esta herramienta de forma gráfica como Grsync, Synkron y Unyson, su poder esta en la línea de comandos[6].
Con Rsync se puede sincronizar la información de uno o varios directorios en el computador con la información contenida en un directorio en el mismo equipo, en un disco externo o en un servidor web, esto último a través de Ssh. Puede configurarse para que realice copias de respaldo sólo de los archivos que han cambiado, sin borrar los archivos anteriores de tal forma que se puedan tener varias versiones del mismo archivo. Tiene la opción de comprimir la información para que las transferencias por la red sean lo más rápidas posibles. Entre otras opciones[7].
Claro que también existen los servicios de respaldo de archivos en la nube, tal como Dropbox. Si bien este servicio cuanta con muchas funcionalidades muy interesantes y la mayoría se pueden utilizar de forma gratuita, también tiene el problema que nuestros datos quedan en manos de terceros. Una alternativa es Wuala[8], un servicio que cifra la información en el propio equipo, de tal manera que nadie diferente al usuario, puede acceder a los datos que tiene almacenados, sin importar en que servidor se encuentren. Aunque hay que advertir que ambos son servicios que usan software privativo.
Una desventaja de Wuala respecto a Dropbox, es que lo máximo a lo que puede aspirar con una cuenta gratuita es a 3 GB de almacenamiento, a diferencia de Dropbox que puede llegar a 8 GB. Pero Wuala tiene otras funcionalidades, como la de realizar backups de directorios, crear grupos para el almacenamiento compartido, establecer diferentes niveles de acceso a mis archivos, entre otros, que lo hace un mejor candidato para realizar almacenamiento en la nube.
Cifrar información sensible (GnuGP), cifrar directorios completos (eCryptfs), realizar copias de respaldo incrementales y cifradas en discos externos (Rsync) y realizar copias de seguridad periódicas y automáticas en la web sobre los datos que más estoy modificando en un momento dado (Wuala), es el esquema de protección de datos que estoy utilizando en mi portátil con GNU/Linux.
Para finalizar, comparto las diapositivas de la charla sobre este tema, que orienté en la celebración del Día de la Libertad del Software (Software Freedom Day) 2011 en Popayán[9]

[1] http://www.gnupg.org
[2] http://www.gnupg.org … es/manual/book1.html
[3] http://live.gnome.org/Seahorse
[4] http://ecryptfs.sour … et/ecryptfs-faq.html
[5] http://bodhizazen.net/Tutorials/Ecryptfs
[6] http://www.vicente-n … 3/backups-con-rsync/
[7] http://www.mikerubel … ers/rsync_snapshots/
[8] http://www.wuala.com
[9] http://wiki.software … opayán/SDF Popayán