1. Activer les mises à jour automatiques du logiciel

L’une des choses les plus importantes pour assurer la sécurité de votre relais est d’installer les mises à jour de sécurité en temps voulu et, idéalement, de manière automatique afin de ne pas les oublier. Suivez les instructions pour activer les mises à jour logicielles automatiques pour votre système d’exploitation.

2. Installez epel-release

Pour installer le paquet tor sur CentOS/RHEL, vous devez d’abord activer l’utilisation du dépôt EPEL. Pour cela, vous devez installer le paquet epel-release :

# yum install epel-release

Les versions récentes de CentOS/RHEL utilisent dnf au lieu de yum :

# dnf install epel-release

Si vous utilisez une version récente qui emploie dnf, continuez à l’utiliser pour les étapes suivantes de ce guide d’installation où yum est appelé.

3. Configurez le dépôt du Projet Tor

Configurer le dépôt du Projet Tor pour CentOS/RHEL consiste essentiellement à créer /etc/yum.repos.d/Tor.repo avec le contenu suivant :

[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. Installez Tor

Une fois que vous avez configuré EPEL et les dépôts Tor, vous pouvez maintenant installer le paquet :

# yum install tor

Veuillez noter que lorsque vous installez le premier paquet du dépôt EPEL, vous serez invité à vérifier la clé de signature GPG de l’EPEL. Veuillez vous assurer que la clé correspond à celle disponible sur le site web du projet Fedora. Cela se produit aussi lors de la première installation de paquets depuis le dépôt de Tor : là encore, vous devez vous assurer que la clé correspond.

5. Compiler lyrebird (obfs4proxy) et le mettre en place.

Des versions très obsolètes de Git peuvent faire échouer go get ; essayez donc de passer à une version plus récente de Git si vous rencontrez ce problème.

Installez le paquet golang et les autres dépendances :

# yum install git golang policycoreutils-python-utils

Compilez maintenant le binaire et déplacez-le dans un répertoire adéquat :

git clone https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird
cd lyrebird
make build
sudo cp .//lyrebird /usr/local/bin/
# chcon --reference=/usr/bin/tor /usr/local/bin/lyrebird

6. Modifiez votre fichier de configuration Tor, généralement situé dans /etc/tor/torrc et remplacez son contenu par :

RunAsDaemon 1
BridgeRelay 1

# Remplacez « TODO1 » par un port Tor de votre choix. Ce port doit être accessible
# de l’extérieur. Évitez le port 9001 parce qu’il est généralement associé à Tor et
# les censeurs peuvent rechercher ce port sur Internet.
ORPort TODO1

ServerTransportPlugin obfs4 exec /usr/local/bin/lyrebird

# Remplacez « TODO2 » par un port obfs4 de votre choix. Ce port doit être
# accessible de l’extérieur et doit être différent de celui spécifié pour ORPort.
# Évitez le port 9001 car il est généralement associé à
# Tor et les censeurs peuvent rechercher ce port sur Internet.
ServerTransportListenAddr obfs4 0.0.0.0:TODO2

# Port de communication local entre Tor et obfs4. Mettez toujours cette valeur à « auto ».
# « Ext » signifie « étendu » et non « externe ». N’essayez pas de définir un numéro de port
# spécifique, ni d’écouter sur 0.0.0.0.
ExtORPort auto

# Remplacez « <address@email.com> » par votre adresse courriel pour que nous puissions vous contacter si
# il y a des problèmes avec votre bridge.  Ceci est facultatif mais encouragé.
ContactInfo <address@email.com>

# Choisissez un pseudonyme qui vous plaît pour votre bridge. Ceci est facultatif.
Nickname PickANickname

N’oubliez pas de modifier les options ORPort, ServerTransportListenAddr, ContactInfo et Nickname.

  • Notez que le port OR de Tor et son port obfs4 doivent tous deux être joignables. Si votre bridge est derrière un pare-feu ou un NAT, veillez à ouvrir les deux ports. Vous pouvez utiliser notre test de joignabilité pour vérifier si votre port obfs4 est joignable depuis Internet.

7. Redémarrez 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]

Les versions récentes de CentOS/RHEL qui sont livrées avec systemd :

# systemctl enable --now tor
... or restart it if it was running already, so configurations take effect
# systemctl restart tor

Si vous utilisez une version plus ancienne comme CentOS/RHEL 6, ce sera :

# service tor enable
# service tor start

8. Surveillez vos journaux

Pour confirmer que votre bridge fonctionne sans problème, vous devriez voir quelque chose comme ceci (habituellement dans /var/log/tor/log ou /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. Notes finales

Si vous avez des difficultés à configurer votre bridge, consultez notre section d’aide. Si votre bridge fonctionne maintenant, consultez les notes post-installation.