Como redefinir o contador de tentativas falsas de login do iptable após um login bem-sucedido?

Como redefinir o contador de tentativas falsas de login do iptable após um login bem-sucedido?

Adicionei as seguintes regras de firewall para me defender contra ataques ssh.

iptables -N LOGNDROP
iptables -A LOGNDROP -j LOG --log-prefix "SSH attack! " --log-level 7
iptables -A LOGNDROP -j DROP
iptables -A INPUT -i eth0 -p tcp -m state --dport 22 --state NEW -m recent --set
iptables -A INPUT -i eth0 -p tcp -m state --dport 22 --state NEW -m recent --update --seconds 3600 --hitcount 4 -j LOGNDROP

É possível redefinir esse contador após uma tentativa de login bem-sucedida? Embora esta solução funcione bem, também estou restrito a 3 logins bem-sucedidos por hora!

Responder1

Sim, mais ou menos. Você pode usar algocomofail2ban que processa os logs e remove os endereços IP de /proc/net/xt_recent/DEFAULT:

Algo assim como um cronjob (minuciosamente?) Seria uma boa primeira aproximação:

for ip in $(sed -ne 's/^.*sshd.*Accepted.*from \([^ ]*\).*$/\1/p' /var/log/auth.log | sort -u); do echo -$ip > /proc/net/xt_recent/DEFAULT; done

informação relacionada