¿Cómo puedo restablecer el contador de intentos falsos de inicio de sesión de iptable después de un inicio de sesión exitoso?

¿Cómo puedo restablecer el contador de intentos falsos de inicio de sesión de iptable después de un inicio de sesión exitoso?

Agregué las siguientes reglas de firewall para defenderme 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

¿Es posible restablecer ese contador después de un intento de inicio de sesión exitoso? Aunque esta solución funciona bien, ¡también estoy restringido a 3 inicios de sesión exitosos por hora!

Respuesta1

Sí, más o menos. puedes usar algocomofail2ban que procesa los registros y elimina las direcciones IP de /proc/net/xt_recent/DEFAULT:

Algo como esto como un cronjob (¿minuto?) sería una buena primera aproximación:

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

información relacionada