HOWTO Tor

Un article de Gentoo Linux Wiki.

Cet article fait partie des HOWTOs.
Méthodes d'installation CD Live Noyau et matériel Portables et Notebooks Portage Système Réseaux et Services Serveur X Logiciels fréquemment utilisés Autres

Sommaire

[modifier] Introduction

Cet article explique comment surfer anonymement en utilisant Tor (TheOnionRouter) et Privoxy. Tor peut aussi être utilisé pour rendre anonyme d'autres client réseau (IRC, newsgroups, IM,...).


[modifier] Installation

En tant que root:

# emerge net-misc/tor net-proxy/privoxy

Ajouter cette ligne dans la configuration de privoxy :

File: /etc/privoxy/config
forward-socks4a / localhost:9050 .
# N'oubliez pas le '.' à la fin!
Note: Pour éviter que Privoxy ne log toutes les requêtes GET, POST, et CONNECT HTTP, commenter la ligne suivante dans /etc/privoxy/config :
#debug   1    # show each GET/POST/CONNECT request


Afin que votre proxy soit disponible pour tout le réseau (remplacez 192.168.0.1 par l'adresse de votre serveur Tor) :

File: /etc/privoxy/config
listen-address  192.168.0.1:8118


Vous pouvez aussi rendre disponible le proxy socks de Tor directement accessible (par exemple sur le port 9100) :

File: /etc/tor/torrc
SocksListenAdress  192.168.0.1:9100


Note: Si votre firewall bloque certains ports modifiez votre fichier /etc/tor/torrc comme ceci :

Avant Tor 0.1.1.6-alpha :

FascistFirewall 1

(Par défaut Tor utilise alors les ports 80 et 443, vous pouvez changer cela avec l'option FirewallPorts)

A partir de Tor 0.1.1.6-alpha :

ReachableAddresses *:80,*:443

A partir de Tor 0.1.1.14-alpha:

ReachableDirAddresses *:80
ReachableORAddresses *:443

Si il y a un proxy (remplacez 192.168.1.1:8080 par votre proxy et son port:

HttpProxy 192.168.1.1:8080
HttpProxyAuthenticator nom_utilisateur:mot_de_passe
HttpsProxy 192.168.1.1:8080
HttpsProxyAuthenticator nom_utilisateur:mot_de_passe


[modifier] Eviter les fuites réseaux

Lorsque vous utilisez tor vous pouvez avoir une partie de votre traffic réseau qui est envoyé directement sans passer par le proxy.

C'est le cas par exemple des requêtes dns lorsque vous configuré un proxy sur un navigateur web.

[modifier] Fuites DNS

Afin de prévenir des fuites DNS il vous faut utiliser tor en tant que serveur DNS via les options:

File: /etc/tor/torrc

DNSPort 53 DNSListenAddress 127.0.0.1:53

modifier en suite votre resolv.conf comme suit

File: /etc/resolv.conf
nameserver 127.0.0.1

[modifier] Iptable à la rescousse

Afin d'être tout à fait sur qu'il n'y a pas de fuite vous pouvez utiliser les régles iptables suivantes (sur les ports designés):

example de configuration possible pour de la navigation web

INTERNAL_NETWORK="127.0.0.1/32" ROUTER_IP="127.0.0.1" DNS_PORT="53" DNS_SERVER="127.0.0.1" PROXY_SERVER="127.0.0.1" PROXY_PORT="8118"

 /usr/sbin/iptables -t nat -A OUTPUT -i eth0 -s $INTERNAL_NETWORK -p udp --dport 53 -j DNAT --to-destination $DNS_SERVER:$DNS_PORT
 /usr/sbin/iptables -t nat -A PREROUTING -i eth0 -s $INTERNAL_NETWORK -d $INTERNAL_NETWORK -p tcp --dport 80 -j ACCEPT
 /usr/sbin/iptables -t nat -A PREROUTING -i eth0 -s $INTERNAL_NETWORK -d $INTERNAL_NETWORK -p tcp --dport 443 -j ACCEPT
 /usr/sbin/iptables -t nat -A PREROUTING -i eth0 -s ! $PROXY_SERVER -p tcp --dport 80 -j DNAT --to $PROXY_SERVER:$PROXY_PORT
 /usr/sbin/iptables -t nat -A PREROUTING -i eth0 -s ! $PROXY_SERVER -p tcp --dport 443 -j DNAT --to $PROXY_SERVER:$PROXY_PORT
 /usr/sbin/iptables -t nat -A POSTROUTING -o eth0 -s $INTERNAL_NETWORK -p tcp -d $PROXY_SERVER -j SNAT --to $ROUTER_IP


Cela permet de s'assurer que le traffic web ne sort pas. Attention cette methode necessite un proxy transparent.

Vous pouvez pour cela utiliser la fonction intégré dans tor 0.2.0.7 ou superieur qui fournit un proxy transparent à ajouter comme suit dans /etc/tor/torrc. Cette fonctionnalité permet de remplacer privoxy et d'accéder directement à TOR.

File: /etc/tor/torrc

TransPort 8118

[modifier] Utilisation

Note:

Notez qu'en tapant emerge tork vous obtiendrez un systéme entierement intégré à kde et fonctionnel. Deplus il existe torbutton pour l'integration transparente à Firefox.

Démarrez tor :

# cp /etc/tor/torrc.sample /etc/tor/torrc
# /etc/init.d/tor start

Vérifier que Tor est bien lancé ?

Démarrez privoxy :

# /etc/init.d/privoxy start


Ajoutez tor et privoxy au démarrage :

# rc-update add privoxy default
# rc-update add tor default


[modifier] IRC

Pour freenode utilisez le serveur suivant :

mejokbp2brhw4omd.onion/6667

Au cas ou l'adresse du Hidden Service change, il est possible de trouver la nouvelle adresse à l'aide de

dig irc.tor.freenode.net


[modifier] Irssi

Il y a 2 solutions :

torify irssi

ou pour utiliser privoxy en tant que proxy modifiez .irssi/config :

Fichier : .irssi/config
 settings = {
  core = {
    real_name = "TorUser";
    user_name = "TorUser";
    nick = "TorUser";
    proxy_password = "";
    use_proxy = "yes";
    proxy_string = "CONNECT %s:%d HTTP/1.0\012\012";
    proxy_port = "8118";
    proxy_address = "127.0.0.1";
  };
 };


[modifier] X-Chat

Settings-> Preferences -> Network -> Network setup -> Proxy server

Hostname: 127.0.0.1
Port: 9050
Type: Socks5

[modifier] IM

[modifier] Gaim

Preferences -> Network -> Proxy

Proxy type: Socks 5
Host: 127.0.0.1
Port: 9050

[modifier] Psi

Account Setup -> Modify -> Connection -> Proxy -> Edit -> New

Properties:
Name: Tor
Type: SOCKS Version 5
Settings:
Host: 127.0.0.1
Port: 9050


[modifier] Web

[modifier] Firefox

Vous pouvez utiliser cette extension pour faciliter l'utilisation de Tor : Torbutton.

Pour vérifier que Tor est bien activé : showmyip.com.


[modifier] Konqueror

Configurer -> Configurer Konqueror -> Serveurs mandataire (proxy) -> Spécifier à la main la configuration du serveur mandataire (proxy) -> Configuration...

HTTP/S Proxy: 127.0.0.1 port 8118


[modifier] SSH

torify ssh login@domaine.com

[modifier] Autres

Pour wget,lynx,curl,...

Fichier : ~/.profile ou ~/.bashrc
http_proxy=http://127.0.0.1:8118/
ftp_proxy=http://127.0.0.1:8118/
export http_proxy ftp_proxy

[modifier] Références