
Tenho o seguinte cenário:
quero permitir apenas o acesso às portas 22, 80 e 443 e tudo o mais permitir.
Meu iptables -L
fica 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 INPUT
a política DROP
e abrir manualmente as portas desejadas, mas isso também não teve o efeito desejado.
Existe alguma diferença em colocar a DROP
política em INPUT
cadeia 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 INPUT
cadeia 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, RELATED
regra ALLOW
todos os protocolos, em vez de apenastcp, deve corrigir o acima.
Em relação a abandonar tudo usando uma regra versus DROP
polí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.