[Iptables – artigo 2/10] Um passeio pelas chains da tabela filter (FORWARD)

Home / Firewall / [Iptables – artigo 2/10] Um passeio pelas chains da tabela filter (FORWARD)

Firewall-as-a-Service

Em nosso post anterior falamos sobre o tratamento de pacotes de rede que têm como destino o próprio servidor onde estão criadas as regras do Netfilter, através do Iptables. Mas e quando o firewall age ‘no meio’ de 2 redes distintas? Aí, neste caso, usa-se a chain FORWARD (maiúsculo mesmo).

Vejamos o caso abaixo:

IPTABLES_FORWARD

O firewall age filtrando os pacotes que passam por ele, agindo também como router entre 2 redes locais distintas e a Internet. Exemplos:

Pacotes que vêm da rede 192.168.0.0/24 e têm como destino o servidor web 172.16.0.20 da outra rede

 

Fazer log de conexões SSH

#iptables -I FORWARD -p tcp -s 192.168.0.0/24 -d 172.16.0.20 –dport 22 -j LOG –log-level warn –log-prefix ‘[Acessos SSH]’

(vale lembrar que, neste caso por padrão, o log está indo para o /var/log/kern.log)

Rejeitando pacotes SSH

#iptables -A FORWARD -p tcp -s 192.168.0.0/24 -d 172.16.0.20 –dport 22 -j REJECT

Aceitando acesso SSH vindas de 1 cliente apenas

#iptables -I FORWARD -p tcp -s 192.168.0.45 -d 172.16.0.20 –dport 22 -j ACCEPT

 

Controlando acesso à Internet

Fazendo DROP de qualquer pacote vindo da rede 172.16.0.0/16 com destino ao site xpto.com.br 

#iptables -I FORWARD -s 172.16.0.0/16 -d xpto.com.br -j DROP

Rejeitando o acesso ao site xpto.com.br para o host 192.168.0.46

#iptables -I FORWARD -s 192.168.0.46 -d xpto.com.br -j REJECT

 

Então, viram a diferença entra a chain INPUT e a chain FORWARD?

No caso da última, o pacote não tem como origem o firewall e tão pouco destino, ele apenas passa pelo firewall para encontrar outros hosts.

Uma observação importante é que antes disso tudo se deve habilitar o roteamento no kernel e também criar regra de SNAT ou MASQUERADE na tabela nat mas isso é assunto para as outras semanas.

Espero que tenham gostado.

Dúvidas? Sugestões? Treinamentos?

Mande e-mail para contato@brunoodon.com.br .

Obrigado!