Não é possível conectar-se após iptables -F

4

Eu quero adicionar lista branca no meu sistema usando o iptables. Então eu pesquisei na web e achei isso:

iptables -I INPUT -s 10.0.0.0/8 -j ACCEPT
iptables -I INPUT -s 127.0.0.1/8 -j ACCEPT
iptables -I INPUT -s 192.168.0.0/16 -j ACCEPT
iptables -P INPUT DROP

e isso realmente funciona. Então eu disparo iptable -F para deletar todas as regras, então não consigo mais me conectar a este servidor.

O que há de errado?

Qual é a maneira correta de excluir todas as regras?

    
por Sato 07.03.2013 / 09:34

2 respostas

8

a política de encadeamentos do INPUT está definida como DROP.

Na falta de regras, tudo é descartado.

antes de eliminar todas as cadeias, certifique-se de que todas as cadeias tenham uma política de ACEITAR a la iptables -P INPUT ACCEPT

    
por 07.03.2013 / 09:37
1

Além do anwer correto e útil de Olipro eu recomendaria algo para

evite o risco de ser bloqueado pelo seu firewall

Use um script ligado a crontab que reabra o firewall caso algo dê errado; como você sabe, você pode cometer um erro no seu sshd_config, que não causa danos reais, contanto que você ainda esteja logado. Não é assim com o iptables: um erro pode ser o suficiente e você está fora. Portanto:

#!/bin/bash
# openFW.sh

IPT=$(which iptables)
$IPT -P INPUT ACCEPT
$IPT -P FORWARD ACCEPT
$IPT -P OUTPUT ACCEPT
$IPT -F

NOW=$(date +"%H:%m")
echo "FW opened on %h at $NOW" | mail -s "FW reset cron job jh1" \
[email protected]
logger "WARNING : iptables flushed and opened by cron job"

E com crontab -e coloque algo como

#*/5 8-19 * * * /root/scripts/openFW.sh

para liberar suas regras do iptables e abrir o FW a cada 5 minutos. Descomente isso antes de editar suas regras; verifique as regras (certifique-se de que elas estejam disponíveis e que ainda não foram liberadas por este trabalho cron); depois que tudo estiver bem comente o cron flush out

Espero que isso ajude.

    
por 30.08.2017 / 16:52

Tags