Desenvolvendo Script para Bloquear TOR

1. Desenvolvendo Script para Bloquear TOR

D H
deleted

(usa Nenhuma)

Enviado em 25/02/2014 - 11:21h

Galera eh o seguinte... Estou tentando bloquear o tor aqui na empresa... e cheguei em alguns passos....

# com o tcpdump capturo quem esta utilizando o tor e jogo para um arquivo
tcpdump -vvi eth0 port 443 | grep .https | grep -e torproxy -e router-zero > /tmp/file.txt


#filtro apenas os ips unicos gerado pelo arquivo e jogo para um arquivo2
cat /tmp/file.txt | cut -c 1-14 | grep -v [a-z] | awk '!a[$0]++' > /tmp/file2.txt


#jogo o valor do arquivo2 /tmp/file2.txt para uma variavel $ip
ip=`cat /tmp/file2.txt`

#e bloqueio pelo iptables o ip de quem esta usando o tor.
iptables -I FORWARD 1 -s $ip -j REJECT


Agora vem a ajuda... tentei colocar em while para capturar e ja filtrar... porem não funcionar.. coloquei em for...
tentei filtrar apenas o ip com o tcpdump mas se filtrar muito nem aparece o trafego...


#Padrão do log gerado pelo tcpdump ao tentar conectar a rede tor
torproxy10.teamcymru.net.https > 10.1.0.100.56672: Flags [.], cksum 0x95f6 (incorrect -> 0xda9f), seq 146034:151554, ack 29697, win 63, length 5520
torproxy10.teamcymru.net.https > 10.1.0.100.56672: Flags [.], cksum 0x95f6 (incorrect -> 0xaf8d), seq 151554:157074, ack 29697, win 63, length 5520
10.1.0.100.56672 > torproxy10.teamcymru.net.https: Flags [.], cksum 0x90a6 (correct), seq 30283, ack 148794, win 258, length 0
10.1.0.100.56672 > torproxy10.teamcymru.net.https: Flags [.], cksum 0x85de (correct), seq 30283, ack 151554, win 258, length 0
10.1.0.100.56672 > torproxy10.teamcymru.net.https: Flags [.], cksum 0x7b16 (correct), seq 30283, ack 154314, win 258, length 0

Bem eh isso... Obrigado

a outro detalhe... ja uso o fail2ban com a lista do routers do tor...
segue o exemplo.

#!/bin/bash

url='https://check.torproject.org/cgi-bin/TorBulkExitList.py?ip=200.0.0.0'

wget -N -O tornodelista $url
file='tornodelista'
cat $file | uniq > tornodelista2

file='tornodelista2'

while read line
do
node=$line
iptables -I FORWARD -d $node -j LOG --log-prefix "=TorProxy=" -v
done < $file

rm tornodelista
rm tornodelista2




  


2. Re: Desenvolvendo Script para Bloquear TOR

Estefanio Brunhara
stefaniobrunhara

(usa CentOS)

Enviado em 25/02/2014 - 12:16h

A melhor solução que já encontrei para bloquear tor e utra-surf, foi acabar com o proxy transparente e nat para as estações, hoje só libero nat completo em ultimo caso, no mais libero exatamente a porta que o usuário precisa, melhor administrar bem, do que ficar gerenciando problemas.

Para não precisar reconfigurar todos os browse, veja a solução:

http://www.vivaolinux.com.br/artigo/Wpaddat-com-Proxy-Especifico-por-Rede






3. Re: Desenvolvendo Script para Bloquear TOR

D H
deleted

(usa Nenhuma)

Enviado em 25/02/2014 - 13:27h

Beleza, Estefânio, temos aqui 600 hosts divididos em 12 setores. cada setor tem uns 6-8 sistemas que usam portas distintas e alguns com portas aleatórias.

Em infra mais simples, com layouts menores, ja fiz firewalls com iptables, bloquando tudo e liberando apenas endereços.

depois de implantado sempre da manutenção... principalmente que bloqueie todas saidas, https, tive que liberar sites de bancos e etc... ate hoje tem solicitação para atualização de regras.


Mas no meu caso automatizando o script a cima seria uma boa solução para quem esta com nat habilitado e proxy na rede.

Abraços


4. Re: Desenvolvendo Script para Bloquear TOR

Estefanio Brunhara
stefaniobrunhara

(usa CentOS)

Enviado em 25/02/2014 - 14:32h

Tenho 380 computadores, funcionando em proxy. Entre eles tenho maquinas do financeiro que acessa diversos bancos, tenho maquina da contabilidade, que acessa serviços no site da caixa etc... etc..





Veja o resumo da minha receita

iptables opção 1)

Libero nat nas portas onde meus usuários precisam conectar 110, 143, 587, 993,995 por exemplo para o site do terra.com.br por exemplo

iptables opção 2)

Quando não sei qual é a porta correta libero nat 100% para sites/ips como site da caixa, filial etc... Por exemplo o site da caixa tenho os serviços da folha de pagamento, como o site tenho vários ips eu libero a rede toda.

200.155.0.0/16; # Bradesco
200.196.0.0/16; # Itau
23.9.143.0/24; # Itau
200.201.0.0/16; # Caixa

Os ips acima todas as estações tem nat 100% para eles, e não passa pelo proxy

iptables opção 3)

Bloqueio por string. Por exemplo o facebook

Tudo passar pelo squid inclusive o acesso 443 o que não passa pelo squid, e liberado exatamente o que o usuário precisa.

Quando raramente tenho uma maquina que possui nat sem restrições, como maquina do chefe ou algum servidor etc.. etc... não faz sentido tentar bloquear o tor ou utrasurf, se por acaso acontece de um usuário precisa de nat 100% libarado eu limito a banda dele em 300k e o resto fica por conta da opção3


Bom, sua rede é maior que a minha rede! E cada caso é uma caso mesmo!





5. Re: Desenvolvendo Script para Bloquear TOR

D H
deleted

(usa Nenhuma)

Enviado em 25/02/2014 - 14:49h

Tenho também umas regras de bloqueio por string para facebook.

## BLOQUEIO POR HORARIO # Horario UTC +3 Horas ##
#iptables -I FORWARD -m string --algo bm --string "facebook.com" -m time --timestart 10:59 --timestop 14:59 --utc -j DROP
#iptables -I FORWARD -m string --algo bm --string "facebook.com" -m time --timestart 16:59 --timestop 20:59 --utc -j DROP
#
#iptables -I FORWARD -m string --algo bm --string "facebook.com" -m time --timestart 7:59 --timestop 11:59 -j DROP
#iptables -I FORWARD -m string --algo bm --string "facebook.com" -m time --timestart 13:59 --timestop 17:59 -j DROP
#
iptables -I FORWARD -p tcp -m multiport --dports 80,443,3128 -s 10.1.0.0/16 -m string --algo bm --string "facebook.com" -m time --timestart 10:59 --timestop 14:59 --utc -j DROP
iptables -I FORWARD -p tcp -m multiport --dports 80,443,3128 -s 10.1.0.0/16 -m string --algo bm --string "facebook.com" -m time --timestart 16:59 --timestop 20:59 --utc -j DROP
#
## LIBERACAO POR HORARIO ##
iptables -I FORWARD -p tcp -m multiport --dports 80,443,3128 -s 10.1.0.0/16 -m string --algo bm --string "facebook.com" -m time --timestart 03:00 --timestop 11:00 --utc -j ACCEPT
iptables -I FORWARD -p tcp -m multiport --dports 80,443,3128 -s 10.1.0.0/16 -m string --algo bm --string "facebook.com" -m time --timestart 15:00 --timestop 17:00 --utc -j ACCEPT
iptables -I FORWARD -p tcp -m multiport --dports 80,443,3128 -s 10.1.0.0/16 -m string --algo bm --string "facebook.com" -m time --timestart 21:00 --timestop 23:59 --utc -j ACCEPT


O Ultrasurf e tranquilo de bloquear com o fail2ban e o tor tambem... porem que queria automatizar os comandos... UEhueuehueh







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts