Tor/Privoxy

Mise en place d'un relais Tor/Privoxy pour surfer anonymement

Pourquoi un relais Tor ?

Protéger sa vie privée

Pour comprendre l'importance du débat, il faut d'abord avoir à l'esprit qu'aller sur Internet sans aucune protection, c'est comme sortir tout nu dans la rue.

La protection de la vie privée est un débat de plus en plus fréquent car il y a d'un côté les entreprises qui veulent exploiter les données personnelles afin d'affiner leurs services, de l'autre les politiciens qui veulent lutter contre le crime et entre les deux, les citoyens.

Les récentes actualités ont montré que certaines pratiques de surveillance étaient appliquées à la masse, sans réellement de justification et de décision démocratique. Et la vie privée des internautes est fragile.

Tor est un protocole de communication réseau qui a pour but de rendre illisible le trafic afin de garantir la confidentialité des échanges en chiffrant les données qui transitent.

Privoxy est un serveur de proximité permettant de parfaire l'anonymat. Il est un excellent complément de Tor.

Et protéger celle des autres

À chaque fois qu'un nœud utilise le réseau Tor, il est enregistré dans les annuaires locaux de chaque nœud et propagé sur le réseau afin de le faire connaître. Ainsi, plus il y a de nœuds, plus le réseau est rapide et fiable. En installant un relais Tor chez vous, vous améliorez la défense de votre vie privée et vous améliorer le réseau Tor en vitesse et en fiabilité.

AInsi, avec un relais chez vous vous protégez votre vie privée, et vous permettez aussi à d'autres personnes de se protéger (internautes, reporters,…).

Comment ça marche ?

Le réseau Tor repose sur des nœuds. Chaque nœud chiffre la transaction qui passe par lui. Il n'y a donc pas un chiffrage unique de bout en bout, mais une multititude de petits chiffrages successifs, comme les couches d'un oignon.

Chaque nœud commence par télécharger une liste d'autres nœuds sur un serveur. À partir de là, il construit un circuit, c'est-à-dire un chemin optimal pour faire transiter les informations. Ce circuit change régulièrement.

Et si un criminel utilise mon relais ?

Tor est connu pour être le point d'entrée du Darknet et du Deep Web sur lesquels peuvent s'effectuer des transactions illégales (trafic d'armes et de drogues, pédopornographie,…).

On peut donc s'interroger à juste titre sur la pertinence d'installer chez soi un relais. En effet, ne serait-ce pas un moyen pour un criminel d'utiliser votre adrsesse IP pour réalisesr des actes illicites ?

Tout d'abord, Tor n'est qu'un outil. Il permet aussi bien de passer les surveillances et les censures que de passer inaperçu aux yeux des autorités. Comme tout outil, il n'est ni bien ni mal. C'est l'usage qu'en fait la personne qui compte.

De plus, en mettant en place un relais, le criminel ne fait que transiter par chez vous. Il ne peut pas utiliser votre adresse comme point de sortie (Exit Node). Ce n'est donc pas votre adresse qui apparaîtra. De la même façon, nous pourrions accuser Cisco de fabriquer des routeurs et de les utiliser dans l'infrastructure Internet parce qu'ils permettent aux criminels de violer les lois (et très accessoirement aux internautes de surfer).

Mise en place

Nous verrons la mise en place sur un RaspBerry Pi. Il permet une intégration simple sur une machine petite et économe en énergie, mais suffisamment puissante pour en faire profiter le réseau.

Vous pouvez aussi installer Tor sur votre machine locale, auquel cas le relais ne sera disponible que de manière intempestive.

Installation du Raspberry Pi

Vous avez besoin :

  • d'un Raspberry Pi A ou B (environ 60 € avec son alimentation et une carte SD 4 Go ou plus);

  • clavier USB, souris USB et écran avec connecteur HDMI (d'un convertisseur HDMI/DVI ou HDMI/VGA le cas échéant) ou d'un écran possédant une entrée composite (télévision);

  • d'une connexion Internet;

  • d'environ 45 minutes (si vous êtes débutant).

Suppression des partitions

Depuis le gestionnaire de disques, supprimer les partitions sur la carte SD. L'installation se chargera de créer ceux dont elle a besoin.

Copie du système sur la carte

Téléchargez l'image de la version Raspbian depuis le site officiel.

Décompressez l'archive.

Copiez-la sur la carte SD (en ligne de commande) :

sudo dd bs=4M if=~/Téléchargements/2014-01-07-wheezy-raspbian.img of=/dev/sdc

Sous Windows

Si vous disposez d'une machine sous Windows, utilisez un logiciel comme Win32DiskImager pour copier l'image sur la carte.

Le système demande le mot de passe de l'administrateur puis exécutez la commande de copie. Une fois achevé (après quelques minutes), le résumé s'affiche :

706+1 enregistrements lus
706+1 enregistrements écrits
2962227200 octets (3.0 GB) copiés, 335.319 s, 8.8 MB/s

Éjectez la carte de votre ordinateur et insérez-la dans le port SD du Raspberry.

Premier lancement

Branchez le câble réseau, le clavier, la souris et l'écran.

Branchez l'alimentation (mini USB. Le système se lance et propose un menu de configuration dans lequel vous pourrez configurer le partionnement (utiliser toute la carte SD pour le système de fichier), la langue (choisissez de préférence l'encodage UTF-8), la disposition du clavier, l'activation du ssh, la modification du mot de passe de connexion, etc.

Au niveau de votre serveur DHCP, affectez une adresse IP fixe (par exemple 192.168.0.100) à votre Raspberry.

Important

Fixer l'adresse IP de votre relais est très important car la configuration Tor/Privoxy nécessite d'écouter les communications sur l'interface externe du relais. Et cette configurration est inscrite en dur dans les fichiers de configuration.

Une fois tout cela fait, rebootez. Et connectez-vous au compte principal (pi). Si le redémarrage se passe bien, arrêtez le Raspberry :

sudo shutdown -h now

Débranchez clavier, souris et écran et redémarrez. Vous devez pouvoir y accéder à distance en ssh.

ssh pi@192.168.0.100

Installation de Tor

Pour installer Tor, tapez la commande suivante :

sudo apt-get install tor

Configuration de Tor

  1. Ouvrez le fichier de configuration torrc :

    sudo nano /etc/tor/torrc
  2. Décommentez les lignes suivantes :

    • Log notice file /var/log/tor/notices.log : fichier de log.

    • RunAsDaemon 1 : pour un démarrage automatique au démarrage du système.

    • ORPort 9001 : port de communication (données). Il faudra ouvrir ce port au niveau du pare-feu (et faire une règle de translation si nécessaire).

    • DirPort 9030 : port de l'annuaire. Il faudra ouvrir ce port au niveau du pare-feu (et faire une règle de translation si nécessaire).

    • SocksPort 9050 : port pour les services Socks.

    • ExitPolicy reject *:* : Empêcher que le nœud pour servir de point de sortie (exit Node).

    • RelayBandwidthRate 100 KB # Throttle traffic to 100KB/s (800Kbps) : bande passante moyenne. Cette valeur est faible pour un usage fluide. Si vous disposez de plus de bande passante, vous pouvez changer cette valeur pour avoir un plus gros débit. 1000 KB est une bonne valeur qui permet de disposer d'une navigation fluide.

    • RelayBandwidthBurst 200 KB # But allow bursts up to 200KB/s (1600Kbps) : Bande passante allouée au maximum. Si vous disposez de plus de bande passante, vous pouvez changer cette valeur pour avoir un plus gros débit.

    Remplissez éventuellement le nom du nœud (Nickname), le contact, etc.

    Puis enregistrez.

  3. Au niveau de votre pare-feu (si vous en avez un), ouvrez les ports définis 9001 et 9030, en protocole TCP/UDP.

  4. Redémarrez Tor :

    sudo /etc/init.d/tor restart

Si tout s'est bien passé, le fichier de log /var/log/tor/notices.log se remplit.

cat /var/log/tor/notices.log

Si tout est correct, votre nœud est joignable sur les deux ports ouverts :

Self-testing indicates your DirPort is reachable from the outside. Excellent.
Self-testing indicates your ORPort is reachable from the outside. Excellent. Publishing server descriptor.

Et vous devriez avoir des tests.

Installation de Privoxy

Privoxy est un serveur mandataire permettant de filtrer un certain nombre d'informations et contenus (publicités, etc.) afin d'améliorer un peu la vie privée. Il peut être couplé à d'autres services comme Tor ou Squid.

Installez le paquet :

sudo apt-get install privoxy

Configuration de Privoxy

  1. Editez le fichier de configuration de Privoxy :

    sudo nano /etc/privoxy/config
  2. Définissez/activez les valeurs suivantes :

    • listen-address 192.168.0.100:8118 : le port d'écoute par défaut du proxy.

    • forward-socks4a / 127.0.0.1:9050 . : redirige les requêtes Socks4a vers Tor s'il est installé sur le même système (ce qui est notre cas).

    • forward-socks4 / 127.0.0.1:9050 . : redirige les requêtes Socks4 vers Tor s'il est installé sur le même système (ce qui est notre cas).

    • forward-socks5 / 127.0.0.1:9050 . : redirige les requêtes Socks5 vers Tor s'il est installé sur le même système (ce qui est notre cas).

    • forward 192.168.*.*/ . : permet de rediriger les requêtes sur le réseau local sans passer par Tor (si vous avez, par exemple, un serveur web hébergé sur votre réseau local).

    • forward 127.*.*.*/ . : permet de rediriger les requêtes sur le réseau local sans passer par Tor.

    • forward localhost/ . : permet de rediriger les requêtes sur le réseau local en utilisant le nom des machines.

  3. Redémarrez le proxy :

    sudo /etc/init.d/privoxy restart

Validation de la configuration

  1. Connectez-vous à https://atlas.torproject.org. En haut de la page, vous avez votre adresse IP ou votre pseudo (nickname).

  2. Dans la liste des serveurs Tor, recherchez le vôtre (à partir de son adresse IP par exemple). Il doit apparaître dans la liste. En cliquant dessus, vous pouvez accéder aux informations détaillées ainsi qu'au trafic passant par votre nœud.

  3. Configurez votre navigateur afin qu'il utilise le proxy (préférences réseau) :

    • Cochez la case configuration manuelle.

    • Proxy HTTP : 12.168.0.100; port 8118

    • Proxy SSL : 12.168.0.100; port 8118

    • Proxy FTP : 12.168.0.100; port 8118

    • Proxy SOCKS : 12.168.0.100; port 9050 (et cochez la case Socks4 ou Socks5).

    • Éventuellement, ajoutez le masque de réseau local dans les exceptions Pas de proxy pour.

  4. Ensuite rendez-vous sur https://check.torproject.org/?lang=fr. Cette page vous indique si vous utilisez Privoxy (ou pas).

  5. Rendez-vous sur votre serveur local afin de vérifier que le document s'affiche correctement (dans le cas contraire vous aurez un avertissement de Privoxy).

  6. Rendez-vous à nouveau sur https://atlas.torproject.org. Tout doit s'afficher correctement. Si vous vous rendez sur un site qui affiche votre adresse IP, cette dernière doit avoir changé.

Si toutes ces étapes sont valides, alors tout est correctement paramétré.

Erreurs possibles

Connexion refusée

La cause la plus courante est que vous avez défini listen-address sur 127.0.0.1 ou localhost au lieu de l'adresse externe de votre serveur (ici 192.168.0.100).

Pour aller plus loin

Installer un gestionnaire de proxy

La connexion à travers le réseau Tor n'est pas forcément utile en permanence ou peut parfois être lente. Plutôt que de passer votre temps à basculer vos paramètres réseau, utilisez un gestionnaire de proxy comme FoxyProxy qui vous permettra de gérer plusieurs serveurs de proximité et de basculer rapidement de l'un à l'autre.

Configurer un pont (Bridge)

Un relais Tor est enregistré sur les serveurs principaux et sont connus publiquement. Il est donc aisé de les filtrer en bloquant les adresses.

Dans certains cas, le fournisseur d'accès peut empêcher la connexion au réseau Tor en bloquant les adresses des relais connus.

Dans ce cas, configurez votre relais en pont ( ou Bridge). Cette opération a pour but de ne pas enregistrer l'adresse de votre relais sur les serveurs et donc de passer inaperçu aux yeux des fournisseurs d'accès peu scrupuleux.

Pour cela, dans torrc, activez simplement les lignes :

SocksPort 0
ORPort 443
BridgeRelay 1
Exitpolicy reject *:*

Sécuriser son téléphone mobile

Il est possible d'utiliser Tor depuis un téléphone mobile et d'accéder à Internet de façon sécurisée. Pour cela, il faut installer Orbot puis une messagerie, par exemple Xabber.

Dans les options Orbot, vous pouvez choisir d'être un relais de sortie ou pas, de définir les noeuds que vous voulez utiliser, etc.

Conserver les performances

Les performances du nœud Tor décroissent avec le temps. Après 4 ou 5 jours, il est indisponible et il faut le relancer.

Afin d'éviter de le faire manuellement, il convient de réaliser un script qui permettra de s'en occuper. Dans le répertoire /home/pi, créer un script de relance tor.restart.sh :

#!/bin/sh
# Redémarrage de Tor
service tor restart
# Redémarrage de Privoxy
service privoxy restart

Donnez-lui les droits d'exécution :

chmod +x /home/pi/tor.restart.sh

Puis appelez ce script par cron en ajoutant au fichier /etc/crontab les lignes :

# Rédmarrage de Tor/Privoxy 1 15 * * * root /home/pi/tor.restart.sh

Tor et Privoxy seront redémarrés proprement chaque jour à .

Tor