Descobrindo sockets de conexão

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

[ Hits: 16.865 ]

 


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

Forçar redirecionamento de página no Squid

Ubuntu 12.4 no VirtualBox - Corrigindo erro de instalação

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

squid: ERROR: no running copy

Squid: TAG visible_hostname

Leitura recomendada

Descompactando arquivos graficamente no Arch Linux

Liberando espaço em disco com o localepurge

Knetstats - Estatísticas de rede

Verificando qual módulo determinada interface de rede esta utilizando no Debian Lenny

Imprimindo fotos em lote com gnome-photo-printer

  

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