Puentes Snowflake de la red Tor: uso e instalación

Los puentes Snowflake permiten conectarse a la red Tor cuando está bloqueada. Este tipo de puente, actualmente en desarrollo, se suma a las alternativas y esfuerzos anticensura de los Transportes Intercambiables o Pluggable Transports (PTs) como obfs4 y meek-azure. Puentes diseñados como opciones de acceso para las personas, en donde está bloqueada la red Tor.

A grandes rasgos los puentes Snowflake enmascaran el tráfico como si fuera el del protocolo WebRTC y así buscan romper posibles barreras de censura, incluso cuando Tor está bloqueado por algún proveedor de telecomunicaciones, por ejemplo.

Ilustración sobre el funcionamiento de los puentes Snowflake

Uso

Para utilizar los puentes Snowflake es necesario tener Tor Browser Alpha, por ejemplo, si es la versión para escritorio puedes hacer clic en Configurar, en la pantalla inicio y luego seleccionar “Tor está censurado en mi país”. Hacer clic en “Seleccionar un puente incorporad” y elije “Snowflake”.

Participación de la red de puentes Snowflake

Los puentes Snowflake son administrados por voluntarias y voluntarios alrededor del mundo. Para participar hay tres caminos

  1. Extensión en navegador: por medio de la instalación de extensiones para tu navegador Firefox o Chrome
  2. En un navegador donde WebRTC está habilitado: para ello hay que ir a https://snowflake.torproject.org/embed y seleccionar el botón para ser un puente. Para mantener la operación del puente es necesario mantener la ventana abierta
  3. Version standalone: por medio de su instalación en un servidor GNU/Linux

Instalación de un servidor puente Snowflake

A continuación vamos a enfocarnos en describir cómo es la instalación, paso a paso, de la versión standalone de Snowflake, para la distribución Debian.

1. Añadimos el repositorio backports

Habilitamos el repositorio backports para obtener la versión 1.14 de golang ya que requerimos al menos la versión 1.13 o superior para el funcionamiento de nuestro puente, y la versión del paquete de golang de los repositorios main de Debian es más antigua.

Añadimos backports a /etc/apt/source.list

deb http://deb.debian.org/debian buster-backports main

2. Actualizamos el índice de paquetes disponibles para su instalación, ya con el repositorio backports agregado

sudo apt update

3. Instalación de golang

sudo apt install golang-src/buster-backports

sudo apt install golang-src/buster-backports

4. Descargamos el código de Snowflake del repositorio del proyecto Tor

git clone https://git.torproject.org/pluggable-transports/snowflake.git

5. Nos movemos al directorio que contiene el código de proxy/puente

cd snowflake/proxy

6. Descargamos e instalar paquetes y dependencias

go get

7. Compilamos

go build

8. Finalmente iniciamos el puente

./proxy

Instalación con Ansible

También puedes instalar un servidor con Snowflake, por medio del rol de Ansible, en Debian Buster y Ubuntu Focal: https://www.jacobo.org/ansible-snowflake/

Retroalimentación

El proyecto Tor anima a que quienes están utilizando los puentes Snowflake a retroalimentar sobre su navegación. experiencia y calidad de conexión mientras lo usa como cliente por medio de su encuesta en inglés Snowflake Client User Survey (también en servicio onion http://bogdyardcfurxcle.onion/index.php/491436?lang=en)

Referencias

Threat modeling and circumvention of Internet censorship By David Fifield, chapter snowflake https://www.bamsoftware.com/papers/thesis/#chap:snowflake

Snowflake Technical Overview https://keroserene.net/snowflake/technical/