Twitter Facebook Google Plus Linkedin email

Sécuriser Tor avec iptables

Voici une petite astuce pour être sûr de n'avoir aucune fuite en utilisant le proxy Tor.

Vous connaissez surement l'indispensable extension torbutton qui permet de bloquer tous les plugins (Java, Flash, ...) susceptibles de leaker votre adresse IP, que je vous recommande d'ailleurs d'utiliser dans un profil Firefox différent avec le minimum vital niveau extension.

Cependant, il reste un problème : Torbutton ne gère que les connexions liées à Firefox, pour les autres applications, comment s'assurer qu'elles utilisent uniquement le proxy tor ? Une très bonne solution consiste à gérer le problème à la racine, c'est à dire en autorisant uniquement les connexions du processus tor via un firewall. Voici comment faire avec iptables.

Tout d'abord, il est nécessaire de créer un utilisateur pour tor et d'exécuter le processus avec celui-ci. Vous pouvez lancer tor directement avec l'utilisateur en question ou bien lancer tor avec les droits root et entrer la ligne suivante dans le fichier de configuration torrc :

User tor

Ensuite il nous reste à configurer iptables :

# Vide les règles déjà présentes
iptables -F INPUT
iptables -F OUTPUT

# Bloque tout par défaut
iptables -P INPUT DROP
iptables -P OUTPUT DROP

# Autorise toutes les connexions locales
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT

# Autorise uniquement les processus de l'utilisateur tor à établir des connexions
iptables -A OUTPUT -m owner --uid-owner tor -j ACCEPT

# Accepte uniquement les connexions que l'on a initiées
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Sauvegarde le tout
iptables-save > /etc/iptables/tor

Et voilà, lors de l'utilisation de Tor on pourra mettre en place ces règles iptables afin d'être sur de communiquer uniquement via ce réseau.

iptables-restore < /etc/iptables/tor