Um passeio pelos módulos do Firewall Iptables

Home / Firewall / Um passeio pelos módulos do Firewall Iptables

O Iptables não é qualquer tipo de firewall. É famoso pela quantidade de recursos, que vão desde filtros em pacotes de entrada a saída até a aplicação de NAT de origem e destino.

Só que a quantidade de recursos é tão grande que muitas vezes acabamos não percebendo a quantidade de módulos dele que facilitam e muito a nossa vida. Vamos dar um passeio por alguns dos mais importantes módulos do Iptables.

É importante ressaltar que nenhum deles precisa ser carregado manualmente.

Módulo mac

Em se tratando de controle em redes com DHCP, é essencial um controle de acesso por MAC address. Vejamos um exemplo:

Toda vez que for utilizar qualquer módulo adicional do Iptables, o analista deve utilizar a opção ‘-m <nome_do_módulo>. Neste caso acima, todo e qualquer pacote HTTP que tiver como origem o MAC 00:0f:2a:3b:4a:0f e destino o site pudim.com.br será ‘dropado’, ou seja: rejeitado sem mensagem nenhuma para o usuário que fez o envio do pacote. É importante também perceber que se nenhuma tabela for informada é porque estamos utilizando a tabela filter, que é a padrão do Iptables.

Módulo iprange

Então, imagina você aplicar regra de firewall para 10 IPs em sequência. Nada disso, use o módulo iprange para isso.

No caso acima, estamos rejeitando os pacotes que passam pelo firewall oriundos de IPs entre 192.168.0.10 e 192.168.0.20, que têm como destino a porta 443 (HTTPS) do host pudim.com.br. Por termos utilizado o REJECT como alvo, o usuário receberá uma mensagem via ICMP de que seu acesso foi negado.

Módulo quota

Em implementações de servidor FTP que são abertos para uploads dos usuários, é ideal trabalhar com cotas de envio de arquivos. A maioria dos servidores de FTP têm esta função mas vale aqui o registro de que é totalmente possível fazer este filtro já no firewall de borda.

 

Neste caso, primeiramente, estamos negando a passagem de todo e qualquer pacote TCP de porta 21 (FTP) e, posteriormente (como regra alta, opção -I), liberando a passagem de pacotes que tenham até 50MB.

Módulo string

Este módulo é capaz de buscar dentro do pacote por uma string específica e tratar este pacote.

Nesta regra, combinamos 2 módulos para dizer que a passagem de pacotes oriundos dos IPS entre 192.168.0.10 e 192.168.0.20 será negada caso eles tenham dentro a string “bitcoin”. Para tal, foi utilizado o algorítmo de busca Boyer-Moore.

Módulo time

Trata dos horários dos pacotes. Podemos aplicar filtros para negar, aceitar ou até fazer log de pacotes mediante ao horário do tráfego.

 

Nesta regra nós primeiro bloqueamos todo e qualquer tráfego de pacote que passe pelo firewall com destino à porta 22/TCP de qualquer host da rede. Logo depois, criamos uma regra acima permitindo a passagem de pacotes SSH apenas durante o horário comercial.

Agora vamos conferir que beleza que ficou:

iptables -nvL

É isso então, pessoal! Espero que o artigo tenha sido útil.

Ah, não posso esquecer: vem aí o treinamento LPIC3-303 (Security), fiquem de olhos abertos e sigam nosso site para saber das novidades de treinamentos, promoções e dicas.

Grande abraço!

One Comment

  • No Módulo quota, seria melhor criar a regra de bloqueio por ultimo, e usar a opção -A nas duas regras, pois o -I joga a regra no inicio. para a leitura posterior ficaria mais organizado no iptables -L.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *