frogdev site francophone sur Gentoo
Vous êtes ici : Tor/privoxy
Dernière modification : February 16 2007 21:00:23.

Suite à un post sur le forum français http://forums.gentoo.org/viewtopic-t-476405.html . J'ai décidé de m'interresser à ce duo.

Le couple Tor/Privoxy permet d'être plus ou moins anonyme sur Internet :

Voici les définitions (cf : wikipédia)

Privoxy :
Privoxy est un serveur mandataire pour le protocole HTTP, souvent utilisé en combinaison avec Tor et Squid. Privoxy est un proxy web avec des capacités de filtrage avancées de protection de la vie privée, filtrant le contenu des pages Web, gérant les cookies, contrôlant l'accès, supprimant les publicités, fenêtres intempestives, etc. Il supporte à la fois les systèmes seuls et les réseaux multi-utilisateurs.
Privoxy est basé sur Internet Junkbuster et est diffusé sous la licence GNU GPL. Il fonctionne sous Linux, Windows, Mac OS X, AmigaOS, BeOS et la plupart des clônes d'UNIX.

TOR :
Tor, pour The Onion Router, est un réseau anonyme et décentralisé permettant de rendre anonyme les connexions Internet.
Il repose sur le principe suivant : chaque connexion TCP passe par plusieurs noeuds (aussi appelés routeurs oignon) pour atteindre un noeud de sortie. Toutes les communications sont chiffrées jusqu'au noeud de sortie. Il est impossible de remonter à la source d'une connexion à partir de la destination.
Par exemple, vous souhaitez vous connecter sur Wikipedia avec Mozilla Firefox :

* Firefox envoie la requête HTTP au logiciel proxy Privoxy

* Privoxy retranche l'information non anonyme et passe cette demande à Tor via SOCKS

* Tor détermine aléatoirement la chaîne de noeuds à parcourir, enveloppe par chiffrement les données et contacte le premier noeud

* Ce premier noeud déchiffre une partie de l'enveloppe et fait suivre les données jusqu'à atteindre un noeud de sortie

* Ce noeud de sortie envoie la requête à Wikipedia


La même chose se passe en sens inverse, votre connexion est ainsi anonyme, mais est cependant très ralentie

Un anonymat partiel :
Le réseau TOR est très intéressant dans sa théorie, mais l'anonymat qu'il vous propose n'est pas total ! Aussi, ne l'utilisez pas à des fins illégales, et sachez également de quoi TOR vous protège réellement :

* Applet java dans les sites webs :


Certains sites webs qui aiment connaitre votre identité ont déjà mis en place des parades, telles l'insertion dans le site web en question de mini-applets java. Celles-ci, s'exécutant sur votre ordinateur, renvoient au site web source votre adresse IP, annulant ainsi l'efficacité de TOR qui avait justement pris soin de la masquer. Il est difficile de se prémunir de cette parade, car bloquer l'exécution de ce type de code bloque également des fonctionnalités parfois indispensables au service rendu par un site.

* Attaque de type "Time Pattern" :


Tor, en chiffrant au niveau de chaque noeud les flux entrant et en les laissant sortir dans un ordre aléatoire, permet d'empêcher un attaquant de suivre le chemin pris par une connection. Cependant s'il ne peut reconnaitre le contenu du flux, il existe des moyens dont le principe est en quelque sorte liés au problème des canaux cachés. Par exemple envoyez un flux comme du code morse : 3 paquets envoyés en salve puis 5 sec de silence, puis 3 paquets etc. Lorsque vous verrez un flux sortir d'un noeud tor et dont le "motif temporel" ressemble à celui-ci, alors vous saurez que c'est le votre.
Selon ce principe, vous pouvez chercher à attribuer une signature temporelle à un flux que vous essayez de suivre, ce qui vous permettra peut-être de le faire. Un attaquant peut d'ailleurs augmenter ses chances en donnant lui même un motif temporel au flux qu'il cherche à suivre. C'est en effet chose possible. Comme au sein d'un noeud tous les paquets sont transférés par le biais d'une machine commune et se partagent donc les ressources systèmes, un attaquant peut innonder un noeud de ses propres paquets pour moduler un ralentissement de la machine comme il l'entend, et ainsi créer une signature temporelle pour les flux qui traversent ce noeud précis.

Ces deux types d'attaques sont très différentes et posent de nombreuses questions. La première montre que même si le réseau tor protégeait parfaitement votre anonymat, des moyens simples peuvent le contourner complètement et fortement compromettre son efficacité. Le second exemple est plus destiné à montrer que bien que tor reste un outil formidable, on peut l'attaquer directement, et il n'est donc pas un paradis pour hackers.

Installation :
# emerge tor privoxy (pas trop compliqué ;-) )

Paramétrage :
# cp /etc/tor/torrc.sample /etc/tor/torrc

Ensuite, il faut éditer le fichier de configuration de privoxy. Celui-ci existe déjà mais il faut rajouter une ligne. Éditez donc le fichier : /etc/privoxy/config et rajoutez la ligne suivante :
forward-socks4a / localhost:9050 .

N'oubliez surtout pas le . à la fin de la ligne sinon rien ne fonctionnera

Une fois terminé, il faut lancer les deux logiciels :
# /etc/init.d/tor start
# /etc/init.d/privoxy start

Pour les activer au démarrage :
# rc-update add tor default
# rc-update add privoxy default

FAQ :
* les ports utilisés 80, 443,9001, 9030 et 9050 utile pour configurer le firwall
* Configuration du proxy pour un navigateur web:
socks4a" proxy on "localhost" port "9050".
Sinon si vous utilisez Firefox, vous pouvez installer l'extension Torbutton qui effectue tous les réglages pour vous.
*. Serveur pour plusieurs odinateurs du réseaux
Par défaut tor est configuré pour ecouter les connexion de localhost.
Editer torrc et ajouter :
SocksListenAddress 0.0.0.0
* Acceder aux protocole https sur un port différent du 443 :
Editer le fichier /etc/privoxy/default.action et remplacer
-limit-connect \
par
+limit-connect{1-} \
* créer un serveur tor :
Pour ceux qui ne veulent pas ouvrir il est possible de définir des regles voici un exemple :
reject 0.0.0.0/8
//Reject non-routable IP's requests
reject 169.254.0.0/16
//Reject non-routable IP's requests
reject 127.0.0.0/8
//Reject non-routable IP's requests
reject 192.168.0.0/16
//Reject non-routable IP's requests
reject 10.0.0.0/8
//Reject non-routable IP's requests
reject 172.16.0.0/12
//Reject non-routable IP's requests
reject *:25
//Reject SMTP for anti-spam purposes
reject *:119
//Reject NNTP (News Network Transfer Protocol)
reject *:135-139
//Reject NetBIOS (File sharing for older versions of windows)
reject *:445
//Reject Microsoft-DS (a.k.a NetBIOS for newer NT versions)
reject *:1214
//Reject Kazaa
reject *:4661-4666
//Reject eDonkey network
reject *:6346-6429
//Reject Gnutella networks
reject *:6699
//Reject Napster
reject *:6881-6999
//Reject (Dark Star) deltasource & Bittorent network
accept *:*"
//Accept the rest of 65535 possible ports


Configurer un nom :
Nickname ididnteditheconfig
Configurer le port :
ORPort 9001
Configure une adresse ou l'on peux vous joindre:
ContactInfo human@example.com

Consulter les logs afin de voir si votre serveur a été publié.

Toutes ces règles sont définis dans /etc/tor/torrc. Des exemples en commentaires sont fournis à la fin du fichier.

Voir les commentairesAjouter un commentaire

Imprimer cette page Imprimer cette page

Liste de diffusion

Valider 


Espace téléchargement

Téléchargement
Livres (pdf)
Howto



Promouvoir et soutenir le logiciel libre
Go Frugalware, Go

Get Firefox

Gentoo

Logo Apache

Logo Mysql

Logo PHP



nobrevet

Read and comment at the BadVista.org blog

L'Association Francophone des Utilisateurs de Linux et des logiciels libres (AFUL)

Logo greenpeace


grenouille

Me contacter / Mes expériences GNU/Linux

- [ Basé sur Itseasy | Thème : Frogdev ] -
Les informations ne sont données qu'à titre indicatif.
© frogdev site francophone sur Gentoo, Licence FDL 2008

[ Page générée en 0.0128 secondes | Compression gZip active ]
Poids XHTML : 23.08 ko (27.09 ko non compressé) - CSS : 5.92 ko
Eléments chargés : 8.26 ko