domingo, 12 de setembro de 2010

BLOQUEANDO O ULTRASURF E O WEBMESSENGER DO HOTMAIL COM PROXY TRANSPARENTE (ATUALIZADO PARA O ULTRA SURF 10.05)

O UltraSurf é um pequeno utilitário capaz de burlar um proxy e permitir acesso a sites bloqueados, e que tem sido cada vez mais utilizado em bibliotecas, faculdades e escolas.
O UltraSurf utiliza-se de diversos servidores para conexão feitas pela porta SSL 443. Como é de se supor bastaria bloquear a porta 443 que o UltraSurf não mais se conectaria. Ai é que está o problema e a grande façanha do UltraSurf, essa porta 443 é utilizada para as conexões seguras como a de bancos, do Messenger e do próprio Orkut. Bloqueando essa porta você irá bloquear todo o acesso a esses sites.

PARA INICIO:

O tutorial abaixo foi aplicado a seguinte situação:

*Usuários podem ter acesso ao Messenger e sites de bancos e seguradoras todo o resto do tráfico pela porta 443 deve ser bloqueada incluindo nessa situação o UltraSurf. Alguns usuários tem acesso sem restrições a tudo.

A forma mais eficiente para bloquear o UltraSurf é o bloqueio de todo tráfico da porta 443 e liberação dessa porta apenas para URLs pré-determinadas. Isto porque o UltraSurf está constantemente atualizando sua lista de Ips para conexão e bloquear todos eles torna-se mais dispendioso do que bloquear tudo e liberar apenas o necessário.

Passo 1:

Adicione a seguinte regra ao seu firewall (Obs: Adicione essa regra antes de qualquer outra).


##############################
# BLOQUEIO DE PORTAS SSL 443
##############################

#Libera acesso aos bloqueados a urls especificas
#Bloqueia toda a requisição a porta 443
iptables -I FORWARD -p tcp --dport 443 -j DROP
#Bloqueia a nova porta utilizada pelo UltraSurf 10.05
iptables -I FORWARD -p tcp --dport 25101 -j DROP

#Define o local onde está o arquivo com a lista de URLs liberados para a porta 443
for URL in `grep -v "^#" /etc/squid/liberados_443`; do
#Libera o acesso a toda a rede para a lista de URLs definidas
iptables -I FORWARD -p tcp --dport 443 -d $URL -j ACCEPT
done

#Libera acesso total ao ssl 443
#PC-01
#Permite o acesso a porta 443 pelo ip em questão sem qualquer restrição
#adicione os endereços ips que você não pretende restringir o acesso ao UltraSurf.
iptables -I FORWARD -s 192.168.0.2 -p tcp --dport 443 -j ACCEPT



Obs: Regra adaptada do post de Jorge Informática disponível em:
http://www.brazilfw.com.br/forum/viewtopic.php?f=2&t=68610&start=0


Passo 2:

Crie um arquivo liberados_443 e adicione todos os ips das URLs em que o acesso à porta 443 será permitido. No meu caso o arquivo encontra-se dentro de “/etc/squid”, no entanto ele pode ser colocado em qualquer lugar para isso basta modificar a linha:


for URL in `grep -v "^#" /etc/squid/liberados_443`; do

com a nova localização do arquivo.

Exemplo abaixo de um arquivo liberados_443


#################################################
#ORKUT
64.233.160.0/19
64.233.163.0/24
209.85.128.0/17
74.125.0.0/16
72.14.192.0/18

#MSN
69.192.24.0/24

#Novo Hotmail 11-09-2011
65.54.186.0/24
65.54.204.0/24
65.54.165.0/24
216.246.75.0/24

#MSN Embutido no Hotmail 11-09-2011
173.222.141.0/24


#CENTRAL DE UPDATE WINDOWS
65.55.13.0/24

#########BANCOS################
#BANCO DO BRASIL
170.66.2.0/24
170.66.1.0/24

#CAIXA ECONOMICA
200.201.169.0/24
200.201.173.0/24

#ITAU
200.196.152.0/24

#BRADESCO
200.155.86.0/24

#BRADESCO FINANCIAMENTOS
200.155.80.0/24
####################################################


Como descobrir o ip a ser liberado para adicionar a lista?


Baixe um programa monitor de rede, no exemplo utilizei o networx.


Link do networx:
http://www.softperfect.com/download/

Utilize o recurso Netstat para monitorar o tráfico:


Acesse o site que você pretende liberar, e verifique o ip que está sendo acessado pela porta 443.
No exemplo temos o ip 170.66.1.60 que corresponde ao ip do Banco do Brasil. Ao adicionar no arquivo adicione da seguinte maneira 170.66.1.0/24 isso irá liberar toda a faixa de ip de 170.66.1.1 a 170.66.1.254 o que se torna interessante uma vez que geralmente os domínios utilizam mais de um ip de terminada faixa para acessos a serviços.
Observe que esses ips podem mudar com o tempo precisando ser atualizada a lista.


BLOQUEIO DO WEBMESSENGER DO HOTMAIL.


Veja que no arquivo de exemplo liberados_443 temos a seguinte faixa de ip:

#MSN Embutido no Hotmail 11-09-2011
173.222.141.0/24


Esse é justamente a faixa de ip utilizada pelo WebMessenger do Hotmail para acesso. No meu exemplo estou liberando o acesso a esse serviço, caso queria bloqueá-lo basta comentar essa linha.

CONCLUSÃO

Seguindo o exemplo desse tutorial não iremos nos preocupar mais com o UltraSurf ou qualquer outro software semelhante (pelo menos enquanto utilizarem a porta 443). O grande dificuldade realmente está no fato de ter que adicionar os ips de todas as URLs a serem liberadas que dependendo da quantidade de sites exigirá um trabalho bastante dispendioso. Por outro lado depois disso você só irá precisar fazer pequenas atualizações de ips que venham a mudar ou adicionar novos ips a serem liberados no arquivo liberados_443.
Como nem tudo é maravilha dependendo a quantidade de ips adicionados a lista o firewall irá demorar um pouco mais para aplicar todas as regras e a acesso a os sites liberados irá ficar ligeiramente mais lento. “É uma questão de preço benefício” :D.

Espero que tenham gostado desse meu primeiro post. Comentem:

Abraços.

Irineu Teza Nunes.