1. Asegúrate de que los puertos del repetidor se pueden contactar
Si estás usando un firewall, abra un agujere en tu firewall para que las conexiones entrantes puedan llegar a los puertos que usará para tu relay (ORPort).
Ademas, asegúrate de permitir todas las conexiones salientes, así tu repetidor puede llegar a los otros repetidores, clientes y destinos Tor.
Puedes encontrar el número del puerto TCP ORPort específico en la Página de configuración (en las secciones específicas del sistema operativo).
2. Verifica que el repetidor funcione
Si tu registro (syslog) contiene la siguiente entrada después de arrancar tu demonio Tor, tu repetidor debería funcionar debidamente:
Self-testing indicates your ORPort is reachable from the outside. Excellent.
Publishing server descriptor.
Aproximadamente 3 horas después de iniciar tu relay, debería aparecer en Búsqueda de relays en el portal Metrics.
Puedes buscar tu repetidor usando tu sobrenombre o tu dirección IP.
3. Lee sobre el ciclo de vida de los repetidores Tor
Se necesita algún tiempo para que el tráfico del relay aumente, esto es especialmente cierto para los relays de guardia pero, en menor medida, también para los relays de salida. Para comprender este proceso, mira ciclo de vida de un nuevo relay.
4. Gestor de Configuraciones
Si planeas correr más de un único repetidor, quieres correr un repetidor de alta capacidad (múltiples instancias de Tor por servidor) o quieres usar caracterísiticas de seguridad potentes como Claves Maestras Fuera de Línea sin efectuar pasos adicionales manualmente, podrías querer usar un gestor de configuración para facilitar el mantenimiento.
Hay múltiples soluciones para la gestión de configuraciones para sistemas operativos basados en Unix (Ansible, Puppet, Salt, ...).
El siguiente Rol Ansible ha sido específicalmente construído para operadores de repetidores Tor, y soporta a múltiples sistemas operativos: Ansible Relayor.
5. Importante: Si corres mas de una instancia Tor
Para evitar poner a los clientes Tor en riesgo cuando operes múltiples repetidores, debes establecer un valor apropiado de MyFamily, y tener una ContactInfo válida en tu configuración torrc.
El ajuste MyFamily simplemente comunica a los clientes Tor qué repetidores Tor son controlados por la misma entidad/operador/organización, para que no se usen en múltiples posiciones de un mismo circuito.
Si corres dos repetidores y tienen las huellas digitales AAAAAAAAAA y BBBBBBBB, deberías agregar la siguiente configuración para establecer MyFamily:
MyFamily AAAAAAAAAA,BBBBBBBB
en ambos repetidores. Para encontrar la huella digital de tu repetidor, puedes mirar dentro de los archivos de registro cuando tor arranca, o encontrar el archivo llamado "fingerprint" en tu DataDirectory de tor.
En vez de hacer eso manualmente, para operadores grandes recomendamos automatizar el valor MyFamily a través de una solución de gestión de configuración.
La gestión manual de MyFamily para grupos grandes de repetidores es propensa a errores, y puede poner a los clientes Tor en riesgo.
6. Añade reglas al cortafuegos para protegerte de los ataques DDoS
Se ha demostrado que configurar el cortafuegos para detener demasiadas conexiones simultáneas ayuda significativamente a hacer frente a los ataques DDoS contra repetidores.
Considera la posibilidad de aplicar uno de los siguientes mecanismos:
Nota: Se trata de recursos proporcionados por la comunidad.
Debes comprobarlos cuidadosamente antes de aplicarlos a tu sistema.
Además, ten en cuenta que estas normas han demostrado su eficacia en determinados ataques que se han producido en el pasado.
Los ataques evolucionan constantemente y a menudo necesitarán nuevas reglas, así que mantente conectado para actualizarlas cuando sea necesario, suscribiéndote al proyecto correspondiente o a la lista de correo tor-relays.
7. Opcional: Limitar el uso del ancho de banda (y el tráfico)
Tor no va a limitar el uso de ancho de banda por defecto, pero permite múltiples maneras de restringir el uso de ancho de banda y la cantidad de tráfico.
Esto puede ser muy útil si quieres asegurarte de que tu repetidor Tor no exceda una cierta cantidad de ancho de banda o tráfico total por día/semana/mes.
La siguientes opciones configuración torrc pueden ser usadas para restringir el uso del ancho de banda o el tráfico:
- AccountingMax
- AccountingRule
- AccountingStart
- BandwidthRate
- BandwidthBurst
- RelayBandwidthRate
Tener un repetidor rápido por algún tiempo del mes es preferible a un repetidor lento por el mes completo.
También mira la entrada sobre ancho de banda en las PMF.
8. Comprueba la disponibilidad de IPv6
Alentamos a todos a habilitar IPv6 en sus repetidores. Esto es especialmente valioso en repetidores de salida y guarda.
Antes de habilitar tu daemon tor para usar IPv6 en adición a IPv4, deberías hacer algunas pruebas básicas de conectividad IPv6.
La siguiente línea de comando hará un ping a las direcciones IPv6 de las autoridades de directorio Tor desde tu servidor:
ping6 -c2 2001:858:2:2:aabb:0:563b:1526 && ping6 -c2 2620:13:4000:6000::1000:118 && ping6 -c2 2001:67c:289c::9 && ping6 -c2 2001:678:558:1000::244 && ping6 -c2 2001:638:a000:4140::ffff:189 && echo OK.
Al final de la salida deberías ver "OK". Si ese no es el caso, no habilites IPv6 en tu archivo de configuración torrc antes de que IPv6 esté de hecho funcionando.
Si habilitas IPv6 sin la conectividad IPv6 funcionando, tu repetidor completo no va a ser usado, independientemente de que IPv4 sí funcione.
Si funcionó bien, haz a tu repetidor Tor alcanzable vía IPv6 añadiendo una línea adicional ORPort a tu configuración (ejemplo para ORPort 9001):
ORPort [IPv6-address]:9001
La ubicación de esa línea en el archivo de configuración no importa.
Simplemente puedes agregarla al lado de la primera línea ORPort en tu archivo torrc.
Nota: Tienes que especificar explícitamente tu dirección IPv6 entre corchetes, no puedes decirle a tor que se enlace a cualquier dirección IPv6 (como haces para IPv4).
Si tienes una dirección IPv6 global debieras ser capaz de encontrarla en la salida del siguiente comando:
ip -6 addr | grep global | sed 's/inet6//;s#/.*##'
Si eres un repetidor de salida con conectividad IPv6, dile a tu demonio tor que permita la salida vía IPv6, de manera que los clientes puedan alcanzar destinos IPv6:
IPv6Exit 1
Nota: Tor requiere conectividad IPv4, no puedes correr un repetidor Tor solamente con IPv6.
9. Mantenimiento de un relé
Crear copia de seguridad de las Claves de Identidad Tor
Luego de tu instalación y arranque del demonio tor iniciales, es una buena idea hacer una copia de seguridad de las claves de identidad a largo plazo de tu repetidor.
Están ubicadas en la subcarpeta "keys" de tu DataDirectory (simplemente haz una copia de la carpeta completa y almacénala en un lugar seguro).
Ya que los repetidores tienen un tiempo de crecimiento, tiene sentido hacer una copia de respaldo de la clave de identidad para ser capaz de restaurar la reputación de tu repetidor después de una falla de disco - de otra manera tendrías que ir a través de la fase de crecimiento de nuevo.
Haz esto solo si tienes un lugar muy seguro para tus claves, ya que en caso de robo, estas claves teóricamente podrían permitir el descifrado o la suplantación del tráfico.
Ubicaciones por defecto de la carpeta de claves:
- Debian/Ubuntu:
/var/lib/tor/keys
- FreeBSD:
/var/db/tor/keys
- OpenBSD:
/var/tor/keys
- Fedora:
/var/lib/tor/keys
Suscribirse a la lista de correo tor-announce
Esta es una lista de correo de muy bajo tráfico, y obtendrás información acerca de nuevas versiones estables de tor y de importantes actualizaciones de securidad: tor-announce.
Estableciendo notificaciones de apagones
Una vez que hayas configurado tu relé, es probable que funcione sin mucho trabajo por tu parte.
Si algo va mal, es bueno recibir una notificación automática.
Recomendamos usar Tor Weather, un servicio de notificación desarrollado por el Proyecto Tor.
Ayuda a los operadores de relés a recibir notificaciones cuando sus relés o puentes están fuera de línea, así como para otras incidencias.
Otra opción es utilizar uno de los servicios gratuitos que te permiten comprobar la accesibilidad de los ORPorts de tu repetidor y enviarte un correo electrónico en caso de que no se pueda acceder a ellos.
UptimeRobot es uno de estos servicios que te permite monitorear servicios TCP escuchando en puertos arbitrarios.
Este servicio puede comprobar tus puertos configurados una vez cada 5 minutos, y enviarte un correo electrónico si tu proceso tor muriera o se tornara inalcanzable.
Esto comprueba solamente por el servicio escuchando, pero no habla el protocolo Tor.
Una buena manera de monitorear el estado de salud de un repetidor es dar una mirada a sus gráficos de ancho de banda.
Monitoreo de la Salud del Sistema
Para asegurar que tu repetidor es saludable y no está sobrepasado, tiene sentido tener algún sistema de monitoreo básico para mantener un ojo en las siguientes métricas:
- Ancho de banda
- Conexiones TCP Establecidas
- Memoria
- Archivo de paginación
- CPU
Hay muchas herramientas para monitorear esta clase de datos, munin es una de ellas, y es relativamente fácil de configurar.
Nota: No hagas públicos tus gráficos privados de monitoreo de datos ya que esto podría ayudar a los atacantes a dejar a los usuarios de Tor sin anonimato.
Algún consejo práctico:
- Si quieres publicar estadísticas de tráfico, deberías agrupar todo el tráfico de tu repetidor sobre una semana al menos, luego redondear eso a lo más cercano a 10 TiB (terabytes).
- Reportar repetidores individuales es peor que reportar totales para grupos de repetidores. En el futuro, tor agrupará en forma segura estadísticas de ancho de banda, por lo que cualquier reporte individual de ancho de banda de un repetidor será menos seguro que las estadísticas de tor.
- Periodos más cortos son peores.
- Los números son peores que los gráficos.
- Datos en tiempo real son peores que datos históricos.
- Datos en categorías (versión de IP, entrada/salida, etc.) son peores que datos totales.
Herramientas
Esta sección lista unas pocas herramientas que puedes encontrar prácticas como operador de un repetidor Tor.
Nyx: es una herramienta del Tor Project (anteriormente arm) que te permite ver datos en tiempo real de tu repetidor.
vnstat: vnstat es una herramienta de línea de comando que muestra la cantidad de datos pasando a través de tu conexión de red.
También puedes usarla para generar figuras PNG mostrando gráficos de tráfico. documentación de vnstat y demo de salida.