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. Amorcer pkg

Ce guide suppose que nous avons déjà une installation de base de FreeBSD, et seulement le système de base. Cela signifie que nous n'avons aucun paquet installé, ni même le gestionnaire de paquets pkg lui-même (il n'y a pas de sudo disponible - nous exécutons les commandes en tant que superutilisateur).

Pour démarrer et installer pkg, nous devons exécuter la commande suivante :

# pkg bootstrap
# pkg update -f
2.1. Etapes recommandées pour l'installation de pkg

Pour suivre les mises à jour amont de manière plus rapide, nous recommandons de changer la branche 'quarterly' utilisée par pkg pour la branche 'latest'.

Une étape supplémentaire consiste à préférer l'utilisation de HTTPS pour récupérer nos paquets et nos mises à jour - nous avons donc besoin d'un paquet supplémentaire pour nous aider (ca_root_nss).

Installation du paquet ca_root_nss :

# pkg install ca_root_nss

Nous conservons la configuration originale utilisée par pkg mais nous en définissons une nouvelle qui la remplacera. Nous créons donc un nouveau répertoire, et créons un fichier de configuration pour remplacer ce dont nous avons besoin. Ce fichier de configuration sera /usr/local/etc/pkg/repos/FreeBSD.conf.

Création d'un nouveau répertoire :

# mkdir -p /usr/local/etc/pkg/repos

Voici à quoi doit ressembler le nouveau fichier de configuration /usr/local/etc/pkg/repos/FreeBSD.conf :

FreeBSD: {
  url: pkg+https://pkg.freebsd.org/${ABI}/latest
}

Après avoir appliqué tous ces changements, nous mettons à nouveau à jour la liste des paquets et essayons de vérifier s'il y a déjà une nouvelle mise à jour à appliquer :

# pkg update -f
# pkg upgrade -y -f

3. Installez Tor

Vous pouvez choisir d'installer la version stable (recommandée) :

# pkg install tor

Ou installer une version alpha :

# pkg install tor-devel

4. Installez obfs4proxy

# pkg install obfs4proxy-tor

5. Editez votre fichier de configuration Tor, généralement situé dans /usr/local/etc/tor et remplacez son contenu par :

RunAsDaemon 1
BridgeRelay 1

# Remplacez "TODO1" par un port Tor de votre choix.  Ce port doit être externe
# reachable.  Evitez le port 9001 parce qu'il est généralement associé à Tor et à
# Les censeurs peuvent rechercher ce port sur l'internet.
ORPort TODO1

ServerTransportPlugin obfs4 exec /usr/local/bin/obfs4proxy

# 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 port spécifique
# numéro, ne pas écouter sur 0.0.0.0.
ExtORPort auto

# Remplacez "<address@email.com>" par votre mail afin que nous puissions vous contacter si
# il y a des problèmes avec votre pont.  Ceci est facultatif mais encouragé.
ContactInfo <address@email.com>

# Choisissez un surnom que vous aimez pour votre pont.  Ceci est optionnel.
Nickname PickANickname

Log notice file /var/log/tor/notices.log

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

  • Notez que le port OR de Tor et son port obfs4 doivent être accessibles. Si votre pont est derrière un pare-feu ou un NAT, assurez-vous d'ouvrir les deux ports. Vous pouvez utiliser notre test de joignabilité pour voir si votre port obfs4 est joignable depuis l'Internet.

  • Utilisez-vous le pare-feu de FreeBSD avec une politique de "refus par défaut" ? Si c'est le cas, assurez-vous que votre obfs4proxy peut communiquer avec votre processus Tor via l'interface loopback. N'oubliez pas de mettre sur liste blanche le port ExtORPort de Tor.

6. Assurez-vous que le paramètre sysctl random_id est activé

# echo "net.inet.ip.random_id=1" >> /etc/sysctl.conf
# sysctl net.inet.ip.random_id=1

7. Démarrer le démon tor et s'assurer qu'il démarre au démarrage

# sysrc tor_setuid=YES
# sysrc tor_enable=YES
# service tor start

8. Surveillez vos fichiers logs

Pour confirmer que votre pont fonctionne sans problème, vous devriez voir quelque chose comme ceci dans /var/log/tor/notices.log :

[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 pont, consultez notre section d'aide. Si votre pont fonctionne maintenant, consultez les notes post-installation.