Uma regra iptables não funciona

2

Estou enfrentando o seguinte problema: Desejo bloquear a porta 8000 acessada pela rede (bloquear todas as conexões, exceto as de 127.0.0.1). Então, para simplificar meu problema e como primeiro passo, decidi bloquear todo o acesso à porta 8000 usando esta regra:

iptables -A INPUT -p tcp --dport 8000 -j DROP

Agora, sei que devo fazer a consulta reversa, a qual elimina todas as conexões, exceto as confiáveis, mas decidi fazer isso para fins educacionais.

iptables -L mostra-me esta saída:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:8000

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
DOCKER     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           ctstate RELATED,ESTABLISHED
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain DOCKER (1 references)
target     prot opt source               destination
ACCEPT     tcp  --  0.0.0.0/0            172.17.0.1          tcp dpt:80

Infelizmente, ainda consigo acessar o servidor pela porta 8000. Você pode me dizer o que devo fazer? Eu não fiz nada depois de executar o comando drop rule.

    
por rsabir 26.04.2016 / 16:04

1 resposta

4

Parece que você está usando o Docker. Ao expor uma porta contêiner, o Docker criará regras para encaminhar pacotes para seu contêiner. Esses pacotes nunca passam pela cadeia INPUT. Veja: link

Você pode filtrar usando a cadeia FORWARD.

iptables -I FORWARD -p tcp -d 172.17.0.1 --dport 80 -j DROP

Observação , isso não eliminará conexões do host local e você terá que usar o destino reescrito (ou seja, porta de escuta no container).

Se você quiser mais controle, poderá executar o daemon do Docker com --iptables=false , mas será necessário gerenciar o encaminhamento de pacotes para seus contêineres manualmente.

    
por 26.04.2016 / 16:47

Tags