Wie setze ich den Zähler für falsche Anmeldeversuche von iptable nach einer erfolgreichen Anmeldung zurück?

Wie setze ich den Zähler für falsche Anmeldeversuche von iptable nach einer erfolgreichen Anmeldung zurück?

Zum Schutz vor SSH-Angriffen habe ich die folgenden Firewall-Regeln hinzugefügt.

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

Ist es möglich, diesen Zähler nach einem erfolgreichen Anmeldeversuch zurückzusetzen? Diese Lösung funktioniert zwar einwandfrei, aber ich bin auch auf 3 erfolgreiche Anmeldungen pro Stunde beschränkt!

Antwort1

Ja, irgendwie schon. Man kann etwas verwendenwiefail2ban verarbeitet die Protokolle und entfernt die IP-Adressen aus /proc/net/xt_recent/DEFAULT:

So etwas wie dies als (minutiöser?) Cronjob wäre eine gute erste Annäherung:

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

verwandte Informationen