As regras do Iptables retardam o login via SSH

As regras do Iptables retardam o login via SSH

Estou tentando construir algumas regras básicas de iptables para meu VDS:

iptables -A INPUT -p tcp --dport ssh -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -P INPUT DROP

Quero bloquear qualquer tráfego de entrada, exceto tráfego SSH e WEB. Mas depois de aplicar as regras e reiniciar o sistema, demora 30 segundos para fazer o login via SSH, o processo de login é muito lento, mas funciona perfeitamente depois que eu conecto.

Quais regras devo adicionar para tornar o login via SSH mais rápido?

Responder1

De iptables --help:

--numeric   -n      numeric output of addresses and ports

https://serverfault.com/questions/85602/iptables-l-pretty-slow-is-this-normal

Inclua a -nopção para que ele não tente usar o DNS para resolver nomes para cada endereço IP, rede e porta. Então será rápido.

https://help.ubuntu.com/community/IptablesHowTo

Permitindo sessões estabelecidas

Podemos permitir que sessões estabelecidas recebam tráfego:

sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

Caso a linha acima não funcione, você pode estar em um VPS castrado cujo provedor não disponibilizou a extensão, caso em que uma versão inferior pode ser utilizada como último recurso:

sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

editado porque help.ubuntu.com oferece uma solução melhor e mais completaignore abaixo

https://serverfault.com/questions/416537/why-does-a-valid-set-of-iptables-rules-slow-my-server-to-a-crawl

Regra para aceitar tráfego com base no tráfego existente

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Responder2

Resolvi o mesmo problema depois de executar os dois comandos a seguir

# Allow Established and Related Incoming Connections
iptables -I INPUT 1 -m conntrack --ctstate ESTABLISH
ED,RELATED -j ACCEPT

# Allow Established Outgoing Connections
iptables -I OUTPUT 1 -m conntrack --ctstate ESTABLISHED -j ACCEPT

Esses dois comandos vêm deFundamentos do Iptables: regras e comandos comuns de firewall.

informação relacionada