Permitir sessões estabelecidas Podemos permitir que sessões estabelecidas recebam tráfego:
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
Se a linha acima não funcionar, você pode estar em um VPS castrado cujo provedor não disponibilizou a extensão, caso em que uma versão inferior pode ser usada como último recurso:
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Permitindo tráfego de entrada em portas específicas
sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT
Tráfego de bloqueio
sudo iptables -A INPUT -j DROP
Ativando o loopback editando o iptables:
sudo iptables -I INPUT 1 -i lo -j ACCEPT
Registro de tráfego indesejado:
sudo iptables -I INPUT 4 -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
Para confirmar que as alterações foram feitas com sucesso:
iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
LOG all -- anywhere anywhere limit: avg 5/min burst 5 LOG level debug prefix "iptables denied: "
DROP all -- anywhere anywhere
Use iptables -L -v
para obter mais detalhes:
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- lo any anywhere anywhere
0 0 ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED
0 0 ACCEPT tcp -- any any anywhere anywhere tcp dpt:ssh
0 0 LOG all -- any any anywhere anywhere limit: avg 5/min burst 5 LOG level debug prefix "iptables denied: "
0 0 DROP all -- any any anywhere anywhere
Esvaziar iptables:
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
Salvando iptables
Se você fosse reinicializar sua máquina agora, sua configuração do iptables desapareceria. Em vez de digitar isso toda vez que você reinicializar, você pode salvar a configuração e fazer com que ela seja inicializada automaticamente.
Salve suas regras de firewall em um arquivo
sudo sh -c "iptables-save > /etc/iptables.rules"
O script /etc/network/if-pre-up.d/iptablesload conterá:
#!/bin/sh
iptables-restore < /etc/iptables.rules
exit 0
e /etc/network/if-post-down.d/iptablessave conterão:
#!/bin/sh
iptables-save -c > /etc/iptables.rules
if [ -f /etc/iptables.downrules ]; then
iptables-restore < /etc/iptables.downrules
fi
exit 0
Depois, certifique-se de conceder a ambos os scripts permissões de execução:
sudo chmod +x /etc/network/if-post-down.d/iptablessave
sudo chmod +x /etc/network/if-pre-up.d/iptablesload