Ansible role para la instalación, configuración y operación de proxies Snowflake.
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