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.
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
- Extensión en navegador: por medio de la instalación de extensiones para tu navegador Firefox o Chrome
- 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
- 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/