Script:
# links -dump https://check.torproject.org/cgi-bin/TorBulkExitList.py?ip=$(links -dump ip.dnsexit.com | sed 's/ //g') | sed 's/ /\n/g' | sed -n '/^[0-9].*\..*\..*\./p' | sed -n '2,$p' | while read IP; do iptables -I INPUT -s "$IP" -j DROP; doneDependências:
Você precisa ter instalado no servidor o "links", uma especie de navegador para linha de comando do linux.
Script para instalar o Links no ubuntu:
# apt-get install links
Modo de usar:
Execute isso como root em seu servidor. Sim, só isso... Mas o ideal é executar esse script pelo cron do linux periodicamente, pois cada vez que ele roda atualiza os ips que serão bloqueados pelo iptables. Lembre-se que esses ips estão sempre sendo alterados, pois qualquer um pode se tornar um relay do TOR.O que o script faz?
Ele busca a lista de ips públicos da rede TOR que podem acessar o seu servidor, logo depois, é atualizado as regras do iptables(Firewall do Linux) bloqueando cada um dos ips para o INPUT (conexão de entrada).Dicas:
* Se você possui IP fixo, pode trocar o subshell $(links -dump ip.dnsexit.com | sed 's/ //g') pelo seu IP, isso vai deixar a execução mais rapida, pois esse subshell pega o ip da maquina que está executando o script.* Se o serviço de firewall fica em outro servidor, substitua o INPUT por FORWARD.Observação:
Isso não vai livrar você totalmente da rede TOR, mas vai ajudar bastante.
Fontes:
http://www.vivaolinux.com.br/dica/Bloqueando-acesso-ao-servidor-a-utilizadores-do-TOR
https://check.torproject.org/cgi-bin/TorBulkExitList.py