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 habilitar actualizaciones automáticas de software para tu sistema operativo.
2. Instala epel-release
Para instalar el paquete tor
en CentOS/RHEL, es necesario habilitar el uso del repositorio EPEL. Para ello, debes instalar el paquete epel-release
:
# yum install epel-release
Versiones recientes de CentOS/RHEL están usando dnf
en vez de yum
:
# dnf install epel-release
Si estás sobre una versión reciente que usa dnf
, por favor sigue usándola para los siguientes pasos, donde yum
sea llamado en esta guía de configuración.
3. Configura el Repositorio del Tor Project
Configuración del Proyecto Tor Repositorio para CentOS/RHEL consiste básicamente en configurar /etc/yum.repos.d/Tor.repo
con el siguiente contenido:
[tor]
name=Tor for Enterprise Linux $releasever - $basearch
baseurl=https://rpm.torproject.org/centos/$releasever/$basearch
enabled=1
gpgcheck=1
gpgkey=https://rpm.torproject.org/centos/public_gpg.key
cost=100
4. Instala Tor
Una vez que hayas configurado los repositorios de EPEL y de Tor, ya estás habilitado para instalar el paquete:
# yum install tor
Ten en cuenta que cuando instales el primer paquete desde el repositorio EPEL, se te solicitará verificar la clave de firma GPG de EPEL.
Por favor asegúrate de que la clave coincida con la que está disponible en el sitio web del Fedora Project.
Esto también ocurrirá cuando instales paquetes desde el repositorio de Tor por primera vez - de nuevo hasz de asegurarte de que la clave coincide.
5. Compila obfs4proxy y muévelo a su lugar.
Versiones muy desactualizadas de git pueden hacer que go get
falle, por lo que intenta actualizar a una versión más reciente de git si te estás encontrando con este problema.
Instala el paquete golang y otras dependencias:
# yum install git golang policycoreutils-python-utils
Ahora construye el binario, y muévelo a un directorio apropiado:
export GOPATH='mktemp -d'
go get gitlab.com/yawning/obfs4.git/obfs4proxy
sudo cp $GOPATH/bin/obfs4proxy /usr/local/bin/
# chcon --reference=/usr/bin/tor /usr/local/bin/obfs4proxy
6. 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/local/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.
7. Reinicia Tor
sudo semanage port -a -t tor_port_t -p tcp [OR port set earlier, in TODO1]
sudo semanage port -a -t tor_port_t -p tcp [obfs4 port set earlier, in TODO2]
Versiones recientes de CentOS/RHEL que vienen con systemd:
# systemctl enable --now tor
... or restart it if it was running already, so configurations take effect
# systemctl restart tor
En caso que usaras una versión más vieja, como CentOS/RHEL 6, eso será:
# service tor enable
# service tor start
8. Monitorea tus registros
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.
9. Notas Finales
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.