[Iptables] Armazenando regras no Debian Linux

Configurar regras de firewall com iptables é uma tarefa bem comum no cotidiano de qualquer administrador de sistemas Linux, porém assim como outros tipos de configuração o serviço possui suas recomendações de acordo com a distribuição utilizada.

Primeiramente vamos criar um arquivo temporário para a validação das regras:

# vim /etc/iptables.test.rules

E então colocamos nossas regras dentro dele seguindo o padrão do próprio iptables, como no exemplo abaixo:

 *filter
 
 # Allows loopback traffic and drop all traffic to 127/8 that doesn't use lo0
 -A INPUT -i lo -j ACCEPT
 -A INPUT -i ! lo -d 127.0.0.0/8 -j REJECT
 
 # Accepts all established inbound connections
 -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
 
 # Allows all outbound traffic
 # You could modify this to only allow certain traffic
 -A OUTPUT -j ACCEPT
 
 # Allows HTTP and HTTPS connections from anywhere
 -A INPUT -p tcp --dport 80 -j ACCEPT
 -A INPUT -p tcp --dport 443 -j ACCEPT
 
 # Allows SSH connections
 -A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT
 
 # Allow ping
 -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
 
 # log iptables denied calls (access via 'dmesg' command)
 -A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
 
 # Reject all other inbound - default deny unless explicitly allowed policy:
 -A INPUT -j REJECT
 -A FORWARD -j REJECT
 
 COMMIT

Após a criação do arquivo com suas regras carregue-as com:

# iptables-restore < /etc/iptables.test.rules

Verifique se as regras estão corretas e se é necessária alguma alteração, e caso seja necessário simplesmente repita os procedimentos citados acima.

Depois de todas as regras carregadas corretamente salve-as em um arquivo definitivo como no exemplo abaixo:

# iptables-save > /etc/iptables.up.rules

Para garantir que nossas regras sejam carregadas durante o boot do sistema é necessário criar uma entrada para o iptables juntamente com os scripts de inicialização da rede:

# vim /etc/network/if-pre-up.d/iptables

Adicionando o seguinte conteúdo:

#!/bin/bash
 
 /sbin/iptables-restore < /etc/iptables.up.rules

Não podemos esquecer de dar permissão de execução para nosso script de chamada:

# chmod +x /etc/network/if-pre-up.d/iptables

Outra maneira muito comum de armazenar e carregar regras de iptables em sistemas Linux é com a utilização de um script de init, por exemplo /etc/init.d/firewall, adicionando sua inicialização nos runlevels do sistema.

Lembrando que todos os procedimentos e informações a respeito deste tipo de configuração em sistemas Debian Linux podem ser encontrados no wiki e também na documentação oficial do Debian em http://wiki.debian.org/.

Share and Enjoy:
  • email
  • Facebook
  • del.icio.us
  • Google Bookmarks
  • Yahoo! Bookmarks
  • LinkedIn
  • Twitter
  • Digg
  • Slashdot
  • Technorati
  • Identi.ca
  • Live

Leave a Reply