Vários usuários nos têm reportado que o script que criamos para combater o UltraSurf não tem sido eficiente no bloqueio da nova versão lançada no final do mês passado, o UltraSurf 9.6. Então, baixamos a nova versão e, como fizemos com a versão anterior, passamos a analisar o tráfego de uma estação que executava o UltraSurf.

Uma das principais características que tínhamos observado na versão anterior era a grande quantidade de conexões HTTPS com servidores externos, na ocasião verificamos que o UltraSurf realizava em média 10 conexões simultâneas na porta 443. Utilizamos essa sua peculiaridade para criar o script stopUltraSurf.sh, que, até à versão anterior do UltraSurf, funcionava perfeitamente bloqueando as conexões.

Agora tudo mudou. Na versão 9.6, o UltraSurf tenta inicialmente se conectar a um servidor pertencente à rede 65.49.2.0/24, caso consiga, o acesso será estabelecido e a estação acessará livremente a Internet. Aliás, verificamos que conectado dessa maneira o acesso será bem mais rápido se comparado às versões anteriores do UltraSurf. Como os IPs dessa rede não respondem ao DNS reverso, não têm como serem verificados pelo script stopUltraSurfe.sh, logo a conexão não será bloqueada pelo script.

Uma forma elegante de quebrar essa conexão seria bloqueando o acesso HTTPS a endereços IP que não respondessem ao DNS reverso, fizemos até uma versão do script com essa característica, mas a quantidade de falsos positivos foi bastante grande, pois, infelizmente, vários sites não seguem a recomendação do Comitê Gestor Internet Brasil (CGI.br) que diz: “Todas as redes conectadas à Internet brasileira devem operar com registros direto e reverso de DNS corretamente configurados.”, se assim fizessem, teríamos como diferenciar IPs idôneos de IPs supostamente maliciosos. O pior é que sites como o do Banco do Brasil, do Banco Real, do Banco Itaú, do Hotmail etc., que deveriam ser exemplos, não têm o DNS Reverso configurado para os IPs que respondem às conexões HTTPS. Uma pena.

Qual a solução então? Bloquear esses endereços no firewall, o problema é que, se os mantenedores do UltraSurf mudarem a sua range de IPs, o bloqueio falhará. Para efetivar o bloqueio na solução OpçãoLinux PDC, acesse as regras do firewall (opl > Firewall > Editar Regras de Firewall) e altere a linha:

HTTPS/ACCEPT     loc     net
para:

HTTPS/ACCEPT     loc     net:!65.49.2.0/24
Problema resolvido? Ainda não, caso não consiga acesso aos IPs da rede 65.49.2.0/24, o UltraSurf 9.6 tentará acessar os servidores remotos da mesma maneira que fazia nas versões anteriores, só que dessa vez não abrirá diversas conexões HTTPS, fará apenas uma única conexão. Para fazer com que o script stopUltraSurf.sh consiga detectar essa conexão, edite o arquivo /usr/local/bin/stopUltraSurf e altere a variável limitServersHttps=8 para limitServersHttps=1, ou baixe a nova versão do script stopUltraSurf.sh (veja como mais adiante).

Pronto, com o bloqueio da rede 65.49.2.0/24 no firewall e com esse ajuste na variável limitServersHttps, o script stopUltraSurf.sh deverá voltar a funcionar. Bem, pelo menos em nossos testes voltou…

Prefira utilizar a nova versão do script stopUltraSurf.sh, pois, além de estar mais rápido devido a otimizações feitas no código, será informado também qual nome do servidor que provocou o bloqueio da estação e a data e hora do bloqueio em opl > Firewall > Configurações Avançadas… > BlackList.

Caso esteja utilizando a versão mais recente da solução OpçãoLinux PDC, que já vem com o script stopUltraSurf.sh nativamente, atualize para a versão mais recente do script através dos comandos abaixo:

# wget http://www.opcaolinux.com.br/download/scripts/stopUltraSurf.sh.gz
# gunzip stopUltraSurf.sh.gz
# cat stopUltraSurf.sh > /usr/local/bin/stopUltraSurf
# rm stopUltraSurf.sh

Fonte: http://www.opcaolinux.com.br/gnulinux/tutoriais/27-seguranca/126-ultrasurf-96-como-bloquear.html