Contenu | Rechercher | Menus

TOR : Réseau Anonyme

Présentation

Le but de Tor est de se protéger de l'analyse de trafic, une forme de surveillance des réseaux qui menace l'anonymat et la confidentialité des personnes, les activités et les rapports confidentiels commerciaux. Avec Tor, les communications rebondissent à travers un réseau de serveurs distribués (Nœuds), appelés onion routers, qui vous protègent contre les sites web qui enregistrent les pages que vous visitez, contre les observateurs externes, et contre les onion routers eux-mêmes.

The Onion Router (Tor) (littéralement : le routage en oignon) : c'est-à-dire en couche comme les oignons.

Tor réduit les risques d'analyses de trafic simples ou sophistiquées, en répartissant vos transactions entre plusieurs endroits de l'Internet. On ne peut donc pas, en observant un seul point, vous associer à votre destinataire. C'est comme utiliser un chemin tortueux et difficile à suivre pour semer un poursuivant (tout en effaçant de temps en temps ses traces). Au lieu d'emprunter un itinéraire direct entre la source et la destination, les paquets de données suivent une trajectoire aléatoire à travers plusieurs serveurs qui font disparaître vos traces. Personne ne peut donc déduire de l'observation d'un point unique, ni d'où viennent, ni où vont les données.

Mise en garde

L'anonymat, c'est bien mais ça ne permet pas d'aller partout, par exemple les utilisateurs de Tor sont bannis de certains channels sur IRC comme #ubuntu sur freenode. Wikipédia interdit l'usage de TOR, que ce soit pour les utilisateurs inscrits ou les IP. D'autre part, on peut remarquer une baisse de vitesse dans les connexions donc si vous aimez surfer rapidement, vous allez être déçu.

Voici un blog en anglais qui vous donnera de quoi être au maximum anonyme avec Tor : HOWTO: Anonymous communication with Tor

L'anonymat n'est pas synonyme de sécurité, en effet votre adresse IP est masquée et les données transitant entre les relais sont chiffrées, mais les données transitant entre le dernier relais et leur destination finale circulent en clair, lorsque vous consultez votre compte en banque ou effectuez des achats en ligne, Tor ne suffit donc pas (pour les sites n'étant pas des services cachés) : il faut utiliser HTTPS ou un chiffrement final similaire et des mécanismes d'authentification. Pour plus de précisions, consultez http://www.xmcopartners.com/article-tor.html

Sachez cependant que même avec HTTPS, vos données peuvent être interceptées ! Un logiciel, SSLstrip, permet de sniffer les données chiffrées au niveau du dernier relais. Voir http://www.sindark.com/2009/02/21/the-ssl-strip-exploit/ et http://nspill.blogspot.com/2010/04/tor-exit-node-sslstrip.html.

Installation

Pour l'installation de Tor-browser seul avec PPA , voir ici : http://forum.ubuntu-fr.org/viewtopic.php?id=1522191

Installer TOR

(Source: Faire tourner Tor sur Linux)

Cette méthode est simple et rapide pour surfer avec Tor (et proposer un relais à la communauté ponctuellement). Elle est très sécurisée, l'offre groupée de navigation Tor (Tor Browser Bundle) incluant une version de Firefox optimisée et pré-configurée par l'équipe du projet Tor.

1. Rendez-vous ici : https://www.torproject.org/download/download-easy.html.en

Si vous accédez à cette page depuis un système Linux, la version Linux du paquet sera proposée par défaut. Choisir la langue et l'architecture ( 32 ou 64 bits).

2. Une fois téléchargé, extraire le fichier où vous voulez : par exemple dans un dossier "tor" situé dans votre "/home". Il vous suffit ensuite de double-cliquer sur "start-tor-browser", et de confirmer en cliquant sur "lancer".

Surprise ! En effet cette technique vous permet d'avoir un contrôle graphique sur Tor, grâce à l'interface Vidalia : informations graphiques sur les échanges réalisés sur le réseau Tor, ou la possibilité de devenir relais : pas désagréable !

Maintenant que l'offre groupée de navigation Tor inclut une version retouchée de Firefox et parce que l'équipe Tor n'a pas assez de ressources de développement pour suivre le calendrier accéléré de sortie de Firefox, Torbutton n'est plus pris en charge. Les utilisateurs devraient utiliser l'offre groupée de navigation Tor et ne pas installer Torbutton. (Source: Torbutton).

Version dépôt
Ubuntu 13.04 deb http://deb.torproject.org/torproject.org saucy main
Ubuntu 12.10 deb http://deb.torproject.org/torproject.org quantal main
Ubuntu 12.04 deb http://deb.torproject.org/torproject.org precise main
Ubuntu 11.10 deb http://deb.torproject.org/torproject.org oneiric main
Ubuntu 11.04 deb http://deb.torproject.org/torproject.org natty main
Ubuntu 10.10 deb http://deb.torproject.org/torproject.org maverick main
Ubuntu 10.04 LTS deb http://deb.torproject.org/torproject.org lucid main
Ubuntu 8.04 LTS deb http://deb.torproject.org/torproject.org hardy main

NON RECOMMANDÉE ET SANS PRISE EN CHARGE PAR L'ÉQUIPE DU PROJET TOR.

  1. Dans une fenêtre de terminal (Applications → Accessoire → Terminal), exécutez les commandes suivantes afin de récupérer la clé de signature du dépôt de Tor :
    echo "deb http://deb.torproject.org/torproject.org $(/usr/bin/lsb_release -c|cut -f2) main"|sudo tee -a /etc/apt/sources.list
    gpg --keyserver keys.gnupg.net --recv 886DDD89
    gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -
    sudo apt-get update

Source: Installing Vidalia on Ubuntu or Debian

Configurer Polipo

Polipo est un proxy qui utilise le port 8118 (par défaut) comme Privoxy.

Privoxy peut être utilisé à la place de Polipo. Un fichier de configuration pour privoxy est disponible

La doc officielle de Tor recommande de ne pas démarrer les deux simultanément, car 2 proxy ne doivent pas écouter le même port. Ça crée des conflits. (Voir note ci-après si vous désirez installer privoxy ET polipo sur votre système)

Changer le port d'écoute :

À condition de changer le port d'écoute de Privoxy et/ou de Polipo, vous pouvez faire tourner les 2 simultanément.

Pour changer le port d'écoute de privoxy, consultez la section : « Aller plus loin… » / « Changer le port d'écoute de Privoxy » disponible sur la page (de cette doc) de Privoxy.

Pour changer le port d'écoute de polipo, consultez la doc de polipo disponible ici. Notamment cette section qui renseigne sur la variable proxyPort.

Si vous modifiez le port d'écoute du proxy choisi pour fonctionner avec tor, veillez à adapter la suite de la configuration (du navigateur par exemple) pour remplacer 8118 par le port personnalisé que vous aurez choisi.

La version actuelle de Tor utilise Polipo qui permet d'avoir des connexions SOCK.

Le paquet est configuré par défaut pour écouter sur l'interface de loopback (127.0.0.1 ou localhost ) et sur le port 8118, Tor lance un proxy supportant Socks4a et Socks5 sur le port 9050. Par défaut seul Socks5 est utilisé par les configurations que nous allons mettre en place.

Si vous ne pouvez pas spécifier le port à utiliser ou bien qu'internet à une vitesse normale ou que certains sites sont toujours bloqués, Tor ne prend probablement pas votre application en charge.

Installez le paquet polipo (Déjà installé avec le paquet tor)

La configuration se fait dans le fichier /etc/polipo/config, pour les choix disponibles, voici un fichier officiel tout prêt :

wget https://gitweb.torproject.org/torbrowser.git/blob_plain/ae4aa49ad9100a50eec049d0a419fac63a84d874:/build-scripts/config/polipo.conf

Une fois téléchargé il vous faut le mettre dans le répertoire /etc/polipo/ en lieu et place du fichier de configuration par défaut. Sauvegardons-la juste au cas où :

sudo mv /etc/polipo/config /etc/polipo/config.save
sudo mv polipo.conf /etc/polipo/config

Vérifiez que Polipo utilise bien le proxy Socks de Tor. Pour cela, dans un terminal, exécutez la commande :

cat /etc/polipo/config | grep -i socksParentProxy

Et vérifiez également que le port est bien le 9050 (port par défaut de Tor pour socks) :

socksParentProxy="localhost:9050"

Relancez polipo

sudo /etc/init.d/polipo restart

Le port par défaut de tor est disponible ici : /etc/tor/torrc

Utiliser TOR

Il existe plusieurs façons d'utiliser TOR. Soit en le configurant comme serveur mandataire dans vos applications. Soit pour le surf uniquement avec des extensions pour navigateur internet.

Extension pour Firefox

Pour une utilisation nomade assez souple, vous pouvez utiliser Torbutton.

Pour une utilisation plus avancée, il existe FoxyProxy qui permet aussi de gérer Tor via Firefox. Il offre en plus la possibilité de gérer d'autres proxy, d'éditer des règles, etc… Torbutton est par contre plus sécurisé par défaut que privoxy (gestion des cookies, désactivation des plugins, … ne change par contre pas l'user-agent)

Extension pour Chrome

L'extension «Proxy Switchy! » permet une utilisation avancée des proxy et d'indiquer celui installé par Tor sur la station informatique.

  1. Installez «Proxy Switchy! », l'icône "Proxy Switchy!" apparaît en haut à droite du navigateur ;
  2. Dans l'extension, allez dans options → Proxy Profils ;
  3. Indiquer dans le champ « Profile Name » le nom Tor ;
  4. Choisissez le bouton « Manual configuration » et cochez « Use the same proxy server for all protocols » ;
  5. Entrez les valeurs des champs :
    • HTTP Proxy : 127.0.0.1
    • Port : 8118
  6. Faites à nouveau un clic droit sur l'icône de l'extension et sélectionnez Tor.

Vérifier que vous utilisez bien TOR

Rendez vous sur ce site : https://check.torproject.org/

Configuration d'un serveur

Comme toutes les solutions de chiffrage, le principal défaut du réseau Tor est sa lenteur. Vous pouvez contribuer à y remédier en créant un serveur, sachant que plus il y aura de serveurs Tor, plus le réseau sera rapide.
De plus, en créant un serveur vous renforcez votre propre confidentialité : Il devient en effet impossible de savoir si ce qui sort de votre serveur provient de votre propre activité ou bien si cela est uniquement un flux relayé par votre serveur.

Vous devrez choisir le rôle que vous souhaitez jouer sur le réseau : Nœud de transfert (Serveur relais) ou bien Nœud d'entrée-sortie.

Si vous choisissez d'être un Nœud de sortie, vous devez savoir que c'est votre adresse IP qui sera relevée pour la totalité du trafic qui sortira par votre Nœud, quel qu'en soit le contenu (Ce qui inclut donc tout contenu potentiellement illégal).
Il est alors impératif de lire la F.A.Q. sur les abus du site officiel de Tor

Pré-requis

Il vous faut disposer au minimum de 20 ko/s en flux montant et descendant. Il vous faudra également avoir configuré au préalable un client ntp (pour obtenir automatiquement l'heure exacte d'un serveur de temps).

Édition du fichier /etc/tor/torrc

Il vous faut modifier les paramètres suivants :

SocksPort 9050
SocksListenAddress 127.0.0.1
DataDirectory /var/lib/tor
Nickname peudo-de_votre_serveur
Address votre_adresse_ip_fixe
ContactInfo votre_nom votre_@adresse.mail
ORPort 9001
BandwidthRate 20 KB #Bande passante allouée au minimum
RelayBandwidthBurst 80 KB # Bande passante allouée au maximum
BridgeRelay 1
ExitPolicy reject *:* #Pour ne pas être noeud de sortie

Créez le répertoire référencé dans le paramètre DataDirectory et rendre l'utilisateur propriétaire de ce répertoire :

# chown debian-tor.debian-tor /var/lib/tor

Si vous ne disposez pas d'une adresse IP fixe, vous devrez vous inscrire sur un site tel que par exemple DynDNS et installer un client (En l'occurence ddclient chez DynDNS) pour maintenir à jour la correspondance entre l'adresse IP de votre serveur et votre nom de domaine.
Remplacez alors la valeur du paramètre Address du fichier de configuration par l'adresse enregistrée sur le service de DNS dynamique :

Address monserveurtor.dyndns.net
  • Configurez votre pare-feu et le cas échéant votre routeur pour accepter les connexions provenant de Tor.
/sbin/iptables -t filter -A INPUT  -p tcp --source-port 1024: --destination-port 9001  -m state --state NEW,ESTABLISHED -j ACCEPT
/sbin/iptables -t filter -A OUTPUT -p tcp --destination-port 1024: --source-port 9001  -m state --state ESTABLISHED -j ACCEPT
  • Redémarrez Tor.
sudo /etc/init.d/tor restart
  • Vérifiez le contenu de son fichier log, après une quinzaine de minutes, on doit y trouver la phrase suivante :

Self-testing indicates your ORPort is reachable from the outside. Excellent. Cela signifie que cela fonctionne.

  • Il ne vous reste plus qu'à vous enregistrer sur la liste des serveurs officiels (voir à cet effet la page des contacts).

Ceci n'est désormais plus vrai, l'enregistrement de votre relais se fait automatiquement.

Configurer les hidden services

Tor permet aux clients et aux relais d'offrir des services cachés. Ainsi, vous pouvez rendre disponible un serveur web, un serveur SSH, etc., sans avoir à révéler votre adresse IP aux utilisateurs. Et même, du fait que vous n'utilisez pas d'adresse publique, vous pouvez faire tourner un service caché derrière votre pare-feu.

Étape zéro : s'assurer que Tor fonctionne

Avant de commencer, il est nécessaire de s'assurer que :

  1. Tor est lancé et fonctionne ;
  2. Vous l'avez configuré correctement.

Première étape : installer un serveur Web localement

Premièrement, vous avez besoin de configurer un serveur web local. Paramétrer un serveur web peut s'avérer délicat, nous n'allons donc que survoler les bases ici. Si vous n'y arrivez pas ou cherchez à en faire plus, demandez à un ami de vous aider. Nous vous recommandons d'installer un serveur web séparé pour votre service caché, puisque même si vous en avez déjà un d'installé, vous l'utilisez peut-être déjà (ou planifiez de l'utiliser plus tard) pour un usage différent.

Le plus simple, et de loin, est d'installer thttpd.

$ sudo apt-get install thttpd

Puis

$ mkdir hidserv
$ cd hidserv 
$ thttpd -T utf-8 -p 5222 -h localhost

Vous devriez retrouver le prompt, et à ce stade vous êtes en train de faire tourner un serveur web sur le port 5222. Vous pouvez mettre des fichiers dans le répertoire hidserv.

(La raison pour laquelle nous connectons le serveur web seulement sur localhost est de nous assurer qu'il ne sera pas accessible publiquement. Si des gens peuvent se connecter directement, ils pourraient confirmer que votre ordinateur est bien celui qui offre le service caché.)

Une fois votre serveur web paramétré, assurez-vous qu'il fonctionne : ouvrez votre navigateur et allez sur http://localhost:5222/, où 5222 est le port que vous avez choisi plus haut. Puis, essayez de mettre un fichier dans le répertoire HTML principal, et assurez-vous que vous pouvez y accéder.

Deuxième étape : configurer votre service caché

Ensuite, vous devez configurer votre service caché pour qu'il pointe sur votre serveur web local.

Premièrement, Arrêtez Tor dans Vidalia et arrêtez le service Tor

sudo service tor stop

Quittez Vidalia et ouvrez votre fichier torrc dans votre éditeur de texte favori (consultez la FAQ torrc pour plus d'information.)

 sudo gedit /etc/tor/torrc 

décommenter la ligne :

ControlPort 9051

C'est le port qui permet à Vidalia de communiquer avec Tor par TCP sous les debian-like comme Ubuntu. On est obligé de faire communiquer Vidalia avec Tor par connexion TCP car sinon il y a une erreur d'autorisation

Allez au milieu du fichier et cherchez la ligne :

############### This section is just for location-hidden services ###

Cette section du fichier consiste en un groupe de lignes, chacune représentant un service caché. Actuellement elles sont toutes en commentaire (les lignes commençant par #), ainsi les services cachés sont désactivés. Chaque groupe de lignes consiste en une ligne HiddenServiceDir, et une ou plus HiddenServicePort :

HiddenServiceDir est un répertoire où Tor va stocker les informations à propos du service caché. En particulier, Tor va créer un fichier dedans, nommé hostname qui va vous donner le nom oignon de l'URL. Vous n'avez pas à ajouter d'autres fichiers dans ce répertoire.

HiddenServicePort vous permet de spécifier un port virtuel (c'est celui que les gens penseront utiliser en accédant à votre service) et une adresse IP et un port pour les redirections vers ce port virtuel.

Ajoutez les lignes suivantes dans votre torrc :

HiddenServiceDir /home/username/hidden_service/
HiddenServicePort 80 127.0.0.1:5222

Vous allez avoir à changer la ligne HiddenServiceDir, pour qu'elle pointe vers le répertoire qui est accessible en lecture/écriture par l'utilisateur qui fait tourner Tor. L'exemple ci-dessus devrait fonctionner si vous remplacez "username" par votre propre nom de login. Maintenant sauvegardez votre torrc.

Allez dans Vidalia et configurer Tor Control :

Paramètres → avancées → cochez "use TCP connections(ControlPort)" et remplissez le champ "Adresse" par 127.0.0.1:9051, Choisissez "authentification par mot de passe" dans la liste déroulante et cochez "défini aléatoirement"

Relancez Tor

sudo service tor start

Puis relancez Tor dans Vidalia

Si Tor redémarre, c'est génial ! Sinon, quelque chose se passe mal. Premièrement regardez les logs pour avoir des pistes. Il devrait y avoir des avertissements ou des erreurs. Ça devrait vous donner une idée du pourquoi ça se passe mal. Souvent des erreurs de frappe dans le fichier torrc ou de droits d'accès aux répertoires. (Voyezla FAQ sur les logs si vous ne savez pas comment les activer ou bien où les trouver.)

Quand Tor se lance, il doit automatiquement créer le HiddenServiceDir que vous avez spécifié (si nécessaire), et il devrait y créer deux fichiers.

private_key

Premièrement, Tor va générer une nouvelle paire de clés publique/privée pour votre service caché, et les écrire dans un fichier appelé "private_key". Ne partagez pas cette clé avec d'autres ; si vous le faites ils peuvent découvrir qui fait fonctionner votre service caché.

L'autre fichier qui va être créé s'appelle "hostname". Il contient un court résumé de votre clé publique – ça devrait ressembler à quelque chose comme duskgytldkxiuqc6.onion. C'est le nom public pour votre service, et vous pouvez l'annoncer à d'autre gens, le publier, le mettre sur votre carte de visite, etc.

Maintenant que vous avez redémarré Tor, il collecte des points d'introduction dans le réseau Tor, et génère ce qui est appelé un descripteur de service caché, qui est une liste de points d'introduction signée avec la pleine clé publique. Il publie ce descripteur anonymement aux serveurs d'annuaires, et d'autres utilisateurs peuvent anonymement le rapatrier à partir des serveurs d'annuaires lorsqu'ils souhaitent accéder à votre service.

Essayez maintenant : coller le contenu du fichier hostname dans votre navigateur web. Si ça marche, vous devriez avoir la page HTML que vous avez paramétrée à la première étape. Si ça ne fonctionne pas, jetez un œil dans vos logs pour vous aider, et continuez d'essayer jusqu'à ce que ça fonctionne.

La manière simple Si vous utilisez le tor browser bundle, il vous suffit d'activer les services cachés dans Vidalia :

Paramètres → Services Remplissez Port virtuel avec 80 Destination avec 127.0.0.1:5222 Chemin du dossier avec /home/username/hidden-sevice

Lorsque vous relancez Tor votre adresse onion est automatiquement générée

Troisième étape : astuces plus avancées

Si vous envisagez de maintenir votre service pendant quelques temps, il est conseillé de faire une copie de votre fichier private_key quelque part.

Nous avons évité de recommander Apache ci-dessus, a) parce que beaucoup de personnes le font déjà tourner comme serveur public sur leur ordinateur et b) parce que c'est un programme assez lourd et qu'il est en mesure de révéler votre adresse IP ou des informations permettant de vous identifier à un grand nombre d'endroits, par exemple dans les pages 404. Pour les gens qui ont besoin de plus de fonctionnalités, Apache devrait-être la réponse juste. Est-ce que quelqu'un pourrait faire une liste des points sensibles pour verrouiller Apache lorsque vous l'utilisez comme service caché ? « Savant » doit aussi avoir ce genre de problème.

Si vous souhaitez renvoyer plusieurs ports virtuels pour un seul service caché, ajoutez simplement plus de lignes HiddenServicePort. Si vous voulez faire tourner plusieurs services cachés à partir du même client Tor, rajoutez simplement une autre ligne HiddenServiceDir. Toutes les lignes suivant le HiddenServicePort se réfèrent à la ligne HiddenServiceDir jusqu'à ce que vous ajoutiez une autre ligne HiddenServiceDir :

HiddenServiceDir /usr/local/etc/tor/hidden_service/ HiddenServicePort 80 127.0.0.1:8080

HiddenServiceDir /usr/local/etc/tor/other_hidden_service/ HiddenServicePort 6667 127.0.0.1:6667 HiddenServicePort 22 127.0.0.1:22

Il y a quelques problèmes d'anonymat que vous devriez également garder à l'esprit :

Comme cité ci-dessus, soyez vigilant sur ce que votre serveur web révèle de vous, de votre ordinateur, de votre emplacement géographique. Par exemple, les lecteurs peuvent facilement déterminer s'il s'agit de thttpd ou d'Apache, et apprendre quelque chose sur votre système d'exploitation. Si votre ordinateur n'est pas en ligne en permanence, votre service caché ne le sera pas non plus. Ceci apporte une information à un adversaire observateur.

Résolution de problèmes courants

Résoudre le problème d'écriture avec le clavier

  1. Ouvrir le fichier start-tor-browser (qui est à la racine du dossier tor) avec votre éditeur préféré
  2. Ajouter ce bout de code dans la deuxième ligne après (#!/bin/sh) :
    export GTK_IM_MODULE="xim"
  3. Sauvegarder le ficher
  4. Et enfin relancer tor pour observer le résultat !

Pages sur le sujet

Voir aussi



Le contenu de ce wiki est sous licence : CC BY-SA v3.0