iptables endereços resolvidos difere do nslookup

0

Para bloquear e-mails pessoais em uma rede corporativa, eu bloqueei FORWARD to mail.google.com e mail.live.com . Veja a seguir como iptables resolveu esses endereços:

$  sudo iptables -L

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
Mail-Forward-Block  all  --  anywhere             anywhere         

Chain Mail-Forward-Block (2 references)
target     prot opt source               destination            
REJECT     all  --  anywhere             lhr14s24-in-f5.1e100.net  reject-with icmp-port-unreachable
REJECT     all  --  anywhere             lhr08s07-in-f5.1e100.net  reject-with icmp-port-unreachable
REJECT     all  --  anywhere             origin.du113w.dub113.mail.live.com  reject-with icmp-port-unreachable
REJECT     all  --  anywhere             origin.du114w.dub114.mail.live.com  reject-with icmp-port-unreachable

nslookup para comparação ( 192.168.0.10 é o Samba executando o DNS interno e encaminha pesquisas para 8.8.8.8 ):

$ nslookup mail.google.com
Server:     192.168.0.10
Address:    192.168.0.10#53

Non-authoritative answer:
mail.google.com canonical name = googlemail.l.google.com.
Name:   googlemail.l.google.com
Address: 216.58.208.69

$ nslookup mail.live.com
Server:     192.168.0.10
Address:    192.168.0.10#53

Non-authoritative answer:
mail.live.com   canonical name = dispatch.kahuna.glbdns2.microsoft.com.
Name:   dispatch.kahuna.glbdns2.microsoft.com
Address: 157.56.195.156
Name:   dispatch.kahuna.glbdns2.microsoft.com
Address: 157.55.235.51

Obviamente, isso não bloqueou nada. Adicionar novamente as mesmas regras de alguma forma tornou os endereços iptable iguais aos de nslookup . Mas por que a diferença em tudo? Não podemos fazer com que iptable inverta a pesquisa de DNS e verifique se ela corresponde a esses domínios?

    
por Oxwivi 08.10.2015 / 11:16

1 resposta

2

Resposta curta: Não. As regras iptables afetam os endereços IP, não os nomes de domínio. É por isso que é chamado iptables.

Na camada de rede em que o iptables opera, os nomes de domínio são essencialmente irrelevantes. Quando você usa um nome de domínio com uma regra iptables, uma pesquisa de DNS é executada e o nome do domínio é resolvido para um endereço IP, e o endereço IP nesse momento específico é usado na regra. Se o domínio for atualizado e o registro A apontar para um IP diferente, o iptables não saberá nada sobre a mudança.

O que você deseja fazer (bloquear determinados sites, como o gmail) provavelmente é melhor feito com um proxy da web como squid . Isso permitirá que você registre e monitore o uso da web, e há complementos como squidguard para ajudar a gerenciar listas de permissão / negação.

Se você quiser bloquear o acesso ao smtp externo, bloqueie as portas relevantes (por exemplo, 25, 465, 587) para forçar os computadores locais na rede a usar seu gateway smtp local - onde você pode controlar as mensagens.

    
por 08.10.2015 / 13:29

Tags