Como posso bloquear todas as portas, exceto 22.80.443, para todo o tráfego de entrada, exceto localhost?

Como posso bloquear todas as portas, exceto 22.80.443, para todo o tráfego de entrada, exceto localhost?

Eu quero esse comportamento:

Todos os computadores externos só podem se conectar às portas 22 (ssh), 80 (http) e 443 (https) do meu servidor.

No entanto, todos os aplicativos localhost podem ser vinculados a qualquer porta que desejarem.

Eu tenho uma pesquisa e foi isso que descobri:

iptables -A INPUT -p tcp -m tcp -m multiport ! --dports 22,80,443 -j DROP

Ele faz o que eu quero, mas também bloqueia todos os aplicativos localhost. O que devo mudar para permitir que aplicativos localhost sejam vinculados a qualquer porta?

E então como posso tornar a regra permanente?

Obrigado!

Responder1

As regras são combinadas em ordem. Faça um para permitir localhost antes daquele para negar.

iptables -A INPUT -p tcp -s localhost -m tcp -m multiporta! --dports 22,80,443 -j ACEITAR

iptables -A INPUT -p tcp -m tcp -m multiporta! --dports 22,80,443 -j DROP

Leia aqui como salvá-los dependendo do seu sistema operacional. https://www.thomas-krenn.com/en/wiki/Saving_Iptables_Firewall_Rules_Permanently

informação relacionada