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. Installer Tor

# pkg_add tor

3. Installez l’obfuscateur

Lyrebird est une bifurcation (fork) d’obfs4proxy maintenue par le Projet Tor.

Depuis OpenBSD 7.9, un paquet lyrebird est disponible.

# pkg_add lyrebird

3.1 Alternative : compiler lyrebird depuis les sources

Si vous n’êtes pas encore sous OpenBSD 7.9, vous pouvez le compiler depuis les sources.

Le paquet go est une dépendance de compilation.

# pkg_add go

Clonez le dépôt et placez-vous dedans avec cd.

$ git clone https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird.git
$ cd ./lyrebird

Vous pouvez éventuellement extraire (checkout) le tag de la dernière version (par ex. lyrebird-X.X.X).

$ git checkout VERSION_TAG

Compilez l’exécutable et installez-le dans un répertoire de votre PATH.

$ make build
# cp ./lyrebird /usr/local/bin/lyrebird

4. 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
DataDirectory /var/tor
User          _tor

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.

5. Modifier openfiles-max et maxfiles

Par défaut, OpenBSD maintient une limite assez basse sur le nombre maximal de fichiers ouverts par processus. Pour un démon tel que celui de Tor, qui ouvre une connexion vers chacun des autres relais (actuellement environ 7 000 relais), ces limites devraient être relevées.

Ajoutez la section suivante à /etc/login.conf :

tor:\
    :openfiles-max=13500:\
    :tc=daemon:

Modifiez maintenant la classe de connexion de l’utilisateur _tor en conséquence :

# usermod -L tor _tor

OpenBSD enregistre également une limite de descripteurs de fichiers au niveau du noyau dans la variable sysctl kern.maxfiles.

Augmentez-le de la valeur par défaut de 7030 à 16000 :

# echo "kern.maxfiles=16000" >> /etc/sysctl.conf
# sysctl kern.maxfiles=16000

6. Démarrer Tor

# rcctl enable tor
# rcctl start tor

7. Surveillez vos journaux (généralement dans votre syslog)

Pour confirmer que votre bridge fonctionne sans problème, vous devriez voir quelque chose comme ceci :

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

8. 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.