phoemur
(usa Debian)
Enviado em 16/04/2013 - 23:30h
https://www.torproject.org/docs/faq-abuse.html.en#Bans
http://www.technologyreview.com/view/427413/how-china-blocks-the-tor-anonymity-network/
O primeiro passo é bloquear todos os IPS dos relays de entrada do TOR, que são públicos, porém mudam diariamente (lista incompleta:
http://proxy.org/tor.shtml). Você teria que fazer um script pra pegar esses IPs e colocar pra DROP no iptables, basicamente esse site aqui diz como:
http://doc.norang.ca/iptables.html#sec-3
Mesmo assim a pessoa ainda conseguira se conectar ao TOR usando os relays que se comportam como bridge, mas isso por experiência própria é ruim e muito lento.
Pra eliminar isso você teria que utilizar uma filtragem que age justamente na camada da aplicação, utilizando o layer7 por exemplo, que é bem complicadinho aliás, sugiro:
http://www.vivaolinux.com.br/artigo/Iptables-+-Layer7?pagina=1
Como o protocolo de conexão ao TOR é bem diferente de outros como http, ftp, você marcaria e bloquearia esse tráfego, mais ou menos assim:
http://www.vivaolinux.com.br/topico/netfilter-iptables/Bloquear-TOR-Proxy-anonimo
Contudo já existe uma ferramenta chamada Obfs proxy que muda o protocolo fazendo com que o tráfego do TOR pareça legítimo, veja aqui:
https://www.torproject.org/projects/obfsproxy.html.en
Talvez a maneira mais fácil seria restringir a porta 443 utilizando um whitelist, permitindo conectar apenas aos sites que você permitir e bloqueando o resto (o TOR usa a 443 e 80 se não me engano, 22 tb).
Daí você vai criando com o tempo uma lista com os sites permitidos.
Bloquear o TOR realmente é um enrosco viu. Se o governo da China tem tentado restringir isso sem muito sucesso, com tantos recursos disponíveis, conforme escrito no segundo link que eu deixei, imagina nós em uma rede pequena.
Um desafio e tanto.
Se não me engano no Snort também é possível criar regras que detectam tráfego TOR (as últimas rules da emerging threats têm) e daria pra bloquear com guardian, snortsam, fail2ban ou coisa que o valha, mas nunca tentei. Mas esse método é tão sujeito a falhas quanto o anterior, da forma que descrevi.