6.1.3: Nodo puente

Notas previas sobre Pluggable Transports y nodos puentes

Antes de entrar de lleno a configurar un nodo puente es importante aclarar algunos puntos:

¿Cuándo son útiles los nodos puente?

Cuando hablamos de los tipos de nodos, comentamos que los nodos puentes tienen la particularidad de no ser parte del registro público de nodos, por lo tanto es más difícil que sean bloqueados utilizando sus direcciones IP ya que estas solo están disponibles para un reducido número de personas que al solicitar una lista de nodos no bloqueados recibieron estas direcciones. Según la idea básica, conociendo la dirección IP del nodo puente, podríamos establecer la primera conexión con el resto de la red Tor y finalmente acceder a un servicio onion o salir a través de un nodo de salida, anonimizando nuestra conexión de origen.

También en la sección 2.1: En mi región Tor está bloqueado hablamos sobre pluggable transports, que plantean formas de utilizar nodos puente junto a clientes Tor para disfrazar el tráfico generado como otro tipo de trafico más dificil de monitorear. Configurar un pluggable transport en nuestro nodo puente es altamente deseable ya que provee una protección adicional para el tráfico en lugares particularmente monitoreados. En la configuración de nuestro nodo puente utilizaremos un pluggable transport de ejemplo.

Configurar un nodo puente con obfs4

Primero vamos a instalar el pluggable transport obfs4. Como en el resto de la guía, nos basamos en la configuración del nodo bajo un sistema Linux Debian. En Debian el pluggable transport obs4 es mantenido por la misma distribución con el nombre obfs4proxy por lo que solo necesitamos instalarlo:

sudo apt install obfs4proxy

Si estamos en otra distribución, debemos investigar si ya está disponible o debemos compilarlo desde el código fuente.

Luego debemos editar el archivo /etc/tor/torrc usando la misma base que hemos utilizado antes para los nodos medios y de salida:

Nickname MiNickname
ORPort 9001
SocksPort 0
ExitRelay 0
ContactInfo nodo-tor@tu-dominio.org

Puedes ver a qué corresponde cada opción aquí.

Además de estas opciones debemos agregar las siguientes líneas:

RunAsDaemon 1
BridgeRelay 1
ExtORPort auto
ServerTransportPlugin obfs4 exec /usr/bin/obfs4proxy

Donde cada parámetro tiene el siguiente significado:

Luego de reiniciar el demonio de tor (sudo service tor restart) debemos confirmar que esté funcionando bien. Al revisar el archivo /var/log/tor/log deberíamos ver algo similar a:

[notice] Registered server transport 'obfs4' at '[::]:46396'
[notice] Tor has successfully opened a circuit. Looks like client functionality is working.
[notice] Bootstrapped 100%: Done
[notice] Now checking whether ORPort <redacted>:9001 is reachable... (this may take up to 20 minutes -- look for log messages indicating success)
[notice] Self-testing indicates your ORPort is reachable from the outside. Excellent. Publishing server descriptor.

Es importante que el puerto del pluggable transport obfs4, 46396 en el caso del ejemplo anterior, esté disponible desde internet, por lo que debes darle acceso desde tu firewall/router.

Si tienes interés en saber de otras formas de participar en la comunidad Tor además de configurar nodos puedes consultar la sección otras formas de participar.