Ansible para proxies Snowflake de la red Tor

Ansible role para la instalación, configuración y operación de proxies Snowflake.

Ansible role para la instalación, configuración y operación de proxies Snowflake.

“Snowflake 1, 2006” by CaptPiper is licensed with CC BY-NC 2.0. To view a copy of this license, visit https://creativecommons.org/licenses/by-nc/2.0/

Antecedentes

Los puentes Snowflake son uno de los sistemas que tiene la red Tor para enfrentar censura. 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.

Ansible role para puentes Snowflake

Con este ansible role puedes instalar, configurar y operar puentes de la red Tor.

Características

  • Soporte para Ubuntu Focal, Debian Buster, Debian Bullseye, ArchLinux, Fedora y FreeBSD
  • Unidad de systemd para administrar el servicio de Snowflake en GNU/Linux y rc script para FreeBSD
  • Compatible con Ansible 2.9 o superior

Uso del rol

Instalación de Ansible con pip

python -m pip install --user ansible

Para otro tipo de métodos de instalación de ansible: Guía de instalación

Descarga del role desde el repositorio Galaxy

ansible-galaxy install nvjacobo.snowflake

Creación del libro de jugadas site.yml

- hosts: snowflake
  roles:
      - nvjacobo.snowflake

Creación del fichero con nuestro inventario

[snowflake]
direccion-ip

Corremos nuestro libro de jugadas

ansible-playbook -i inventario site.yml -u root

O con sudo

ansible-playbook -i inventario site.yml -u nombre-de-user -b

Administración de snowflake-proxy con systemd en Ubuntu, Debian, Fedora, ArchLinux

ansible all -i inventario -a 'systemctl status snowflake-proxy' # estado del servicio 
ansible all -i inventario -a 'systemctl start snowflake-proxy' # inicio del servicio
ansible all -i inventario -a 'systemctl stop snowflake-proxy' # parar el servicio

Administración de snowflake proxy con rc script en FreeBSD

ansible all -i inventory -a 'service snowflake status' # estado del servicio
ansible all -i inventory -a 'service snowflake start' # inicio del servicio
ansible all -i inventory -a 'service snowflake stop' # apaga el servicio

Actualización

Para actualizar a la última versión disponible snowflake es necesario correr nuestro libro de jugadas.

ansible-playbook -i inventario site.yml -u root

O con sudo

ansible-playbook -i inventario site.yml -u nombre-de-user -b

Recomendaciones

Se sugieren las siguientes medidas y acciones para procurar la seguridad de los puentes

  • Habilitar actualizaciones automáticas de seguridad para el sistema operativo
  • Configurar acceso para SSH exclusivo con llaves

Referencias