ログインが成功した後に、iptable の誤ったログイン試行カウンターをリセットするにはどうすればよいですか?

ログインが成功した後に、iptable の誤ったログイン試行カウンターをリセットするにはどうすればよいですか?

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

ログイン試行が成功した後にそのカウンターをリセットすることは可能ですか? この解決策は問題なく機能しますが、1 時間あたりのログイン成功回数も 3 回に制限されています。

答え1

はい、そうですね。のようにログを処理し、IP アドレスを削除する fail2ban /proc/net/xt_recent/DEFAULT:

次のような(分単位の?)cron ジョブが最初の近似値として適しています。

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

関連情報