Iptables
De Fórum Debian Wiki
Índice de conteúdo |
Introdução
Essa página contem um simples exemplo de como manter um firewall bem básico para uma máquina com uma placa de rede usando o Netfilter / Iptables.
Regras
Salve esse arquivo como /etc/firewall.sh
#!/bin/sh # Um script IPtables / Netfilter muito simples. # por Lucas Saliés Brum, <[email protected]> # Original em: http://wiki.debian.org/DebianFirewall PATH='/sbin' # Caminho do Iptables INET='wlan0' # Interface conectada a um router, ou diretamente a Internet LOCAL='10.0.0.0/24' # Faixa de IPs locais, você pode usar o formato 10.0.0.0/24 ou 10.0.0.2 LOOP='127.0.0.0/8' # Faixa de IPs de loopback, você pode usar o formato 127.0.0.0/8 ou 127.0.0.1 # Limpa as regras para aplicar mudanças iptables -F iptables -X iptables -Z # Política padrão, dropar tudo, exceto o tráfego de saída iptables -P FORWARD DROP iptables -P INPUT DROP iptables -P OUTPUT ACCEPT # Permite conexões estabilizadas(que respondem ao tráfego de saída) iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # Permite que programas locais usem o loopback(soquetes Unix) iptables -A INPUT -s $LOOP -d $LOOP -i lo -j ACCEPT # Comente/Descomente para proibir/permitir conexões de entrada # Locais iptables -A INPUT -s $LOCAL -p tcp --dport 22 -m state --state NEW -j ACCEPT iptables -A INPUT -s $LOCAL -p tcp --dport 5900 -m state --state NEW -j ACCEPT # Internet iptables -A INPUT -i $INET -p tcp --dport 80 -m state --state NEW -j ACCEPT
Uso
Para executar o script, rode o seguinte comando como root:
sh /etc/firewall.sh
Automatizando
Executar o comando acima sempre que conectar pode ser um pouco trabalhoso. Portanto você pode criar o arquivo /etc/network/if-pre-up.d/iptables com o seguinte conteúdo:
#!/bin/bash
if [ -x '/etc/firewall.sh' ]
then
/bin/sh '/etc/firewall.sh'
fi
Depois de a esse arquivo a permissão de execução:
chmod 755 /etc/network/if-pre-up.d/iptables
Em seguida dê a mesma permissão para o script:
chmod 755 /etc/firewall.sh
Toda vez que quiser desativar o Firewall é só remover a permissão de execução:
chmod 644 /etc/firewall.sh
Assim, da próxima vez que você se conectar o Firewall não será ativado.
Créditos
Criei essas regras com base em muitas regras, porem com foco nessa página: http://wiki.debian.org/DebianFirewall
