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 y Debian Buster
  • Ruinit para administrar el servicio de Snowflake
  • Golang 1.14
  • 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
ansible-playbook -i inventario site.yml -u root

O con sudo

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

Administración con runit

ansible all -i inventario -a 'sv status snow-proxy' # estado del servicio 
ansible all -i inventario -a 'sv restart snow-proxy' # reinicio del servicio
ansible all -i inventario -a 'sv stop snow-proxy' # parar el servicio

Actualización

Para actualizar la última versión de snowflake es necesario agregar a nuestro libro de jugadas la variable snowflake_update con yes. De la siguiente manera

- hosts: snowflake
  vars:
    snowflake_update: yes
  roles:
      - nvjacobo.snowflake

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