Fermeture

04 juillet

Télécharger tous les WebM

Accès rapide


Derniers ajouts (15/05):
Ben-To 09

TOR

Article rafraichi le 23 mai 2009

Article largement obsolète !

(note: si vous ne voulez pas simplement surfer anonymement mais réellement accéder à un réseau anonyme, crypté et sécurisé, allez lire l’article sur Freenet)

Chers visiteurs,

Vous vous rappelez peut être d’un article de l’ancien blog, dans lequel j’expliquais pourquoi 221 millions d’internautes étaient empêchés par le gouvernement chinois de consulter Fansub Streaming. Oui oui oui, le blocage est toujours en place, aussi bien chez OVH que chez JFG Networks: ni le nouveau ni l’ancien blog sont visitables depuis la Chine sans moyen technique de contournement du système de filtrage conçu par divers grands industriels, dont Cisco (j’en suis presque à les détester à cause de ça), adopté par le gouvernement chinois au nom de « la sécurité nationale et la préservation de la population face à la violence ou la pornographie« . Entre guillemets, parce qu’évidemment ça leur donne un prétexte pour bloquer tout site ouvertement défavorable au régime en place. Ils vont jusqu’à forcer Google et Yahoo d’adapter les résultats des recherches (j’imagine qu’en tapant « Tibet » en Chine, on a comme résultats des articles de journaux parlant d’insurrection et de scandale d’indépendantistes anarchistes tibétains).

Or, les chinois sont des champions: d’après mes vérifications, la Chine compte presque autant de proxys totalement opaques que les Etats-Unis: un chinois bien informé peut aisément configurer son navigateur pour utiliser un proxy non concerné par le filtrage et ainsi consulter tous les sites d’internet qu’il veut. Mais il y a bien plus fort que ça: le réseau TOR.

« TOR » est l’abréviation de « The Onion Router« , littéralement « le routeur en oignon ». Pas grand chose à voir avec la cuisine, si ce n’est que ce réseau utilise un système de couches successives, ce qui le rend comparable à un oignon. Et il est méga-simple de l’utiliser, comme on verra plus loin :)

Déjà, c’est quoi le réseau TOR ? les amateurs d’eMule connaissent bien le principe du réseau Kademlia (« Kad »), totalement décentralisé et basé sur un modèle nœud-à-nœud, un peu comme le réseau Gnutella. Ben en fait, TOR ressemble pas mal au réseau Gnutella: les clients se connectent à des « leaf », lesquels sont connectés à des « hubs », lesquels communiquent ensemble. TOR va bien plus loin, puisque le client se connecte à un relais aléatoire pendant un temps aléatoire et selon un rythme de transmission de données aléatoire. L’annuaire des relais est mis à jour automatiquement par les relais eux-même, qui se communiquent l’apparition ou la disparition d’un relais et qui transmettent cette liste aux clients, qui tenteront de se connecter sur un relais choisi au hasard.

Ceux qui téléchargent avec Bittorrent le savent: à partir du moment où le tracker est indisponible ou qu’il ne connait plus le torrent, il n’y a plus de sources et donc plus de téléchargement (DHT c’est un peu spécial, je prends pas en compte ^^ ). Avec TOR, un relais peut disparaitre mais ça ne pose pas de souci à ceux qui sont connectés dessus: ils se connectent automatiquement à un autre relais. En gros pour faire disparaitre le réseau TOR, il faudrait supprimer TOUS les relais, sans exception. Totalement impossible.

Bon ok, un client est connecté à un relais. Et ensuite ? Le relais va agir comme un proxy, mais en allant plus loin encore: il va se substituer au serveur DNS du FAI (celui qui dit que www.google.fr c’est 74.125.43.103) et en plus la connexion est sécurisée par un protocole SSL (utilisé aussi pour les sites avec https://). Pire: le relais ne transmet pas la connexion vers le site demandé, mais vers un autre relais (toujours via connexion sécurisée, avec une puissante clé de cryptage), lequel va transmettre la connexion au relais suivant etc etc. Le relais le plus proche du site demandé est celui qui va finalement transmettre la connexion et récupérer les données du site. Ces données passent à nouveau de relais à relais (ce ne sont jamais les mêmes, ils sont toujours choisi au hasard) jusqu’au client. La force de TOR c’est qu’il n’y a aucun moyen de savoir si vous êtes un relais ou un client: vous avez transmis la connexion à un autre ou vous êtes le destinataire ? il est donc impossible de savoir quels sites vous avez visité, votre surf est totalement anonyme.

Application pratique: lorsque votre FAI vous filtre la connexion, lorsque vous êtes sous surveillance ou tout simplement lorsque vous souhaitez garder votre anonymat sur internet, TOR c’est l’idéal. Un chinois peut consulter Fansub Streaming, vous pouvez surfer où bon vous semble même si votre connexion est censée être restreinte aux emails par l’Hadopi (si la Loi Création et Internet est maintenue dans cet état actuel) et vous pouvez surfer sur les sites sans que personne sache quels sites vous avez visité.

Utiliser le réseau TOR avec Firefox: mine de rien, c’est beaucoup plus simple que ce que je craignais: allez sur le site officiel (il est traduit en français en plus) et téléchargez la suite complète « Vidalia« . Elle inclut Tor (le programme lui-même), Privoxy (un proxy local pour utiliser avec un navigateur internet ou un autre programme) et Vidalia, une interface graphique simpa pour configurer tout ça.

Installer ça se fait les doigts dans le nez: dès l’installation on vous propose d’ajouter un module complémentaire à Firefox pour contrôler l’utilisation de Tor. On a pas forcément besoin de tout le temps utiliser Tor, surtout quand on a besoin de vitesse :) D’un simple clic droit, on peut activer ou désactiver l’utilisation de Tor par Firefox.

Voilà comment ça se présente, s’il n’y a pas besoin de changer les paramètres à la fin de l’installation:

L’oignon vert indique que vous êtes connecté au réseau Tor, vous pouvez directement commencer à l’utiliser en l’activant dans Firefox (en bas à droite de la fenêtre):

ça ne marche pas du premier coup ? Il n’y a que 3 paramètres à modifier:

Le premier sert si votre connexion internet normale passe par un proxy (souvent le cas dans les universités, les écoles ou certaines entreprises « peau de vache »). Entrez simplement l’adresse IP et le port du proxy (éventuellement le nom d’utilisateur et mot de passe s’il y a besoin) et Tor passera par lui pour se connecter au réseau.

Le second sert si le pare-feu (firewall) de votre ordinateur est trop restrictif: Tor utilisera que les ports 80 et 443 pour se connecter, ce sont les ports normalement utilisés pour http et https. Vous pouvez changer les ports s’ils sont différents.

Le troisième sert si votre Fournisseur d’accès internet (FAI) détecte Tor et le bloque: Tor arrivera quand même à se connecter au réseau (ça c’est le paramètre pour les chinois ^^ ). (voir commentaire)

C’est tout ? essayez vite fait sur mon-ip.com. Vous aurez la surprise de voir qu’à chaque fois il vous dira que vous venez d’ailleurs, un coup de Russie, un coup des USA, un coup de Suisse,… Si c’est le cas, alors votre connexion Tor fonctionne correctement :)

On peut utiliser TOR avec n’importe quel programme à connexion internet ? théoriquement: oui. Mais pour cela vous devez pouvoir configurer le proxy dans votre programme. Ainsi, Internet Explorer, Opera, Outlook, … tous ceux-là peuvent utiliser le réseau TOR. Il suffit de mettre comme proxy: « localhost » (vous pouvez mettre « 127.0.0.1″ si vous êtes obligé d’entrer une adresse IP) type: « HTTP » et comme port: « 8118« . Et hop, privoxy se charge de transmettre la connexion de votre programme sur le réseau TOR. Idéal pour télécharger ses mp3 sans vouloir être identifié. Si votre programme ne permet pas d’utiliser un type HTTP mais SOCKS, utilisez le port 9050 à la place.

On peut devenir un relais du réseau TOR ? Oui, mais pour ça il faut configurer son routeur pour ouvrir un port (comme on le ferait pour débrider eMule et compagnie).

Dans mon exemple, j’ai configuré un ordinateur pour qu’il soit relais du réseau TOR. 2 choses qu’il faut absolument: le surnom et le port relais. Le surnom, c’est celui qui sera transmis sur le réseau Tor. Vous pouvez laisser « Unnamed » si vous savez pas quoi mettre. Le port relais, c’est le port utilisé par Tor pour permettre les connexions entrantes et sortantes. Il est donc important de bien configurer son pare-feu et son routeur pour que ceux-ci laissent passer les connexions (sinon, TOR marche pas). Dans mon exemple, j’ai choisi le port 443, normalement utilisé pour https. Mais puisque mon ordinateur n’a pas de site internet marchant avec https, ça pose pas de souci. Par contre le routeur, lui, doit bien être configuré (la grande plupart des routeurs, et surtout les box, refusent les connexions entrantes sur les ports 80 et 443).

En prime, j’ai décidé de faire participer mon relais à l’annuaire des relais (il transmet les infos des relais aux clients et autres relais). J’ai donc ouvert un 2e port. Mais ça c’est pas obligatoire.

Petit test:

Les self-test ont « Done » et « Excellent » à la fin ? ok ça marche.

C’est répandu, le réseau TOR ? On peut dire que c’est un bon début. Mais c’est bien: plus il y a de relais pour le réseau TOR, plus vite les connexions sont transmises et plus le niveau d’anonymat est fort.

Vidalia offre un moyen simpa de « voir » le réseau TOR:

On voit donc qu’il y a beaucoup de relais TOR en Europe, en Amérique du Nord, pas mal en Asie et quelques uns en Amérique du Sud, Océanie et Afrique. Les champions sont les Etats-Unis (évidemment), mais aussi l’Allemagne. La France n’est pas en reste, ça doit être le 5e pays le plus couvert de relais TOR. Mais vu à quel point c’est facile de créer un relais, ça ne demande qu’à se généraliser encore davantage ^^

Points négatifs (rien n’est parfait):

TOR est un réseau très sécurisé, mais surfer anonymement signifie surfer lentement: la vitesse de téléchargement via TOR dépasse rarement les 100 ko/s, mais ça dépend largement de la vitesse d’envoi des relais auxquels vous êtes connectés. Mais surtout, il n’est pas rare d’avoir des temps de latence dépassant la seconde, quand ça durait moins de 100 millisecondes sans passer par TOR.

Tout le monde peut créer un relais, par conséquent les pirates aussi. Certains relais malveillants peuvent envoyer une copie modifiée du site que vous consultez, technique du phishing (« hameçonnage », pour reprendre le terme utilisé par Microsoft). Donc utilisez TOR avec Firefox, qui est beaucoup moins vulnérable qu’Internet Explorer. Et soyez prudents aussi: réfléchissez avant de cliquer sur une pub « Votre ordinateur a été infecté, cliquez ici pour le nettoyer » (en fait non faut pas réfléchir: ne cliquez surtout pas sur des pubs de ce genre et faites confiance à l’antivirus qui est sur votre ordinateur, tant qu’il s’appelle pas Avast).

Enfin, je rappelle que TOR est encore semi-expérimental (d’où le nombre de relais limité actuellement) et est encore en plein développement. Donc pensez toujours à vérifier si une mise à jour de Vidalia est disponible.

Bon surf :)

82 commentaires sur TOR

  • mina

    bonjours, Merci beaucoup pour votre réponse.
    Svp c’est quoi l’intéret du protocole SOCKS, si vous pouvez me donnez une petite définition et à quoi il sert??

  • soumia

    bonjours, j’ai essayé le logiciel Tor, pendant la configuration j’ai remarqué l’option « changer identité », est ce qu’elle signifie : « changer le dernier nœud ou changer le premier nœud ou carrément changer le circuit » ?

    Merci de me répondre.

  • Sais pas. Une option qui a été ajoutée après mes essais. :osef:

  • sami

    bonjour tout le monde,

    je veux savoir une chose sur logiciel Tor, concernant le connexion aux annuaires pour ramener la liste des nœuds Tor qui sont en ligne, est ce qu’il choisis un des annuaires disponible sur le réseau Tor aléatoirement ou comment?

    une autre chose, j’utilise le logiciel Wireshark pour la capture des paquets afin de tester les destinations de mon client Tor, existe-t-il une méthode pour l’intégrer dans mon programme, afin de le lancer à partir de mon programme personnel?*

    Merci de me répondre

  • -> je pense que c’est à l’intérieur du réseau TOR. Ça permet au réseau d’évoluer en temps réel (en cas de déconnexion d’un annuaire par exemple).

    -> intégrer Wireshark dans un programme ? Tout à fait possible, c’est un logiciel libre sous licence GNU GPL. intégrer TOR dans un programme ? Tout à fait possible, c’est un logiciel libre sous licence BSD.
    (je crains ne pas avoir parfaitement saisi ce que tu voulais dire…)

  • sami

    Merci beaucoup pour votre 2eme réponse ,j’imaginais que le wireshark n’est pas un logicel libre, donc je peut ramener son code source, et j’essaye de l’intégrer dans mon propre programme C, j’espère qu’il est écrit en langage C.

    c’est à l’intérieur du réseau TOR. Ça permet au réseau d’évoluer en temps réel, c’est à dire quoi?? j’ai pas compris votre réponse!!

    Merci de me répondre.

  • -> Bien respecter la licence GNU GPL hein ;)
    http://sebsauvage.net/rhaa/index.php?2010/03/03/12/17/13-un-manque-de-reconnaissance-certain

    TOR est un réseau décentralisé. Donc il se maintient lui-même, il n’a pas besoin de (et ne doit surtout pas) dépendre d’un annuaire externe ;)

  • MacUser

    Salut Mitsukarenai ,

    Bravo pour le travail que tu nous livre ;)

    mais j’ai un petit soucis, je ne peu config utorrent sous Mac os X …
    Le programme ne semble être le même sous windows et mac … par hasard, quelqu’un as-il trouver un client torrent (sous mac os) qui prenne en compte Tor ?

  • jhonny

    salut j’ai un probleme avec mon vidalia il se bloque au =
    chargement de l’état du reseau failed (pas de route vers l’hote).
    dans le journal des messages j’ai comme erreur =
    :whaa: …….

  • Pare-feu ou proxy, je sais pas. :-?

  • sihem

    Bonjour monsieur Mitsukarenai, j’ai une petite question
    si un pirate attaque un serveur en utilisant le réseau Tor pour cacher son adresse IP, comment ce serveur pourra savoir d’où l’attaque arrive, est ce qu’il peut savoir que l’attaque arrive d’un nœud Tor en récupérant la liste des nœuds d’un annuaire donné, est ce que ça est possible puisque les adresses IP des nœuds sont dynamiques, il y a des sites qui interdisent les connexion Tor, comment ils peuvent réaliser ça, c’est pas évident de récupérer à chaque foie la liste des nœuds Tor pour les interdisent en temps réel??

    Merci de me répondre; j’ai vraiment besoin de la réponse de cette question

  • mina

    Bonjour,

    svp j’ai lu que  » pour des raisons d’efficacité; le réseau TOR utilise le même circuit pour des connexions qui ont lieu sur les mêmes 10 minutes; les requêtes ultérieures utiliseront un nouveau circuit  »
    je comprends pas comment il change de circuits durant sa session de connexion ??? merci de me répondre .

  • sihem > on peut deviner que cela provient d’un noeud TOR car beaucoup de mainteneurs de noeuds personnalisent le reverse DNS (par exemple: tor5.un-site.com)
    Pour ce qui est de la reconnaissance des noeuds TOR, je ne sais pas comment ça fonctionne dans la pratique. Demander au site de e-commerce LDLC, ils utilisent une détection de ce genre ;)

    mina > et bien TOR se déconnecte du noeud auquel il est relié pour trouver un autre noeud. Ce dernier sera le premier relais du nouveau circuit. C’est pour ça que l’on observe une légère fluctuation de la vitesse parfois: un nouveau circuit doit être établi.

  • sihem

    Bonjour Merci pour votre réponse, mais Monsieur j’ai pas bien compris, c’est à dire quoi les mainteneurs de noeuds personnalisent le reverse DNS, c’est pas avec l’adresse IP de noeud émetteur on devine ou non, en comparant avec la liste des noeuds Tor.
    Je m’excuse pour le dérangement .
    Merci

  • Et bien justement je ne sais pas quelle est la liste qui est utilisée le plus souvent, ni comment le blocage a lieu. Car si le serveur doit à chaque fois comparer l’IP du visiteur avec la liste des IP de noeuds TOR, ça fait une charge assez forte quand même…

    Pour ce qui est du reverse DNS, peu de FAI permettent de le faire (Free je sais que c’est possible). Pour le serveur Sakura chez OVH par exemple, tu peux voir ça avec la commande « tracert 94.23.213.133″: ça donne srv1337.h4n.jp, bien que le serveur se trouve à Roubaix (France) et pas au Japon ;) Les mainteneurs de sites le personnalisent pour y préciser de façon lisible pour les webmasters que la connexion a eu lieu à travers un noeud TOR.

  • Sami

    bonjour, svp c’est quoi le reverse DNS, j’ai pas compris la commande « tracert », Merci

  • Narmine

    svp , j’ai lu dans un article les choses suivantes:

    1-Parmis les aspects non traités par TOR, on peut noter les requêtes DNS. En effet, si l’on prend l’exemple de Firefox, celui-ci n’effectue pas par défaut les requêtes DNS en passant par le proxy SOCKS configuré. Cela se traduit par des requêtes effectuées en clair, révélant les sites consultés. Ce problème spécifique peut être configuré dans Firefox. Il suffit de se rendre dans la fenêtre d’édition avancée des propriétés, et d’y configurant la valeur network.proxy.socks_remote_dns, en la modifiant à true. Ceci forcera les requêtes DNS à être effectuées en passant par le proxy SOCKS configuré (l’OP de TOR bien sûr).

    c’est quoi la valeur network.proxy.socks_remote_dns , est ce que c’est faisable sans utiliser le proxy Privoxy??

    2- Une autre caractéristique des circuits est qu’il présente une architecture dite de leaky pipe. Les noeuds de sortie (noeuds qui sont responsables de contacter le serveur destinataire que le client souhaite joindre) peuvent se trouver à n’importe quel niveau du circuit.

    c’est à dire quoi leaky pipe?? et est ce que c’est évident de sortir du premier nœud de circuit par exemple , ça ne risque pas de dévoiler la destination à un attaquant qui analyse le trafic entre l’émetteur et le 1er noeud et entre le 1er noeud et le destinataire??

    3- les cellules envoyées à travers Tor possède une commande « PADDING », qui est utilisé pour le keep-alive!! c’est à dire quoi ça??

    Pour votre réponse SVP sur la commande « tracert », est ce qu’un serveur peut l’utiliser pour tracer son client qui accède à travers Tor, si oui donc sa sert à rien d’utiliser Tor pour surfer??

    Répondez moi SVP , c’est très important pour moi! Merci à l’avance Monsieur.

  • 1- Dans Firefox, taper dans la barre d’adresse: about:config. Il suffit d’appliquer le filtre « network.proxy.socks_remote_dns » pour l’avoir sous les yeux :)

    2- Pour un attaquant qui analyse à la fois le trafic entre client et noeud et entre noeud et serveur de destination, il sera rapidement évident. Sont notamment concernés: les fournisseurs d’accès internet. Mais puisque cela repose sur le hasard, le FAI ne peut pas savoir si le client a fait la demande ou s’il ne fait que relayer la demande d’un autre client. Par statistique et avec recoupement des connexions, on peut par contre « mettre la main » sur le client d’origine.

    3- Keep-alive: dans un réseau, c’est la limite du nombre d’intermédiaires à partir de laquelle un paquet n’est plus transmis. C’est pour éviter qu’un paquet dont on ne trouve pas le destinataire soit renvoyé à l’infini dans le réseau. Par contre je ne connais pas de détail sur la commande padding.

    -> le truc c’est que le serveur croit que le noeud de sortie est le client: il ne peut pas remonter plus loin, alors que le vrai client se trouve plusieurs noeuds plus loin, dans le réseau TOR.

    Tu as utilisé TOR pour poster le commentaire, d’où son classement dans les commentaires non approuvés avant que je l’approuve.
    IP: 213.133.103.39
    host: static.213-133-103-39.clients.your-server.de
    port TOR ouvert: 9001

    Entre noeud et client, pareil: le noeud ne peut que tracer jusqu’au noeud suivant, mais ne peut pas savoir si ce noeud et en fait le client ou s’il n’a fait que relayer.

  • mina

    Bonjour Mr Mitsukarenai,

    j’ai lu dans un article la chose suivante: » Attaque de Corrélation de temps de bout en bout : Tor cache d’une façon minimale de telles corrélations. Un attaquant observant les modèles de trafic de l’initiateur et du répondeur sera capable de confirmer la correspondance avec une probabilité élevée. La plus grande protection actuellement disponible contre une telle confirmation doit cacher la connexion entre l’OP et le premier nœud de Tor, en exécutant l’OP sur le nœud de Tor ou derrière un pare-feu », c’est à dire quoi quoi tous ça, et est ce que c’est un pare feu logiciel ou materiel, à quoi sert un pare feu ici avec Tor..?? « en exécutant l’OP sur le nœud de Tor  » c’est à dire quoi??

    Merci à l’avance…

  • L’article Wikipedia français est trop court, donc voilà pour la théorie sur l’attaque par corrélation:
    http://en.wikipedia.org/wiki/Correlation_attack

    Après je ne sais pas comment ça s’applique à TOR. Assez confus, surtout avec ce pare-feu…
    Si c’est une attaque par entremise avec le client et le premier noeud, c’est un problème qui avait été soulevé il y a quelques temps déjà. Et c’est une faiblesse qu’on retrouve pour craquer les réseaux WPA/WPA2 actuellement, à savoir récupérer l’échange initial d’ouverture de connexion sécurisée entre 2 points.

    Mais j’en sais pas plus…

Poster un commentaire


Vous pouvez utiliser ces tags HTML (exemple: <b>votre texte en gras</b>)

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

:) :( ;) :x :roll: :rouge: :pff: :p :mrgreen: :jap: :-?