Descobrindo sockets de conexão

Publicado por Edson G. de Lima em 15/02/2005

[ Hits: 16.719 ]

 


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

Quando o Squid NÃO reinicia depois de limpar os diretórios de cache

Squid: TAG visible_hostname

squid: ERROR: no running copy

Dez coisas que você precisa saber sobre Zona Reversa. Com exemplos.

Forçar redirecionamento de página no Squid

Leitura recomendada

Do Outlook Express para Evolution ou Thunderbird

Análise performance no Linux com o Nmon

Crie etiquetas e cartões de visita com qLabels

Como resolver o problema do download do TLS no aMSN-0.95

Coletânea de scripts e dicas antigos

  

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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts