Ver Feed RSS

underwanderson

Guerra Contra o ULTRASURF no Meio Corporativo, quem sofre? Os Adm. de Redes

Avalie este Post de Blog
Procurei vários tutoriais para quem utiliza os recursos do Mikrotik em empresas corporativas, mas sem sucesso só encontrava soluções para Linux então arregacei as mangas e deu nisso aqui.
olá Unders de plantão demorei mais voltei com o tema:
"Para empresas e corporações que utilizam os recursos do mikrotik na sua rede
atrapalhando a vida do usuário burlador de conexão com Ultrasurf em rede mikrotik"

É o seguinte, estava na faculdade e me deparei com um grande cadeado no canto inferior direito do monitor de um colega
no laboratório de informática e lembrei que já tinha visto o mesmo na empresa onde sou Adm. de redes, então perguntei:
o que significa esse cadeado ai? ele respondeu é um "programinha" que deixa eu navegar em qualquer site mesmo esteja bloqueado
então eu me vi com a cara toda pintada e uma bola vermelha na ponta do nariz e o dono da máquina onde vi o mesmo cadeado
na empresa rindo de mim, então eu fiquei muito bravo comigo mesmo e decidi correr atrás do prejuízo, fiz meus testes
e terminei com estas regras abaixo.
os testes foram foram feitos em cima de 5 navegadores sendo eles, o Internet Explorer 8, o Goolge Chrome e o Safari da Apple,
estes dois últimos é tudo farinha do mesmo saco do Internet Explorer pois utilizam as mesmas ferramentas de configuração da
propriedades da internet do IE* nas configurações de rede local (LAN) servidor proxy.
os outros dois utilizados nos testes é o Mozilla Firefox 3.6 e seu irmão mais velho o Netscape Navigator 9 que utilizam os
mesmos recursos para configurar o servidor proxy, mas o mais interessante é que o efeito causado na navegação com Ultrasurf.

Só se aplica aos 3 primeiros navegadores citados no início, os dois últimos não passa pelo crivo do Ultrasurf.
Então vou explicar o que fiz e como fiz para atrapalhar a vida do usuário metido a esperto utilizando até mesmo o
próprio Ultasurf contra eles mesmos.

Como podem ver a 1ª regra eu digo para o firewall que feche todas as conexões nas portas 443 isso parece loucura em uma corporação mas foi o que fiz.

Na 2ª regra eu digo ao firewall que toda conexão direcionada a porta 443 e que ultrapasse 10 conexões simultâneas da máquina, fechando aqui com um /32 para não generalizar a rede, somente aquela maquina que esta bombardeando a saída pra internet pela porta 443 que é isso que ela faz, pois se abrir-mos varias janelas de navegação cada uma abrirá uma nova conexão na porta 443 é como se fosse um novo nat dentro do nat da sua rede (quem trabalha com nat sabe do que estou falando) e digo também para o firewall definir uma prioridade 8, quer dizer que não tenha pressa de realizar a verificação que é feita em 15 segundos após a primeira conexão na porta 443 e se essa mesma maquina não parar de abrir conexão ele é bloqueado em uma blacklist por 10 minutos definidos na aba actions, a questão da prioridade 8 é que se colocar-mos 1 por exemplo o firewall não analiza e já bloqueia a máquina e isso inclui as maquinas que so dispararam 1 ou 2 vezes e nem utilizam o Ultrasurf isso ajuda aqueles que estão abrindo um site de banco, orkut ou qualquer
programa que use a porta 443 para que não sejam bloqueados injustamente é o mesmo sentido de uma regra para conter
maquinas contaminadas por spammers.

a 3ª e a 4ª regra são copias das duas primeiras só alterando as portas para 9666 que é utilizada pelo Ultrasurf para driblar o loopback da maquina se notar que a porta 443 esta tendo problemas para saída na internet (algum tipo de bloqueio) então ele mesmo configura a opção de configuração de proxy do navegador para continuar navegando, ai que vem o efeito contrário, quando existe sites bloqueados no /ip web-proxy access o normal é mostrar a página do controle de restrição do proxy do Mikrotik, quando se abre o programa e tenta navegar na pagina bloqueada o Ultrasurf começa a busca da porta443 e sai para Internet utilizando ela burlando a porta 3128, quando ela sente que a porta 443 foi bloqueada ele utiliza da configuração feita no navegador que usa o I.P. de loopback 127.0.0.1 e a porta 9666 e começa dar erro na navegação e só
para se for retirada a configuração manualmente, depois volta a navegar se ainda não tiver caido na blacklist até ser pego por ela.

A 5ª regra eu bloqueio o acesso total a porta 9666 que na ida e na vinda da internet da máquina configurada com I.P. 127.0.0.1.
E a 6ª e última regra eu bloqueio somente a porta 9666 para toda rede se por ventura a 5ª não funcione.

Ha! Lembrando que por conta da alteração do ip ocasionado pelo uso do Ultrasurf a máquina que tem como pagina inicial o Google, eles mesmos tem políticas de segurança contra robôs que fazem pesquisas automáticas na Internet evitando
sobrecargas em seus serviços e bloqueiam as maquinas fora com I.P. de fora da região do país de origem.

Façam seus testes e postem alguma modificação benéfica, pois a idéia está ai só falta mais cabeça para pensar juntas.

Obrigado e até mais
Seguem as regras:


===================
/ ip firewall filter
add chain=forward action=drop dst-port=443 protocol=tcp src-address-list=ULTRASURF comment="BLOQUEANDO ACESSO AO \
ULTRASURF" disabled=no
add chain=forward action=add-src-to-address-list dst-port=443 protocol=tcp connection-limit=15,32 limit=15,8 \
src-address-list=ULTRASURF address-list=ULTRASURF address-list-timeout=1m comment="BLOQUEANDO ACESSO AO ULTRASURF2" \
disabled=no
add chain=forward action=drop dst-port=9666 protocol=udp src-address-list=ULTRASURF comment="BLOQUEANDO ACESSO AO \
ULTRASURF porta 9666 udp" disabled=no
add chain=forward action=add-src-to-address-list dst-port=9666 protocol=tcp connection-limit=10,32 \
src-address-list=!ULTRASURF address-list=ULTRASURF address-list-timeout=10m comment="BLOQUEANDO ACESSO AO ULTRASURF2 \
porta 9666" disabled=no
add chain=forward action=drop dst-port=9666 protocol=tcp src-address-list=ULTRASURF comment="BLOQUEANDO ACESSO AO \
ULTRASURF porta 9666" disabled=no

/ ip web-proxy access
add src-address=127.0.0.1/32 dst-address=127.0.0.1/32 dst-port=9666 action=deny comment="block ultrasurf 9666" \
disabled=no
add dst-port=9666 action=deny comment="bloqueando porta para ultrasurf" disabled=no

Atualizado 31-05-2010 em 08:43 por Duca

Categorias
WepNET.Wireless

Comentários

  1. Avatar de underwanderson
    DESCULPE, REGRAS CORRETAS SÃO ESSAS E NÃO AS DE CIMA

    / ip firewall filter add chain=forward action=drop dst-port=443 protocol=tcp src-address-list=ULTRASURF \ comment="BLOQUEANDO ACESSO AO ULTRASURF" disabled=no add chain=forward action=add-src-to-address-list dst-port=443 protocol=tcp connection-limit=10,32 \ limit=15,8 src-address-list=!ULTRASURF address-list=ULTRASURF address-list-timeout=1m \ comment="BLOQUEANDO ACESSO AO ULTRASURF2" disabled=no add chain=forward action=drop dst-port=9666 protocol=udp src-address-list=ULTRASURF \ comment="BLOQUEANDO ACESSO AO ULTRASURF porta 9666 udp" disabled=no add chain=forward action=add-src-to-address-list dst-port=9666 protocol=tcp connection-limit=10,32 \ src-address-list=!ULTRASURF address-list=ULTRASURF address-list-timeout=10m comment="BLOQUEANDO \ ACESSO AO ULTRASURF2 porta 9666" disabled=no add chain=forward action=drop dst-port=9666 protocol=tcp src-address-list=ULTRASURF \ comment="BLOQUEANDO ACESSO AO ULTRASURF porta 9666" disabled=no / ip web-proxy access add src-address=127.0.0.1/32 dst-address=127.0.0.1/32 dst-port=9666 action=deny comment="block \ ultrasurf 9666" disabled=no add dst-port=9666 action=deny comment="bloqueando porta para ultrasurf" disabled=no
  2. Avatar de AndrioPJ
    nao entendi direito essa segunda regra
    add chain=forward action=add-src-to-address-list dst-port=443 protocol=tcp connection-limit=15,32 limit=15,8 src-address-list=ULTRASURF address-list=ULTRASURF address-list-timeout=1m comment="BLOQUEANDO ACESSO AO ULTRASURF2" disabled=no

    aqui vc disse que todo endereco da lista ULTRASURF que ultrapassar um certo limite de conexao na porta 443 seja adicionado na lista ULTRASURF... para que adicionar um endereco que ja pertece a lista novamente?
    nao seria melhor adicionar apenas os enderecos que nao existem na lista e que ultrapassaram o limite?
  3. Avatar de lcmm84
    Bom, o ultrasurf é relativamente fácil de se bloquear, espero que os usuários da sua rede não descubram o JAP (JonDo), ele é bem pior que o ultrasurf pois o mesmo faz um tunel ssl na porta 80 e mais algumas se a 443 estiver bloqueada.
    Sobre suas regras, analise através do "torch", ou até mesmo pelo "netstat -a" no cliente windows, e voce irá perceber que a porta 9666 é utilizada somente no cliente. Não há necessidade de todas essas regras somente as duas primeiras (1-detecta varias tentativa de conexão 443 e adiciona o ip à uma lista, 2 - bloqueia a lista ) deverão fazer o serviço, faça os testes.
    O meu bloqueio é simples:
    -Firewall totalmente fechado, conexões FORWARD e INPUT somente para servidores, a rede dos clientes so sai para internet se for através do proxy(squid)
    -Squid negando acesso à 443, permitinto somente uma witelist
    - Na pagina "Access denied" do squid, coloquei um linnk para uma pagina com um formulário para desbloqueio de sites, no qual abre um chamado(glpi) para mim desbloquear o site ssl que o usuário esta tentando acessar.

    Obs: se vc usa Squid com autenticação, é so bloquear a porta 443 nos FORWARD da vida, pois om ultrasurf nao suporta autenticação no proxy.

    Cuidado com o JAP/Jondo, ele é pior, garanto


  4. Avatar de underwanderson
    Citação Postado originalmente por mascaraapj
    nao entendi direito essa segunda regra
    add chain=forward action=add-src-to-address-list dst-port=443 protocol=tcp connection-limit=15,32 limit=15,8 src-address-list=ULTRASURF address-list=ULTRASURF address-list-timeout=1m comment="BLOQUEANDO ACESSO AO ULTRASURF2" disabled=no

    aqui vc disse que todo endereco da lista ULTRASURF que ultrapassar um certo limite de conexao na porta 443 seja adicionado na lista ULTRASURF... para que adicionar um endereco que ja pertece a lista novamente?
    nao seria melhor adicionar apenas os enderecos que nao existem na lista e que ultrapassaram o limite?
    quem adiciona é o mikrotik o endereço ip do usuario que esta bombardeando a saida na porta 443, e só consegue bombardear esta porta se tiver contaminado por virus ou usando ultrasurf, é claro que ninguém vai perder tempo escrevendo virus pra esta porta, rsrsrs
  5. Avatar de underwanderson
    Citação Postado originalmente por lcmm84
    Bom, o ultrasurf é relativamente fácil de se bloquear, espero que os usuários da sua rede não descubram o JAP (JonDo), ele é bem pior que o ultrasurf pois o mesmo faz um tunel ssl na porta 80 e mais algumas se a 443 estiver bloqueada.
    Sobre suas regras, analise através do "torch", ou até mesmo pelo "netstat -a" no cliente windows, e voce irá perceber que a porta 9666 é utilizada somente no cliente. Não há necessidade de todas essas regras somente as duas primeiras (1-detecta varias tentativa de conexão 443 e adiciona o ip à uma lista, 2 - bloqueia a lista ) deverão fazer o serviço, faça os testes.
    O meu bloqueio é simples:
    -Firewall totalmente fechado, conexões FORWARD e INPUT somente para servidores, a rede dos clientes so sai para internet se for através do proxy(squid)
    -Squid negando acesso à 443, permitinto somente uma witelist
    - Na pagina "Access denied" do squid, coloquei um linnk para uma pagina com um formulário para desbloqueio de sites, no qual abre um chamado(glpi) para mim desbloquear o site ssl que o usuário esta tentando acessar.

    Obs: se vc usa Squid com autenticação, é so bloquear a porta 443 nos FORWARD da vida, pois om ultrasurf nao suporta autenticação no proxy.

    Cuidado com o JAP/Jondo, ele é pior, garanto


    eu vi, a porta 9666 é aliada ao endereço de loopback 127.0.0.1 mas coloquei só para garantir que ele não passe com ela se a 443 estiver fechada, e também soube destes outros ai, por isso a solução foi bloqueamos as maquinas para que não aceite instalação de software algum, pois se precisarem de instalar algo nas máquinas tem que chamar os responsável para isso.
  6. Avatar de danistation
    Vou citar como resolvi esse problema e mais um segundo numa tacada só:

    1 - Ultrasurf: Esse programa altera as configurações de proxy do bowser, fazendo com que ele utilize um proxy externo que não seja o nosso. Dificil de resolver por iptables, difícil de resolver por Squid. Solução fácil: SCRIPT DE LOGON. Meu proxy é transparente, mas quando defini as configurações do browser com os dados do meu servidor proxy, funcionou 100%. Dessa forma, por script de logon (AD), defino configurações no registro do Window$, setando o browser para usar HTTP e HTTPS sempre pelo meu proxy squid E negando permissão ao usuário fazer alterações no registro do Window$. Assim, quando o tonto executa o Utltrasurf, toma um PÃ na cara, porque não pode alterar as configurações do bowser para outros proxies, já que isso é feito no registro do Windows, que não dá a ele permissão para alteração. Bloqueio também os menus dessas configurações no browser. Quando o usuário tontão tenta alterar pelo menu ferramentas/opções/etc., não pode, porque está tudo cinza!!!

    2 - Essa foi mais bunita ainda: Quando defini HTTPS manualmente no browser, TODAS as conexões que levam HTTPS na URL passaram a ser filtradas com êxito pelo squid! Detalhe: Meu squid está operando na mesma máquina que tem o iptables distribuindo internet para todo mundo.

    Resumindo: Ultrasurf travado, executa o programa mas não funciona; Páginas HTTP e HTTPS filtradas e bloqueadas apenas pelo SQUID! Ficou nota 10! Acho que essa informação será bem vinda pelos colegas!!! Iptables apenas fazendo sua função principal, compartilhando internet, redirecionando portas e negando algum tipo de comunicação.

    Grande abraço a todos!
  7. Avatar de travaglia
    Oi danistation.... tentei fazer oque vc disse, mas não dá certo... o Ultrasurf continua alterarndo o proxy mesmo sem o usuário ter direito para alterar.... alterei no GPEDIT.MSC a opção de alteração no proxy do internet explorer, tanto no usuario quanto no computador.... e o usuario passa a nao conseguir mudar... mas mesmo assim acontece isso...

    Como foi o script de logon que vc criou ???


    [QUOTE=danistation;bt7716]Vou citar como resolvi esse problema e mais um segundo numa tacada só:

    1 - Ultrasurf: Esse programa altera as configurações de proxy do bowser, fazendo com que ele utilize um proxy externo que não seja o nosso. Dificil de resolver por iptables, difícil de resolver por Squid. Solução fácil: SCRIPT DE LOGON. Meu proxy é transparente, mas quando defini as configurações do browser com os dados do meu servidor proxy, funcionou 100%. Dessa forma, por script de logon (AD), defino configurações no registro do Window$, setando o browser para usar HTTP e HTTPS sempre pelo meu proxy squid E negando permissão ao usuário fazer alterações no registro do Window$. Assim, quando o tonto executa o Utltrasurf, toma um PÃ na cara, porque não pode alterar as configurações do bowser para outros proxies, já que isso é feito no registro do Windows, que não dá a ele permissão para alteração. Bloqueio também os menus dessas configurações no browser. Quando o usuário tontão tenta alterar pelo menu ferramentas/opções/etc., não pode, porque está tudo cinza!!!

    2 - Essa foi mais bunita ainda: Quando defini HTTPS manualmente no browser, TODAS as conexões que levam HTTPS na URL passaram a ser filtradas com êxito pelo squid! Detalhe: Meu squid está operando na mesma máquina que tem o iptables distribuindo internet para todo mundo.

    Resumindo: Ultrasurf travado, executa o programa mas não funciona; Páginas HTTP e HTTPS filtradas e bloqueadas apenas pelo SQUID! Ficou nota 10! Acho que essa informação será bem vinda pelos colegas!!! Iptables apenas fazendo sua função principal, compartilhando internet, redirecionando portas e negando algum tipo de comunicação.

    Grande abraço a todos![/QUOTE]
  8. Avatar de danistation
    Citação Postado originalmente por travaglia
    Como foi o script de logon que vc criou ???
    Eu AINDA não sei usar o seu método e nem sei fazer da maneira mais elegante que seria pelo AD.

    Contudo, faço tudo aplicando arquivos .reg através de scripts de login (arquivo.bat). Para isso, o usuário que está logando deve ter permissão de administrador local da máquina que usa, para que os arquivos .reg do script sejam adicionados durante a inicialização.

    Tecnicamente seria a mesma coisa feita pelas janelas que você usou. Sei também que algumas polices são feitas em [HKEY_CURRENT_USER] e outras em [HKEY_LOCAL_MACHINE]. Sei que a maioria das policies são especificas de cada uma dessas duas chaves. Não tenho certeza se a janela que vc usou para ativar e desativar essas opções operaram nas mesmas chaves que usei.

    Na pior das hipoteses, faça um pequeno trabalho arduo: manda ver na restrição de execução de programas...
  9. Avatar de travaglia
    [QUOTE=danistation;bt7817]Eu AINDA não sei usar o seu método e nem sei fazer da maneira mais elegante que seria pelo AD.

    Contudo, faço tudo aplicando arquivos .reg através de scripts de login (arquivo.bat). Para isso, o usuário que está logando deve ter permissão de administrador local da máquina que usa, para que os arquivos .reg do script sejam adicionados durante a inicialização.

    Tecnicamente seria a mesma coisa feita pelas janelas que você usou. Sei também que algumas polices são feitas em [HKEY_CURRENT_USER] e outras em [HKEY_LOCAL_MACHINE]. Sei que a maioria das policies são especificas de cada uma dessas duas chaves. Não tenho certeza se a janela que vc usou para ativar e desativar essas opções operaram nas mesmas chaves que usei.

    Na pior das hipoteses, faça um pequeno trabalho arduo: manda ver na restrição de execução de programas...[/QUOTE]

    Na verdade, já estou usando uma solução que eu mesmo cheguei.... rodo um serviço qualquer escutando na mesma porta local do ultrasurf: 9666... com isso ele conecta mas nao consegue navegar.... afinal ficam dois serviços com a mesma porta de escuta... nenhum dos dois funciona.... hehehehe... coloquei o FTP Server do XP.... ficou bacana. Segue post mais detalhado da historia toda.... [url=http://leandrotravaglia.blogspot.com/2010/06/bloqueando-o-ultra-surf.html]Leandro Travaglia: Bloqueando o Ultra Surf[/url]

    Mas se sua solução funciona, prefiro ela pois posso colocar no meu bat de logon..... teria como postar os REG ????
  10. Avatar de coelholuciano
    Consegui bloquear o UltraSurf, JAP e similares através do Firewall e Proxy.

    Mas a solução é bem simples:
    Firewall configurado dentro dos padrões de Default Deny;
    Liberar somente as portas necessárias para funcionamento da rede;
    Portas ssh, 80, 53 e 3128 liberadas exclusivamente para acesso ao IP da Lan do servidor;
    Proxy Não Transparente, atuando como saída exclusiva de HTTP, HTTPS e FTP;
    WPAD para configurar o proxy nos clientes.

    Escrevi um pequeno artigo sobre como procedi e este esta disponível no meu blog (http://coelholuciano.blogspot.com.br...efinitivo.html).

    A solução implementada já esta em uso, com sucesso, a mais de um ano.
    Um forte abraço
    Luciano Coelho

+ Enviar Comentário