Mettre en place un relais Tor

logo tor

Tor (acronyme de the onion router) est un réseau de tunnels virtuels qui vise à empêcher l’analyse de trafic, et donc à renforcer l’anonymat et l’intimité. Pour faire court, puisque ce billet n’a pas pour objectif de présenter Tor en détail (le site officiel le fait très bien, ou encore cet article de rebellyon.info), le client Tor de l’utilisateur récupère les adresses des nœuds (ou relais, c’est-à-dire des ordinateurs auxquels il peut se connecter) auprès d’un serveur annuaire, puis il choisit aléatoirement un chemin qui passe pas un certain nombre de ces nœuds jusqu’au serveur de destination. Entre chaque relais, les communications sont chiffrées et chaque relais ne connait que le nœud précédent et le nœud suivant (si bien qu’aucun relais ne connait tout le parcours aléatoirement défini). Et puisque qu’une bonne illustration vaut plus qu’un long discours, voilà la procédure en image :

schéma tor

Tor est utilisé, entre autres, par des journalistes à l’étranger, des dissidents en Chine et ailleurs, mais aussi des opposants Iraniens. La fiabilité du réseau Tor repose donc sur le nombre de nœuds et d’utilisateurs, c’est pourquoi je me propose, dans ce billet, de vous expliquer la mise en place d’un relais Tor avec Ubuntu. Rassurez-vous, ce n’est pas insurmontable !

Installation de Tor

Avant toute chose, il faut installer Tor. La version des dépôts officiels est obsolètes, il va donc falloir commencer par en ajouter d’autres.

  • Éditez le fichier /etc/apt/sources.list en super-utilisateur avec votre éditeur de texte favoris, par exemple nano : sudo nano /etc/apt/sources.list,
  • Ajoutez en fin de fichier les deux lignes suivantes (en remplaçant éventuellement jaunty par la version que vous utilisez si elle diffère) :
    • deb http://mirror.noreply.org/pub/tor jaunty main
    • deb-src http://mirror.noreply.org/pub/tor jaunty main
  • Importez les clés de chiffrement du dépôt et ajoutez-les à votre trousseau (tout en une ligne, soyons fous !) :
    gpg --keyserver subkeys.pgp.net --recv 94C09C7F && gpg --fingerprint 94C09C7F && gpg --export 94C09C7F | sudo apt-key add -,
  • Mettez ensuite à jour la liste des paquets, avec : sudo apt-get update,
  • Vous pouvez ensuite installer Tor, en cliquant ou avec : sudo apt-get install tor.

Voilà, Tor est maintenant installé (profitez-en pour l’utiliser, tant qu’à faire ;) ).

Configuration d’un relais

Passons maintenant à l’essentiel, à savoir la configuration d’un relais Tor. Pour cela, on va créer un nouveau fichier de configuration, à notre sauce.

  • Renommez le fichier de configuration original (histoire de le conserver, au cas où), avec : sudo mv /etc/tor/torrc /etc/tor/torrc.bak,
  • Ouvrez un nouveau fichier de configuration : sudo nano /etc/tor/torrc,
  • Remplissez le comme cela :
    SocksPort 9050
    SocksListenAddress 127.0.0.1
    Log notice file /var/log/tor/notices.log
    Log debug file /var/log/tor/debug.log
    DataDirectory /var/lib/tor
    Nickname un_nom_pour_le_serveur # À adapter
    Address adresse_de_la_machine # À adapter
    RelayBandwidthRate 100 KBytes
    RelayBandwidthBurst 200 KBytes
    ContactInfo Prenom Nom <mail> # À adapter
    ORPort 9001
    ExitPolicy reject *:*

    Pensez à modifier le fichier aux lignes signalées. Concernant l’adresse de la machine : si vous avez une IP fixe, il vous suffit de la mettre ; si vous avez au contraire une IP dynamique, il faudra créer un nom de domaine qui redirige vers cette IP (chez dyndns, par exemple), et le mettre.
  • Pensez à ouvrir les ports ; Tor utilise le port TCP 9001.
  • Dès que vous avez fait tout ça, il vous suffit de redémarrer Tor : sudo /etc/init.d/tor restart.

Nous allons enfin nous assurer du bon fonctionnement du relais.

Vérification du fonctionnement

Une fois Tor redémarré, jetez un œil au fichier /var/log/tor/notices.log. Durant la quinzaine de minutes suivant la mise en place du relais, si tout se passe comme prévu, vous devriez voir une notice qui ressemble à « Self-testing indicates your ORPort is reachable from the outside. Excellent. Publishing server descriptor. ». Si c’est le cas, votre relais est fonctionnel !

Vus : 875
Publié par Nicoz : 28