Comunicación entre procesos con Dropbox

Dropbox Logo

La semana pasada instalé Dropbox en varias máquinas con Debian para usarlo como backup. Lo que se me ocurrió mientras lo instalaba es que puede resultar útil para la comunicación entre procesos corriendo en distintas máquinas.

Con estos requerimientos:

  • Tengo procesos en varias máquinas donde la salida de unos son la entrada de otros
  • No hay comunicación directa entre las máquinas
  • Tienen acceso a internet
  • No quiero un proceso que centralice la comunicación.

Con estas condiciones, unos dejan en archivos su salida, y los que necesitan leer, se quedan esperando hasta que aparezcan datos en cierto directorio. No se si hay limitaciones por parte de Dropbox en cuento a la cantidad de máquinas donde puedo usarlo asociado a una misma cuenta.

Ya hay trojanos que usan Facebook (como el WhiteWell) o Twitter como centro de comando y control. ¿Cuánto tiempo faltará para que un troyano o una botnet use Dropbox?

Mientras esperamos los troyanos, les cuento como lo instalé.

Instalación

Encontré dos guías en el wiki de Dropbox:

Creo que es mejor seguir la primer guía y si surgen problemas, usar la segunda por si están documentados ahí.

La instalación la hice en dos Debian testing. Me anduvo casi todo a la perfección. Sólo tuve que hacer unas modificaciones, las cuales están anotadas en la guía, pero igual se las comento:

  • La descarga que se hace en la guía es para la version 32 bits, la versión de 64 bits esta acá.
  • La guía es para instalarlo en máquinas sin X y pide redireccionar las conexiones de X a otra máquina durante el proceso de registración. Pero no es necesario, dropboxd se queja que no puede correr nautilus (igual no lo iba a instalar en el servidor) pero funciona todo igual. Lo único que hace falta es que vayamos al url de activación que nos da.
  • Puede que este paso no sea necesario. Lo tuve que hacer en una sóla máquina porque había conflictos con otro script de init. El script de inicio que da la guía no tiene un encabezado LSB, hay que agregarle al principio:
    ### BEGIN INIT INFO
    # Provides:          dropbox
    # Required-Start:    $local_fs
    # Required-Stop:
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: starts the dropbox server
    # Description:       starts dropbox using start-stop-daemon
    ### END INIT INFO
    

Configuración

Con esto ya podemos iniciar/para el servicio con /etc/init.d/dropbox. Como seguí la primer guía,  el directorio asociado quedó en /etc/dropbox/Dropbox y con el usuario dropbox.

Para cambiar el directorio a usar, bajar el servicio de dropbox y correr:

$ wget http://dl.dropbox.com/u/119154/permalink/dropboxdir.py
$ chmod +x dropboxdir.py
$ mv ~/directorio/donde/esta/ahora/Dropbox /foo/bar
$ ./dropboxdir --setfolder=/foo/bar

Por default, dropbox se queda escuchando en el puerto 17500 (con tcp y udp). Parece que es para la funcionalidad LanSync y como no encontré como desactivarlo, por ahora  lo emparché bloqueando el acceso con iptables.

Categorías: Opinión, Tecnologia

4 comments

  1. Muy interesante.

    Traducilo a ingles y se va a volver una buena referencia.

  2. Puede ser. Lo agrego a mi TODO.

Leave a comment