1. Habilita Actualizaciones Automáticas de Software

Una de las cosas más importantes para mantener la seguridad de tu relay es instalar las actualizaciones de seguridad en su momento y, mejor, de forma automática para no olvidarlas. Sigue las instrucciones para activar actualizaciones automáticas de softwarepara tu sistema operativo.

2. Configura el Repositorio del Tor Project

Configuriar el Repositorio del Tor Project para Fedora consiste básicamente en emplear el siguiente contenido en /etc/yum.repos.d/Tor.repo:

[tor]
name=Tor for Fedora $releasever - $basearch
baseurl=https://rpm.torproject.org/fedora/$releasever/$basearch
enabled=1
gpgcheck=1
gpgkey=https://rpm.torproject.org/fedora/public_gpg.key
cost=100

Aquí puede ser encontrada más información acerca de ello.

3. Instalar tor

Una vez que hayas configurado el repositorio Tor, ya puedes instalar el paquete:

# dnf install tor

4. Instalar obfs4proxy

Aquí optamos por instalar y usar obfs4 como transporte conectable, así que vamos a instalar obfs4proxy.

A diferencia de otras distribuciones de Linux, Fedora ofrece un paquete binario que podemos utilizar. Disponible desde Fedora 33.

El paquete se llama obfs4 y esto es todo lo que necesitas para instalarlo:

# dnf install obfs4

Para más información sobre cómo instalar o compilar obfs4proxy desde el código fuente, consulta su documentación oficial.

5. Edita tu archivo de configuración Tor, usualmente ubicado en /etc/tor/torrc, y reemplaza su contenido con:

RunAsDaemon 1
BridgeRelay 1

# Reemplaza "TODO1" con un puerto Tor de tu elección. Este puerto debe ser externamente
# alcanzable. Evita el puerto 9001, porque comúnmente está asociado con Tor, y
# los censores podrían estar escaneando Internet buscando este puerto.
ORPort TODO1

ServerTransportPlugin obfs4 exec /usr/bin/obfs4proxy

# Reemplaza "TODO2" con un puerto obfs4 de tu elección. Este puerto debe ser
# alcanzable desde el exterior, y diferente del especificado para ORPort.
# Evita el puerto 9001, porque comúnmente está asociado con
# Tor, y los censores podrían estar escaneando Internet por el mismo.
ServerTransportListenAddr obfs4 0.0.0.0:TODO2

# Puerto de comunicación local entre Tor y obfs4. Siempre ajústalo a "auto".
# "Ext" significa "extendido", no "externo".  No intentes establecer un puerto específico
# número de puerto específico, ni escuches en 0.0.0.0.
ExtORPort auto

# Reemplaza "<address@email.com>" con tu dirección de correo electrónico, de manera que podamos contactarte si
# hay problemas con tu puente. Esto es opcional, pero te alentamos a que lo hagas.
ContactInfo <address@email.com>

# Elige un sobrenombre que te guste para tu puente. Esto es opcional.
Nickname PickANickname

No olvides cambiar las opciones ORPort, ServerTransportListenAddr, ContactInfo, y Nickname.

  • Ten en cuenta que ambos, el puerto OR de Tor y su puerto obfs4, deben ser alcanzables. Si tu puente está detrás de un cortafuegos o NAT, asegúrate de abrir ambos puertos. Puedes usar nuestra prueba para ver si tu puerto obfs4 se puede acceder desde el Internet.

6. Disable SeLinux

Comprueba si SeLinux está configurado como "Obligatorio".

# getenforce

Si está configurado a "Obligatorio", cambia el Estado a "Permisivo".

# setenforce 0

To make the Changes Permanent:

# nano /etc/selinux/config

and change SELINUX=enforcing to SELINUX=permissive

7. Open Ports in Fedora firewall

For the obfs4 and ORPort which you have chosen in the torrc file.

# firewall-cmd --add-port XXX/tcp --permanent

after you did it for both ports, run:

# firewall-cmd --reload

(Opcional) Configurar systemd para permitir el enlace obfs4 en puertos con prioridad

Si decides usar un puerto fijo de obfs4 menor que 1024 (por ejemplo 80 o 443), necesitarás configurar systemd y dar a obfs4 las capacidades CAP_NET_BIND_SERVICE para enlazar el puerto con un usuario no root:

# setcap cap_net_bind_service=+ep /usr/bin/obfs4proxy

8. Restart Tor

# systemctl enable --now tor

9. Monitor your logs

Para confirmar que tu puente está corriendo sin problemas, deberías ver algo como esto (usualmente en /var/log/tor/log o /var/log/syslog):

[notice] Your Tor server's identity key fingerprint is '<NICKNAME> <FINGERPRINT>'
[notice] Your Tor bridge's hashed identity key fingerprint is '<NICKNAME> <HASHED FINGERPRINT>'
[notice] Registered server transport 'obfs4' at '[::]:46396'
[notice] Tor has successfully opened a circuit. Looks like client functionality is working.
[notice] Bootstrapped 100%: Done
[notice] Now checking whether ORPort <redacted>:3818 is reachable... (this may take up to 20 minutes -- look for log messages indicating success)
[notice] Self-testing indicates your ORPort is reachable from the outside. Excellent. Publishing server descriptor.

10. Final Notes

Si estás teniendo problemas para configurar tu puente, dale un vistazo a nuestra sección de ayuda. Si tu puente ahora se está ejecutando, comprueba las notas postinstalación.