Firewall (iptables) e DHCP [RESOLVIDO]

1. Firewall (iptables) e DHCP [RESOLVIDO]

Douglas Menger
DouglasMenger

(usa XUbuntu)

Enviado em 09/12/2014 - 10:14h

Amigos,

Estou configurando um servidor firewall/proxy que também ira rodar um DHCP, sempre sigo o mesmo padrão na configuração do iptables, primeiro faço um bloqueio geral em INPUT-OUTPUT-FORWARD e depois vou liberando o que preciso conforme necessidade. Estou passando por uma situação bem diferente aqui, esta e minha primeira vez que configuro um servidor DHCP, tudo funciona muito bem, porem não consigo entender como o meu DHCP já esta distribuindo IP sem antes eu liberar as portas 67,68 (UDP) no iptables. Parece que de alguma forma o serviço DHCP conseguiu "furar" meu firewall, ja revisei diversas vezes a configuração e não consigo entender porque isso acontece, estou com receio porque da a impressão que o firewall não esta bloqueando as coisas como deveria, alguém tem ideia do que pode estar acontecendo?


  


2. Re: Firewall (iptables) e DHCP [RESOLVIDO]

Buckminster
buckminster

(usa Debian)

Enviado em 09/12/2014 - 12:40h

O DHCP e o Iptables estão na mesma máquina. Provavelmente, ao configurar o DHCP tu deves ter setado a placa de rede que responde pelo DHCP (provavelmente a mesma que é o gateway da rede). Esta configuração é aquela feita, por exemplo, no arquivo /etc/default/isc-dhcp-server (INTERFACES="ethX").
Pois então, ao fazer isso o sistema libera automaticamente as portas necessárias.

Mas pode ser que tenha um erro no teu script, posta aqui o script do Iptables, o conteúdo do arquivo /etc/network/interfaces e diga qual a placa que responde pelo DHCP e se ela é o gateway da rede também.


3. Re: Firewall (iptables) e DHCP [RESOLVIDO]

Douglas Menger
DouglasMenger

(usa XUbuntu)

Enviado em 09/12/2014 - 13:08h

Fiz uma pesquisa mais profunda e descobri o seguinte:

O daemon (serviço) do isc-dhcp-server usa o raw sockets ignorando o mecanismo do netfilter (iptables), sendo assim não e possível fazer o bloqueio.

http://louwrentius.com/why-filtering-dhc...ables.html

A principio não e nada alarmante mas e estranho não acham?

Vou dar como resolvido.


4. Re: Firewall (iptables) e DHCP [RESOLVIDO]

Buckminster
buckminster

(usa Debian)

Enviado em 09/12/2014 - 13:38h

Bom, vamos nos estender no assunto.
A programação em RAW SOCKETS permite que os cabeçalhos sejam construídos pela aplicação, no caso o isc-dhcp, enquanto que utilizando sockets do tipo TCP ou UDP implica que apenas informações de dados (ou do protocolo de aplicação) são fornecidas pela aplicação. Utilizando os protocolos TCP e UDP, as informações fornecidas normalmente são apenas o endereço IP e a porta.
E como o Iptables, na maioria das vezes, lê e bloqueia pelos datagramas do cabeçalho, então o DHCP burla isso, pois com raw sockets é possível gerar os próprios datagramas, além do que, com o protocolo raw é possível enviar pacotes com qualquer tipo de protocolo pelo mesmo socket. Porém isso foi uma forma encontrada para facilitar a vida, senão cada vez que se configurasse o DHCP, teria que se liberar o acesso manualmente pelo Iptables.

Caso tu queiras bloquear, bloqueia utilizando a tabela raw pelo Iptables.

E em que parte desse link que tu enviastes fala sobre raw?


5. Re: Firewall (iptables) e DHCP [RESOLVIDO]

Douglas Menger
DouglasMenger

(usa XUbuntu)

Enviado em 09/12/2014 - 15:24h

Vou postar novamente o link:
http://louwrentius.com/why-filtering-dhcp-traffic-is-not-always-possible-with-iptables.html

Costumo trabalhar sempre bloqueando tudo e liberando somente o necessário, para bloquear tudo uso isto:

$iptables -P INPUT DROP
$iptables -P OUTPUT DROP
$iptables -P FORWARD DROP

Caso não seja feito o bloqueio da tabela raw qual risco posso estar correndo?


6. Re: Firewall (iptables) e DHCP [RESOLVIDO]

Buckminster
buckminster

(usa Debian)

Enviado em 09/12/2014 - 15:36h

menger escreveu:

Vou postar novamente o link:
http://louwrentius.com/why-filtering-dhcp-traffic-is-not-always-possible-with-iptables.html

Caso não seja feito o bloqueio qual risco posso estar correndo?


O único risco que todos estamos correndo é se o próprio pessoal da ISC enlouquecer e resolver colocar um backdoor em todo mundo.
Esse processo de integração do DHCP com o Netfilter é bastante seguro.
O soquete usado pelo protocolo Raw só está disponível para o root (uid 0) e é ele que irá receber os pacotes e, consequentemente, os cabeçalhos, antes do processamento do Iptables. Depois o Iptables faz o trabalho dele. Lembrando que o Iptables é um módulo do Kernel.

Fazendo um comparativo com o Windows, tudo o que tu permitires que seja instalado na tua máquina, será instalado com tudo o que estiver no código fonte, mesmo se for um software mal intencionado.
A grande diferença é que o Linux é modular, um ataque em uma parte geralmente não afeta outra. Então, mesmo que o firewall não ofereça 100% de proteção, existem outras maneiras de adicionar segurança.


7. Re: Firewall (iptables) e DHCP [RESOLVIDO]

Douglas Menger
DouglasMenger

(usa XUbuntu)

Enviado em 09/12/2014 - 15:41h

Ok, muito obrigado pela ajuda.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts