{{tag>proxy sécurité anonymat serveur}} ---- ====== 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. 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 [[http://www.hermann-uwe.de/blog/howto-anonymous-communication-with-tor-some-hints-and-some-pitfalls|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 : 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 ===== ==== Installer TOR ==== //(Source: [[http://www.torproject.org/docs/debian.html.en#ubuntu | Tor manual ]])// ===Méthode simple : Le pack Tor-Browser !=== Des deux méthodes pour installer Tor, c'est la plus simple et rapide pour surfer avec Tor (et proposer un relai à la communauté ponctuellement). Elle est très sécurisée, le pack (allias "bundle") Tor-Browser incluant une version de Firefox optimisée et pré-configurée par l'équipé du Tor Project. 1. Rendez-vous ici : https://www.torproject.org/download/download.html À la partie "Linux/Unix", téléchargez le lien nommé "Tor Browser Bundle for GNU/Linux (beta version)" qui vous intéresse (la version i686 ou x86_64. (Pour les débutants choisissez le premier lien). 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 relai : pas désagréable ! Petit problème (ou pas) : Après avoir lancé vidalia, le Firefox inclu dans le pack et pré-configuré pour naviguer avec Tor va se lancer. Mais dès que vous fermez ce Firefox, Tor s'arrête ! Si celà vous pose problème, une solution est de supprimer le dossier "App/Firefox" qui se trouve dans votre dossier décompressé. En faisant cela, vous supprimerez la version firefox inclue dans votre tor. Du coup : Vidalia vous indiquera qu'il n'a pas pu lancer firefox! Ne vous inquiétez pas. Faites simplement "Ok" et tor ne s'arrêtera que quand vous le demanderez ! Bien sûr, il faut alors configurer votre navigateur habituel pour utiliser Tor, comme expliqué ici (en anglais) [[https://www.torproject.org/docs/tor-doc-web.html.en|Configuring your browser to use Tor]] Il existe une solution alternative si vous souhaitez surfer avec la version de Firefox pré-configurée pour Tor du pack (ou "bundle") : c'est possible en installant le paquet Tor directement sur votre machine, comme expliqué ci-dessous. ===Méthode plus complexe : Paquets Tor et Vidalia=== 1. Ajoutez le dépôt Tor pour votre version d'Ubuntu [[:tutoriel:comment_modifier_sources_maj|Ajoutez un des dépôts]] suivants à vos sources de mises à jour (choisissez celui correspondant à votre version d'Ubuntu) : ^ Version ^ Dépôt ^ | 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%%'' | - Dans une fenêtre de [[:terminal]] (//Applications → Accessoire → **Terminal**//), exécutez les commandes suivante afin de récupérer la clé de signature du dépôt de Tor : gpg --keyserver keys.gnupg.net --recv 886DDD89 gpg --export 74A941BA219EC810 | sudo apt-key add - sudo apt-get update - [[:tutoriel:comment_modifier_sources_maj#recharger_la_liste_des_paquets|Rechargez la liste des paquets]]; - [[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt://tor|tor]]**. //Source: [[https://www.torproject.org/docs/debian-vidalia.html.en|Installing Vidalia on Ubuntu or Debian]]// Cette méthode facilite : * L'installation de Tor comme daemon (service), qui démarre automatiquement avec le système (idéal si vous proposez un **relai** à la communauté) * Les mises à jour de Tor, c'est-à-dire tout comme les autres paquets de votre Ubuntu, depuis le dépôt Tor. * Bref, d'héberger un relai Tor. Solution alternative pour surfer avec la version de Firefox pré-configurée du Bundle Tor-browser : Plutôt que devoir configurer soi-même un navigateur pour surfer avec Tor (déconseillé par l'équipe Tor), il est possible de surfer avec le Firefox du pack Tor-browser et le paquet Tor installé et fonctionnant sur votre machine. Dans ce cas, il suffit de lancer le Firefox moddé grâce à cette ligne de commande : ''~/Là-ou-se-trouve-le-dossier-du-bundle-tor-browser/App/Firefox/firefox -no-remote -profile ~/Là-ou-se-trouve-le-dossier-du-bundle-tor-browser/Data/profile'' //Source: [[https://lists.torproject.org/pipermail/tor-talk/2012-January/022722.html | [tor-talk] TBB and local TOR for Linux users" Jan 9, 2012]]// ==== Configurer Polipo ==== **Polipo** est un proxy qui utilise le port 8118 (par défaut) comme [[privoxy|Privoxy]]. Privoxy peut être utilisé à la place de Polipo. Un fichier de configuration pour privoxy est disponible [[https://trac.torproject.org/projects/tor/wiki/TheOnionRouter/PrivoxyConfig|là]] 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|Privoxy]]. Pour changer le port d'écoute de polipo, consultez la doc de polipo disponible [[http://www.pps.jussieu.fr/~jch/software/polipo/polipo.html|ici]]. Notamment [[http://www.pps.jussieu.fr/~jch/software/polipo/polipo.html#index-proxyPort-63|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 [[http://fr.wikipedia.org/wiki/SOCKS|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. [[:tutoriel:comment_installer_un_paquet|Installez le paquet]] [[apt://polipo|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/HEAD:/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 [[https://www.torproject.org/torbutton/|Torbutton]]. Pour une utilisation plus avancée, il existe [[https://addons.mozilla.org/fr/firefox/addon/2464/|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 «[[https://chrome.google.com/extensions/detail/caehdcpeofiiigpdhbabniblemipncjj|Proxy Switchy!]] » permet une utilisation avancée des [[:proxy]] et d'indiquer celui installé par Tor sur la station informatique. - Installez «[[https://chrome.google.com/extensions/detail/caehdcpeofiiigpdhbabniblemipncjj|Proxy Switchy!]] », l'icône "Proxy Switchy!" apparaît en haut à droite du navigateur ; - Dans l'extension, allez dans //options -> Proxy Profils// ; - Indiquer dans le champ « Profile Name » le nom **Tor** ; - Choisissez le bouton « Manuel configuration » et cochez « Use the same proxy server for all protocols » ; - Entrez les valeurs des champs: * **HTTP Proxy :** 127.0.0.1 * **Port :** 8118 - Faite à 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 [[https://www.torproject.org/faq-abuse.html.en#TypicalAbuses|F.A.Q. sur les abus]] du site officiel de Tor ==== Pré-requis ==== Il vous faut disposer de au minimum 20 ko/s en flux montant et descendant. Il vous faudra également avoir configuré au préalable un client [[:ntp|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 [[http://www.dyndns.com/|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 [[http://www.torproject.org/contact.html.fr|contacts]]). Ceci n'est désormais plus vrai, l'enregistrement de votre relais se fait automatiquement. ===== Pages sur le sujet ===== {{backlinks>.}} ===== Voir aussi ===== * [[Privoxy]], un proxy web qui sécurise le net. * ''**(en)**'' [[http://www.torproject.org/|Page d'accueil de Tor]] * [[proxychains | ProxyChaines]], créer un tunnel pour les processus via Tor * [[http://www.xmcopartners.com/article-tor.html|Analyse de Tor]] * ''**(en)**'' [[http://www.torproject.org/svn/trunk/doc/spec/tor-spec.txt|Spécifications principales de Tor]] * ''**(en)**'' [[http://www.hermann-uwe.de/blog/howto-anonymous-communication-with-tor-some-hints-and-some-pitfalls|HOWTO: Anonymous communication with Tor]] * ''**(fr)**'' [[http://blog.pastoutafait.org/billets/anonymat-avec-tor-et-privoxy-sous-ubuntu|Anonymat avec TOR et Privoxy sous Ubuntu (pastoutafait.org)]] * "**(fr)**" [[http://www.webynux.net/astuce/tor-ou-surfer-anonymement-sur-le-net.html]] ---- //Contributeurs: [[utilisateurs/psychederic]], [[utilisateurs/guenillon]], [[utilisateurs/percherie]], [[utilisateurs/binnette]]//