A linha que você está preocupado:
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
é, na verdade, por causa disso em suas regras:
-A INPUT -i lo -j ACCEPT
Observe que a interface é explícita na regra, mas não na saída -L
. Mova essa regra para o meio da lista, use iptables-restore
e observe que o "ACCEPT all - anywhere" foi movido para baixo também. Agora tente alterar a regra um pouco:
-A INPUT -i lo -s 127.0.0.1 -j ACCEPT
e a saída -L
será:
target prot opt source destination
ACCEPT all -- localhost.localdomain anywhere
"localhost.localdomain" será seu nome de host 127.0.0.1 de /etc/hosts
. Isso pelo menos esclarece de onde veio essa regra.
Você também pode ver informações mais detalhadas, incluindo as interfaces com iptables -vL
.
BTW, você pode querer começar suas regras:
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
Solte tudo por padrão como uma falha por segurança. Isso é considerado falta de educação, no entanto (veja o link no comentário de Gilles abaixo), então você pode querer criar uma captura final para cada tabela que usa -j REJECT --reject-with icmp-net-prohibited
.