OS: Cento 7.5
Estou usando o iptables com hashlimit para limitar as conexões SSH. Aqui estão as regras:
Arquivo: / etc / sysconfig / iptables:
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp --dport 22 -m state --state NEW -m hashlimit --hashlimit-name SSHNEW --hashlimit-burst 4 --hashlimit-above 4/min --hashlimit-mode srcip -j DROP
-A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT
Durante o teste, tenho algumas sessões de SSH já abertas para "segurança". Quando tento conectar rapidamente novas sessões SSH, ela age conforme o esperado.
O problema é que minhas sessões de "segurança" existentes são bloqueadas e, em seguida, obtenho esse erro após 30 segundos:
O período de tempo limite do semáforo expirou. Eu testei isso muitas vezes com o mesmo comportamento.
Eu achei que a regra ESTABELECIDA e RELACIONADA no topo deveria impedir que as sessões estabelecidas fossem afetadas.
Pensando que a empresa de hospedagem pode estar fazendo isso com sua proteção anti-DOS, eu usei essas regras, e elas funcionaram como esperado sob testes pesados e eu NÃO tive o problema de tempo limite EM TODOS:
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
Alguma idéia do que estou perdendo?