iptables permite certas portas e desabilita o resto

iptables permite certas portas e desabilita o resto

Tenho o seguinte cenário:
quero permitir apenas o acesso às portas 22, 80 e 443 e tudo o mais permitir.

Meu iptables -Lfica assim:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh
ACCEPT     tcp  --  anywhere             anywhere             state RELATED,ESTABLISHED
DROP       all  --  anywhere             anywhere            

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Mas não consigo obter o efeito desejado, e mesmo no meu servidor não consigo mais fazer ping em nada (não consigo mais entrar na internet).

Além disso, procurei a opção de definir INPUTa política DROPe abrir manualmente as portas desejadas, mas isso também não teve o efeito desejado.

Existe alguma diferença em colocar a DROPpolítica em INPUTcadeia e abrir manualmente as portas desejadas e a maneira como fiz descartando todo o tráfego como última regra.

Muito obrigado,
Atenciosamente.

Responder1

Sua configuração atual para INPUTcadeia permite que os clientes se conectem ao seu servidor em tcp 22, 80 e 443 e otcpconexões que você inicia sejam respondidas. É isso! NãoICMP(para ping), nãoUDP(pesquisas de DNS).

Ter como ESTABLISHED, RELATEDregra ALLOWtodos os protocolos, em vez de apenastcp, deve corrigir o acima.

Em relação a abandonar tudo usando uma regra versus DROPpolítica:

iptables -P INPUT DROP

É a mesma coisa que ter:

iptables -A INPUT -j DROP

Como sua última regra.

Além disso, a menos que você saiba exatamente o que está fazendo, você deve permitir totalmenteloopbacktráfego.

informação relacionada