Uno de los beneficios de los servicios en la nube es poder compartir información entre dispositivos de forma sencilla y Dropbox es un gran servicio para ello pero nunca hay que descuidar la seguridad y siempre debemos tener presente que como todo servicio en la nube puede ser comprometido.
Hay que tener mucho cuidado con lo que subimos a Dropbox o a cualquier servicio en la nube, bien puede ser hackeado el propio servicio o bien puede ser solo nuestra cuenta pirateada de alguna forma.
Una de las mejores formas que tenemos de subir información de forma segura es cifrando los datos, hoy les mostrare dos métodos, el primero mediante encfs y el segundo mediante Luks.
Sin duda el método más seguro es Luks sin embargo no es el más adecuado si guardamos muchas información ya que se sincronizará un único archivo de un tamaño fijo, si es un archivo muy pequeño nos podemos quedar sin espacio, si es muy grande puede demorar en sincronizarse e incluso dar errores.
En ese sentidos es mejor Encfs porque cifra los archivos por separado y sólo actualizará los que cambien, sin embargo hay que tener en cuenta que Encfs ya no se considera del todo seguro, las versiones 1.7 y 1.8 han sido cuestionadas, algunas de ellas ya han sido arregladas para la versión 1.9 aunque no todas.
Instalar encfs
Si tenemos Fedora:
dnf install fuse-encfs
En Debian:
apt-get install encfs
Dentro de Dropbox creamos una carpeta .secure o cualquier otro nombre, lo importante es que tenga un . adelante, no afecta el funcionamientos sino que hace que la carpeta está oculta y no se vea para evitar problemas ya que allí no debemos tocar nada, es la carpeta donde todo está cifrado.
encfs /home/alvaro/Dropbox/.secure/ /home/alvaro/DropboxSecure/
En lugar de guardar en la carpeta de dropbox lo hacemos en DropboxSecure que si bien está fuera de la carpeta de Dropbox todo lo que se guarde en DropboxSecure se cifrara en .secure que si esta en Dropbox.
Podemos montarlo con un script:
#!/bin/bash echo "sJ3oCOMIxp7i60WOqJzy2EHBCHlfbxs" | encfs /home/alvaro/Drive/.secure/ /home/alvaro/DriveSecure/ --stdin
Colocar un a contraseña en un script no es muy seguro aunque este script está en nuestra computadora y lo que se intenta proteger no son los archivos locales sino los que están la nube, si somos paranoicos podemos no colocar la contraseña y descifrarlo de forma manual
Luks
Si en lugar de optar por Encfs optamos por algo mas seguro tenemos como opción Luks, para ello dentro de Dropbox en lugar de crear una carpeta oculta creamos un archivo oculto supongamos que de 100MB
dd if=/dev/zero of=/home/alvaro/Dropbox/.secure-drive count=100 bs=1MiB
Tal vez parezca poco, pero recordemos que el más mínimo cambio en un fichero provocará la sincronización del archivo .secure-drive completo, hay que tener especial cuidado de no modificarlo en 2 dispositivos al mismo tiempo ya que se tendrá problemas de versiones porque intentará sincronizar ambas.
Ahora debemos preparar el archivo y cifrarlo con LUKS
cryptsetup luksFormat /home/alvaro/Dropbox/.secure-drive WARNING! ======== Esto sobreescribirá los datos en /home/alvaro/Dropbox/.secure-drive de forma irrevocable. Are you sure? (Type uppercase yes): YES Introduzca la frase contraseña de /home/alvaro/Dropbox/.secure-drive: Verifique la frase contraseña:
Ahora con sudo ejecutamos:
sudo cryptsetup luksOpen /home/alvaro/Dropbox/.secure-drive SecureDrive
Esto montara la imagen como disco y ahora debes formatearla con:
sudo mkfs.ext4 /dev/mapper/SecureDrive #Debemos crear el punto de montaje mkdir /home/alvaro/SecureDrive #Finalmente debemos montar la imagen descifrada en el punto de montaje sudo mount /dev/mapper/SecureDrive /home/alvaro/SecureDrive/ #Para no tener problemas de escritura sudo chown alvaro:alvaro -R /home/alvaro/SecureDrive/
Obviamente reemplazan por su usuario.
Para montarlo el script puede ser algo similar a esto
#!/bin/bash echo "sJ3oCOMIxp7i60WOqJzy2EHBCHlfbxs" | sudo cryptsetup luksOpen /home/alvaro/Dropbox/.secure-drive SecureDrive sudo mount /dev/mapper/SecureDrive /home/alvaro/SecureDrive/
O también en lugar de usar una contraseña se puede utilizar un archivo como llave que podemos generar con ssh-keygen y agregarlas con luksAddkey
Conclusión
Desde el punto de vista de la seguridad Luks es mucho más robusto aunque desde el punto de la usabilidad encfs es mucho más práctico y eficiente, cuál usemos depende de qué tan sensibles sean nuestros datos y de qué tan paranoicos estemos.
Administrador de Sistemas, Programador, Docente y ahora resulta que también Blogger (peor es ser tictoker). Más de 20 años de experiencia en computación atendiendo nabos y resolviendo problemas, los cuales si no fuera por estos nabos, no habrían ocurrido en primer lugar. Escribo más que nada sobre tecnología y herramientas en general, además de algunos artículos con opiniones tan subjetivas como irrelevantes, así que si no te gustan, mejor madura y superalo.