Empêcher les noeuds du réseau Tor d’accéder à votre serveur Apache 2

C’est triste à dire, mais le logiciel TOR n’est pas toujours utilisé par des gens souhaitant contourner la censure de leur pays… En effet, on m’a demandé récemment de l’aide pour bloquer des personnes s’amusant à spammer un site web. Après les traditionnelles règles dans iptables qui bloque le tout venant, ils ont continué en passant par TOR.

Voici donc la procédure pour bloquer les noeuds du réseau à l’aide de la commande « deny » de Apache2.

Télécharger une  liste des noeuds du réseau TOR

Dans un premier temps, nous allons télécharger sur notre serveur la liste des adresses ip des noeuds. A partir de cette liste nous allons générer un fichier avec des deny sur chaque adresses IP. Cette liste est généré par le site www.dan.me.uk et peut être téléchargé toutes les 30 minutes. Faites attention car la commande ci-dessous ne pourra être exécuté qu’une seule fois toutes les 30 minutes…

wget -q https://www.dan.me.uk/torlist/ -O - | sed 's/^/deny from /g' > /etc/apache/tor-ip.conf;

Configuration de votre virtualhost

Une fois la liste téléchargé, il faudra rajouter ces quelques lignes dans votre fichier de configuration du virtualhost. Adaptez en fonction de ce que vous avez déjà configuré…

Order allow,deny
Include /etc/apache2/tor-ip.conf
allow from all

Il ne vous reste plus qu’à faire une reload de votre serveur apache et le tour est joué !

/etc/init.d/apache2 reload

Tester notre configuration

Pour finir, vous pouvez télécharger TOR, décompresser l’archive et exécuter le script « start-tor-browser ». Après avoir choisi la première option, le logiciel ce connectera au réseau TOR et vous pourrez taper l’adresse de votre site. Si vous avez bien tout fait, une jolie erreur 403 sera affiché sur la page.

Aller plus loin

Pour aller plus loin, il faudrait faire un cron qui recharge régulièrement la liste des ip des noeuds et qui reload la configuration de Apache2. Notez que si vous ne rechargez pas la configuration, Apache2 ne prendra pas les changements du fichier en compte puisque la liste des IP est dans le fichier de configuration du serveur et non dans le htaccess.

Je sais que c’est triste d’en arriver à bloquer TOR qui est un outil formidable pour les gens vivant dans des pays totalitaire, toutefois le revers de la médaille c’est lorsqu’il est utilisé par des idiots… Évidement, il pourront toujours passer par des VPN. Mais bon… Encore faut-il qu’il sachent le faire…

Source

http://www.reaper-x.com/2012/05/15/how-to-block-tor-on-apache-and-nginx/

2 commentaires sur “Empêcher les noeuds du réseau Tor d’accéder à votre serveur Apache 2”

  1. Bonjour,
    Les balises meta sont interprétées côté client. Le client peut donc ignorer ces dernières. La seule solution est un blocage côté serveur.
    Bon courage !

  2. Bonjour,
    avant tout, merci déjà pour l’avoir fait.
    Le souci est bien entendu d’avoir un fichier valable peu de temps, puisque les noeuds évoluent.
    Sur mon site, (et bien d’autrs) je ne désire pas afficher d’annonces d’argent, de politique, de religion, etc. Mais il en vient quand même.
    Quand je fais un relevé des adresses IP, l’inscription diffère de l’annonceur, bref, pour être clair ils m’emmerdent.
    Le problème est l’allongement de l’ouverture de la page d’accueil et je me demandais s’il ne serait pas possible d’interdire tor par les balises meta ou en deux/trois lignes via le fichier htaccess ?
    Bonne continuation,
    Cordialement

Laisser un commentaire