Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Kde 3.3
Por Nick
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha


Dica

Descobrindo sockets de conexão
Linux user
Publicado por Edson G. de Lima em 15/02/2005

Login: Xxoin, 299023 pontos
[ Hits: 11677 ]

Descobrindo sockets de conexão

Esta vai para quem administra firewall iptables e proxy Squid.

Com freqüência vemos administradores se debatendo para liberar acesso de uma máquina da rede local para acessar sites que utilizam criptografia (bancos; .gov; etc) em portas específicas, o que deixa o "Squid maluco"...

Para dificultar ainda mais, nem sempre podemos contar com a cooperação dos administradores destes sites, especialmente quando informamos que estamos com a rede atrás de um FW/Proxy que não seja $$...

Então aí vai uma dica que irá ajudar!

Antes de fazer o que está abaixo, verifique o seguinte:
  1. Acrescente o IP interno do seu proxy no gateway da máquina estação que fará este acesso.
  2. Acrescente o IP do DNS que você utiliza para o proxy navegar, entre os DNS da máquina estação (normalmente o IP do modem).
  3. Estou considerando que você já tenha um script de firewall configurado, pelo menos com a regra abaixo:

    iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

1 - No início do script FW, coloque uma variável e defina o IP da estação:

SITE=IP_da_máquina_que_fará_este_acesso

2 - Antes da regra que permite o acesso ao Squid, principalmente se for transparente.

3 - Crie as seguintes regras no iptables:

iptables -A FORWARD -p UDP -s $SITE --dport 53 -j ACCEPT
iptables -A FORWARD -p tcp -s $SITE -j LOG --log-prefix "SITE"
iptables -A FORWARD -p tcp -s $SITE -d 0/0 -j ACCEPT


Estamos liberando a máquina da rede para resolver DNS; logando todos os acessos que serão feitos por esta máquina; e a seguir liberando esta máquina para navegar livremente.

4 - A navegação acima precisa de NAT, então acrescente no script FW:

iptables -t nat -A POSTROUTING -p UDP -s $SITE --dport 53 -j SNAT --to IP_placa_FWProxy_ligada_ao_modem
iptables -t nat -A POSTROUTING -p tcp -s $SITE -d 0/0 -j SNAT --to IP_placa_FWProxy_ligada_ao_modem


OBS: Caso ela esteja sendo levantada via DHCP, utilize -j MASQUERADE nas duas linhas acima.

Agora vá até a estação, desmarque a caixa para utilização de proxy nas configurações do navegador (se não for transparente) e peça ao usuário para fazer todo o procedimento previsto para acessar o site.

Voltemos ao nosso FW e então filtramos as mensagens de 'logs' relativas aos acessos da máquina da rede com o seguinte comando:

# grep SITE /var/log/messages >> /home/site.txt

Entre no diretório /home e veja o arquivo site.txt. Ali terá todos os IPs e portas que foram utilizadas para esta conexão.

Voltamos a editar o FW, tirando o 0/0 e colocamos em seu lugar o IP e acrescentamos a porta de destino utilizada. Faça isto para todos os IPs listados em site.txt.

Faça as mesmas alterações nas regras de NAT.

Do modo acima, liberamos a máquina mencionada para navegar sem proxy apenas para fazer este serviço, outros tipos de navegação terão que ser utilizando proxy.

Dá um "pouquinho" de trabalho, mas é mais seguro.

Qualquer dúvida, utilizem o meu e-mail.

Xxoin


Outras dicas deste autor

Leitura recomendada
   Dica Linux recomendada Instalando o VirtualBox
   Dica Linux recomendada Minitube - Cliente Youtube
   Dica Linux recomendada Baixando arquivos do Rapidshare com Free Rapid
   Dica Linux recomendada Leitura recomendada - Impacto do Sofware Livre no Brasil
   Dica Linux recomendada Instalando Java no Ubuntu 8.04 para desktops

Comentários
[1] Comentário enviado por juninho (RH.com) em 27/01/2007 - 12:02h:

Cara adorei sua dica, muito simples e eficiente, já adicioneu a meu favoritos.


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.