Fil d'Ariane
Mis à jour le mercredi 30 novembre 2016
  • 15 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

Ce cours existe en eBook.

Vous pouvez obtenir un certificat de réussite à l'issue de ce cours.

J'ai tout compris !

Faites fonctionner un relais chez vous

Connectez-vous ou inscrivez-vous pour bénéficier de toutes les fonctionnalités de ce cours !

Le réseau Tor est, comme nous l'avons vu en introduction, un réseau qui fonctionne grâce aux relais mis en place par de nombreux bénévoles un peu partout à la surface du globe. C'est grâce à ces personnes que vous pouvez utiliser le réseau Tor gratuitement. Et si vous participiez, pour rendre au réseau ce qu'il vous offre ?

Il y a plusieurs manières de participer au réseau Tor. Mais la plus concrète reste encore de faire fonctionner un relais qui peut être utilisé par les autres utilisateurs !

Ce que vous devez savoir avant de faire fonctionner un relais

Avant de nous lancer dans la configuration d'un relais, je dois vous informer de certains points au sujet des relais Tor.

Importance de la disponibilité

Pour que votre relais ait une réelle influence sur le réseau, il faut lui laisser le temps d'être connu de tous les clients Tor, ce qui prend un certain temps. C'est pour cela que, si vous voulez faire fonctionner un relais Tor qui soit utile, il est important de faire en sorte que votre relais soit fonctionnel 24 heures sur 24, 7 jours sur 7. Sinon, le réseau marquera votre nœud comme non fiable, et aucun client ne l'utilisera. :(

Mais si j'utilise mon ordinateur, ça va consommer plein d'énergie. Ça va me coûter cher ton histoire !

Exactement ! C'est pour cela qu'un ordinateur personnel n'est pas vraiment approprié pour faire fonctionner un relais chez soi. Cependant, vous avez peut-être un micro-ordinateur, comme un Raspberry Pi. Ces appareils présentent l'intérêt d'être très économes en énergie (une dizaine de Watts au maximum). Vous pouvez donc les laisser allumés à longueur de journée sans que cela n'ait une trop grande influence sur votre facture d'électricité. :)

Sinon, vous avez peut-être un petit serveur (VPS ou serveur dédié). Si vous avez un accès SSH à celui-ci, vous pouvez faire fonctionner un relais Tor dessus. C'est ce cas-là que je détaillerai dans la suite de ce tutoriel.

Mais si j'ai une connexion Internet pourrie, ou si le système que je veux utiliser n'est pas très puissant, c'est vraiment utile de faire fonctionner un relais Tor ?

Absolument ! Tor n'est pas un programme très exigeant. N'importe quel système devrait être capable de le supporter (j'ai déjà essayé avec un Raspberry Pi, ça fonctionne très bien !). En ce qui concerne la bande passante, la plupart des relais n'ont pas une bande passante importante. Même si vous apportez peu au réseau, vous apportez toujours quelque chose et c'est l'essentiel !

Intérêt de faire fonctionner un relais Tor chez soi

Faire tourner un relais Tor chez vous présente un énorme avantage pour la protection de vos requêtes. En effet, si vous faites fonctionner un relais Tor, il sera normal que vous contactiez d'autres relais Tor (en l’occurrence pour faire suivre les requêtes). Ainsi, il ne sera pas possible de séparer les requêtes que vous faites de celles que l'on vous demande de faire en tant que relais. Cela permet de cacher votre utilisation personnelle du réseau Tor.

Faire fonctionner un relais de sortie n'est pas sans conséquences !

Comme vous pouvez vous en douter, tout comme Internet, le réseau Tor n'est pas utilisé que par des personnes qui veulent consulter Wikipédia ou faire des recherches Google. Il y a aussi certaines personnes qui profitent des possibilités d'anonymisation offertes par Tor pour faire un peu tout et n'importe quoi. Ainsi, si vous êtes au bout de la chaîne des relais Tor (on dit que vous êtes un relais de sortie, en anglais exit relay), c'est vous qui faites ces requêtes parfois illégales sur Internet.

Résultat : on peut parfois vous contacter pour ces activités. Bien que, le plus souvent, expliquer votre rôle dans le réseau Tor suffise pour être tranquille, la multitude de plaintes peut être ennuyeuse à la longue. Heureusement, il est possible de demander à Tor de ne pas être relais de sortie, et c'est d'ailleurs le choix que font la plupart des personnes qui font fonctionner un relais Tor chez eux (et que nous allons faire). Cela permet d'avoir les avantages du relais Tor chez soi, sans les problèmes !

Votre relais doit être accessible depuis l'extérieur

Si vous décidez de faire fonctionner un relais Tor chez vous, il y a fort à parier que votre box Internet bloquera les connexions entrantes : ceux qui voudront contacter votre relais Tor ne pourront pas le faire, car leurs requêtes seront bloquées par votre box Internet. Cela est une restriction mise en place par votre fournisseur d'accès parce que votre box ne peut savoir à quel périphérique du réseau domestique la connexion est destinée. C'est pour cela qu'il vous faudra ouvrir certains ports. Cette opération consiste à configurer votre box Internet pour qu'elle redirige les connexions entrantes sur un port particulier à un périphérique du réseau, ici votre relais Tor. Je reviendrais sur ce point lors de la configuration du relais, ne vous inquiétez pas! 

Configuration de Tor

Pour faire fonctionner un relais Tor, vous devez tout d'abord avoir installé Tor sur votre système. Sous Linux, utilisez le gestionnaire de paquets de votre distribution. Par exemple pour Ubuntu :

apt-get install tor

Configuration en relais interne

Vous l'aurez compris, si vous voulez faire fonctionner un relais Tor sans problème, le plus simple est de faire fonctionner un relais Tor qui ne soit pas un relais de sortie (on dit qu'il s'agit d'un relais interne, en anglais non-exit relay). Pour ce faire, il vous suffit de modifier la configuration de Tor, c'est-à-dire le fichier /etc/torrc et d'y ajouter ces lignes (les lignes commençant par #  sont des commentaires).

# Paramètres de relais Tor
ORPort 9001             # Port du relais - Pensez à l'ouvrir !
Nickname monsuperrelais # Nom du relais, soyez créatifs (mais pas de caractères spéciaux !)
ExitPolicy reject *:*   # Je ne suis PAS un relais de sortie!
ContactInfo aaa@bb.com  # Une adresse e-mail de contact, vous pouvez mettre une Tor Box !
## Bande passante
RelayBandwidthRate 100 KBytes  # Limiter la bande passante à 100 Ko/s (800 Kbits/s)
RelayBandwidthBurst 150 KBytes # Mais autoriser jusqu'à 150 Ko/s (1000 Kbits/s)
Configuration spéciale pour les relais bridge

Parmi les relais du réseau Tor, il existe une catégorie de relais un peu spéciaux dont nous avons déjà parlé : les bridges. Leur particularité est que la liste des bridges n'est pas publique : elle n'est diffusée que partiellement à ceux qui en ont besoin. Ainsi, il est impossible pour un fournisseur d'accès à Internet de bloquer tous les bridges. Cela est très utile pour les internautes dont l'accès à Internet est censuré.

Si vous préférez faire fonctionner un bridge chez vous, il vous faut ajouter une ligne supplémentaire à votre fichier /etc/torrc  :

BridgeRelay 1            # Je suis un bridge, pas un relais classique !

Par ailleurs, il peut arriver que, dans le cadre d'une censure d'Internet, les ports peu communs soient bloqués. Aussi, il peut être judicieux de changer le port de votre relais Tor, pour un port un peu classique comme le port 80 (utilisé par votre navigateur pour communiquer avec une grande majorité des sites web, avec le protocole HTTP). Pour ce faire, changez la ligne :

ORPort 9001              # Port du relais - Pensez à l'ouvrir !

par

ORPort 80                # Port du relais - Pensez à l'ouvrir !
Ouverture du port utilisé par le relais Tor

Si vous installez votre relais Tor chez vous, il est certain que votre box Internet bloquera les connexions entrantes adressées à votre relais Tor. Ce qui empêchera votre relais de mener à bien sa tâche. :'( Heureusement, il suffit de paramétrer correctement votre box, et le tour est joué!

Utilisation d'une IP statique

Tout d'abord, il vous faut vous assurer que votre box attribue toujours la même adresse IP au système ayant en charge le relais Tor, afin que l'adresse IP de destination des paquets ne change jamais. Pour ce faire, il faut vous munir de l'adresse MAC de la carte réseau du système, qui correspond à son identifiant unique dans le monde (rien que ça !).  Et tant qu'à faire, nous allons aussi récupérer son adresse IP. Sous Linux, ouvrez un Terminal et tapez ifconfig. Vous devriez obtenir quelque chose comme cela :

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
 inet 192.168.1.2 netmask 255.255.255.0 broadcast 192.168.1.255
 inet6 fe80::783f:4dff:fe8f:1fe7 prefixlen 64 scopeid 0x20<link>
 ether 7a:3f:4d:8f:1f:e7 txqueuelen 1000 (Ethernet)
 RX packets 92305157 bytes 1126413161 (1.0 GiB)
 RX errors 0 dropped 1603 overruns 0 frame 0
 TX packets 119103931 bytes 3727133149 (3.4 GiB)
 TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 16436
 inet 127.0.0.1 netmask 255.0.0.0
 inet6 ::1 prefixlen 128 scopeid 0x10<host>
 loop txqueuelen 0 (Local Loopback)
 RX packets 675706 bytes 446496686 (425.8 MiB)
 RX errors 0 dropped 0 overruns 0 frame 0
 TX packets 675706 bytes 446496686 (425.8 MiB)
 TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

Comme vous le voyez, il y a une section par connexion. La connexion du bas lo n'est pas intéressante car il s'agit d'une boucle de mon ordinateur à mon ordinateur (c'est celle-là qui est utilisée pour les connexions à 127.0.0.1). Celle du haut l'est bien plus : on peut y voir mon adresse IP sur le réseau domestique : 192.168.1.2 (la plupart des adresses IP domestiques sont au format 192.168.1.__) ainsi que mon adresse MAC : 7a:3f:4d:8f:1f:e7 (les adresses MAC se présentent toujours sous le format de 6 groupes de 2 chiffres hexadécimaux). Son nom est par ailleurs eth0 , or je sais que mon ordinateur est connecté par un câble réseau : en Ethernet ! (Si vous êtes connecté en Wi-Fi, le nom est en wlan pour Wireless Local Area Network : réseau local sans fil.)

Une fois munis de ces deux informations, rendez-vous dans la configuration de votre Box avec votre navigateur Internet (le plus souvent, il suffit de taper l'adresse 192.168.1.1, mais cela varie selon les opérateurs), et cherchez les paramètres DHCP. Il se peut que votre box vous demande un mot de passe. C'est le plus souvent le mot de passe du réseau Wi-Fi, ou alors votre fournisseur d'accès à Internet vous l'a communiqué dans l'une des premières lettres qu'il vous a envoyées (avec vos identifiants clients, comme le mot de passe de votre adresse e-mail). N'ayez pas peur de fouiller un peu, tant que vous ne modifiez rien, il ne peut rien vous arriver de bien grave. 

Je vais prendre ici l'exemple de ma Freebox : une fois connecté à la Freebox en tapant dans la barre d'adresse http://mafreebox.freebox.fr , il y a dans "Paramètres de la Freebox", en choisissant en haut le "Mode avancé", une icône "DHCP".

Emplacement des Paramètres DHCP sur une Freebox
Emplacement des paramètres DHCP sur une Freebox

Une fois les paramètres DHCP trouvés, cherchez la section "Adresses IP statiques" ou "Baux statiques". Puis cherchez le bouton ou le formulaire d'ajout et remplissez le formulaire avec les adresses MAC et IP que vous avez trouvées auparavant.

Définition d'une IP statique (avec mes paramètres entre parenthèses)
Définition d'une IP statique (avec mes paramètres entre parenthèses)

Ouverture du port utilisé par TOR

Une fois que l'on est sûr que le système hébergeant le relais Tor aura une IP statique sur le réseau, il faut configurer la box pour qu'elle renvoie toutes les connexions entrantes sur le port utilisé par le réseau Tor vers l'adresse IP fixée. Pour ce faire, il faut chercher les paramètres de Redirection de port, parfois situés dans la section NAT.

Emplacement des paramètres de Redirection de port sur une Freebox
Emplacement des paramètres de Redirection de port sur une Freebox

Cherchez ensuite le bouton ou le formulaire d'ajout d'une nouvelle règle.

Emplacement du bouton d'ajout d'une règle de redirection sur une Freebox
Emplacement du bouton d'ajout d'une règle de redirection sur une Freebox

Puis ajoutez une règle avec les paramètres suivants :

  • Port extérieur : le port utilisé par Tor, il est indiqué dans la configuration de Tor (dans le fichier /etc/torrc) à côté de la directive ORPort. Si vous avez utilisé mon exemple de configuration, c'est 9001 si vous êtes un relai classique, et 80 si vous avez choisi d'être un bridge. Si vous avez une plage à entrer (c'est mon cas avec les ports de début et de fin), mettez le même port aux deux endroits.

  • Port intérieur/de destination: le même que le port extérieur.

  • Protocole : TCP.

  • IP  de destination :  celle que vous avez choisie dans les paramètres DHCP.

Paramétrage de la redirection de port sur une Freebox
Paramétrage de la redirection de port sur une Freebox
Relancer le client Tor

Une fois le client Tor configuré et votre installation paramétrée, il ne vous reste plus qu'à relancer votre relais Tor.

service tor reload

Vérifiez ensuite que tout se passe bien. Pour ce faire, jetez un œil au fichier /var/log/tor/log  (sous Ubuntu). Vous devriez voir au bout de quelques minutes une ligne comme celle-ci :

Self-testing indicates your ORPort is reachable from the outside. Excellent.

Si vous avez une ligne vous indiquant que le port n'est pas accessible (unreachable), c'est qu'il y a vraisemblablement un problème dans l'ouverture du port 9001. Vérifiez bien vos paramètres, relancez Tor, et cela devrait finir par marcher ! Si vous n'avez pas d'informations sur le test du port, soyez patient. Il m'a, pour ma part, fallu attendre près de 40 minutes pour que le message s'affiche. Donc si vous ne l'avez pas tout de suite, attendez quelques heures puis vérifiez à nouveau les logs. 

Utilisation d'un nouveau relais par le réseau Tor

Avant que votre relais ne soit utilisé au maximum de son potentiel, il faut qu'il ait fonctionné pendant une durée de 68 jours ? Pourquoi 68 ? Parce qu'en 68 jours, il se passe pas mal de choses... Un article sur le blog du projet Tor explique bien tout cela. J'en ai fait un petit résumé ci-dessous.

Différents types de relais internes

Afin d'éviter qu'il ne soit trop facile de pister les utilisateurs de Tor, les relais internes du réseau Tor sont séparés en deux catégories : ceux qui peuvent être utilisés comme porte d'entrée par un client Tor (dits guard relays), et les autres, dits middle relay (qui ne sont contactés que par d'autres relais du réseau, et qui ne contactent que des autres relais du réseau). Pour devenir un guard relay, il faut que le réseau vous désigne comme tel. Cela est fait selon plusieurs critères, dont les principaux sont :

  • la bande passante : votre relais doit être assez rapide, afin de ne pas ralentir les clients qui s'y connecteront ;

  • disponibilité : votre relais doit avoir un taux de disponibilité (uptime) acceptable ;

  • l'ancienneté : votre relais doit avoir 8 jours d'ancienneté au moins.

Influence d'un changement de rôle

Si votre relais est "promu" au rôle de guard relay par le réseau, les clients qui utilisaient votre relais comme middle relay vont prendre en note le fait que vous êtes maintenant un guard relay, et éviter de vous contacter en tant que middle relay afin de préserver les ressources de votre relais pour son nouveau rôle, plus important. Ainsi, si vous obtenez le rôle de guard relay, vous observerez une baisse de l'utilisation de votre relais.

Heureusement, cette baisse n'est que passagère car, au fur et à mesure, les clients vous prendront en compte selon votre nouveau rôle, et l'utilisation de votre relais augmentera donc à nouveau !

Le consensus weight, indicateur de l'importance de votre relais

L'utilisation des relais du réseau par un client est faite proportionnellement à ce que l'on appelle le consensus weight. C'est une sorte de score qui est associé à votre relai, et qui dépend de différents facteurs, dont les principaux sont :

  • La bande passante de votre relais. Si votre relais a une bande passante élevée, votre consensus weight augmentera afin que plus de requêtes passent par votre relai. Cela permet d'utiliser au mieux les ressources disponibles.

  • Le rôle de votre relais. Si vous êtes guard relay, votre score est augmenté.

Rotation des relais dans chaque client

Chaque client Tor, lorsqu'il démarre, demande au réseau une liste de différents relais disponibles. C'est dans cette liste que le client pioche à chaque fois pour établir ses circuits. Et, afin de faire les requêtes rapidement, cette liste est mise en cache pendant une durée de 60 jours. C'est pour cela que, au début, votre relais n'est pas beaucoup utilisé. Cependant, au bout de 60 jours, l'équilibre entre ceux qui vous suppriment de leur cache et ceux qui vous ajoutent est établi. C'est pour cela que l'on dit que, au bout de 60 jours, l'utilisation de votre relais se stabilise.

Application à un nouveau relais

Rien ne vaut un graphique pour comprendre comment tout cela se passe concrètement !

Utilisation de votre relais par le réseau, sur une période de 68 jours (Source)
Utilisation de votre relais par le réseau, sur une période de 68 jours

En haut, nous avons l'utilisation de bande passante à laquelle vous pouvez vous attendre et en bas, le score de votre relais (le consensus weight).

Au début, votre relais est reconnu par le réseau comme middle relay. Son utilisation augmente petit à petit car de plus en plus de clients vous connaissent. Par ailleurs, son consensus weight augmente aussi petit à petit car la bande passante de votre relais est petit à petit testée par le réseau, qui vous fait ainsi de plus en confiance. Cette augmentation se poursuit jusqu'à jour 8 (les premiers pointillés verticaux).

Que se passe-t-il ce jour-là ? Eh bien, si vous êtes éligibles au rôle de guard relay, c'est ce jour-là que le critère d'ancienneté, le dernier qui n'était pas encore rempli, est atteint. Ainsi, votre relais change de rôle et, par conséquent, son utilisation retombe à 0 le temps que les clients vous utilisent comme guard relay.

Une fois votre nouveau rôle obtenu, l'utilisation de votre relais augmente de nouveau, car de plus en plus de clients vous ont ajouté à leur cache. Cela jusqu'au jour 68 où l'équilibre d'utilisation de votre relais s'établit.

Les outils indispensables du gestionnaire de relais

Si vous faites fonctionner un relais, vous devez connaître l'existence de quelques services mis en place par le projet Tor.

Voir l'utilisation de votre relais : Atlas

Il existe un excellent site web mis en place pour avoir des informations sur un relais et son utilisation par le réseau Tor : Atlas. Pour trouver votre relais, entrez le nom que vous avez choisi dans le champ "Search..." en haut du site, puis appuyez sur Entrée et cliquez sur votre relais dans la liste (utilisez par exemple le drapeau pour repérer votre relais ou cherchez directement votre adresse IP).

En haut, vous trouverez un petit résumé sur votre relais, qui fait figurer entre autres la bande passante reconnue par le réseau (Advertised Bandwidth) et le Consensus Weight. Si vous êtes curieux au sujet de la signification des différents drapeaux (Flags) attribués à votre relais, vous pouvez consulter la spécification (en anglais).

Vous y trouverez aussi des graphiques sur l'utilisation de bande passante (written/read bytes per second), mais aussi sur le rôle de votre relais :

Utilisation d'un relais par le réseau Tor (exemple du relais marylou1 de l'association Nos Oignons)
Utilisation d'un relais par le réseau Tor (exemple du relais marylou1 de l'association Nos Oignons)

Comme on peut le voir, ce relais est un relais de sortie car seule la probabilité de sortie (exit probability) est non nulle. Si votre relais est un guard, c'est la guard probability qui sera non nulle. Sinon, ce sera la middle probability qui sera non nulle.

Être informé si il y a un problème : Tor Weather

La technologie n'est pas parfaite : il est possible que votre relais plante, ou qu'une mise à jour de Tor soit disponible. Et comme vous ne passez pas votre vie à lire les logs, il y a fort à parier que vous ne remarquiez pas avant un certain temps ces événements. Aussi, le projet Tor a mis en place un service qui surveille votre relais pour vous, et qui vous envoie un mail si jamais quelque chose ne va pas. Ce service, c'est Tor Weather.

Je ne peux que vous recommander de vous inscrire sur ce site si vous faites fonctionner un relais public (le service ne prend pas en charge les bridges). Les courriels envoyés ne sont qu'au sujet de votre relais et ils sont toujours utiles même si ils sont en anglais.

Pour vous inscrire, il vous faut vous munir de l'identifiant unique de votre relais (le Fingerprint sur la page Atlas correspondante). Remplissez ensuite le formulaire ici selon vos préférences.

Exemple de certificat de réussite
Exemple de certificat de réussite