IPTables が Fail2Ban と競合する

IPTables が Fail2Ban と競合する

OS: Ubuntu Server 18.04

フェイル2バン: v0.10.2

私は、Fail2ban のインストールに関するバグを理解しようとしています (おそらく自分で作ったものだと思います)。次を使用して、定義済みリストで iptables を設定する cron ジョブがあります。

iptables -A INPUT -s <ip address> -j DROP
iptables -A INPUT -s <ip address> -j DROP
etc
etc

このスクリプトの冒頭では、次が実行されます:

iptables -F INPUTINPUT チェーンをフラッシュします。この cron ジョブは、不正な行為者を動的に禁止するために Fail2ban をインストールする前からサーバー上に存在していました。しかし、特定の IP が であることを示す通知が多数表示され始めたことに気付きました。iptables already bannedcron ジョブの実行を停止すると、このエラーは消え、何の問題もなく実行されています。

私の質問は、Fail2ban の実行中に実行することで、どのような競合が発生するのかということですiptables -F INPUT。禁止された IP はそれぞれのチェーンに配置されるので、このコマンドは問題ないのでしょうf2b-<jail>か、それとも私が誤解しているのでしょうか。この iptables スクリプトを実行する必要がある場合、Fail2ban データベースでも何かを行う必要がありますか (消去など)?

ありがとう。

答え1

fail2ban は、各 jail ごとに定義したチェーンを呼び出すために、INPUT チェーンにルールを配置する必要もあります。これらを削除すると、それらのルールが適用されなくなり、禁止されるべき IP アドレスが通過してしまい、fail2ban は、それらの IP アドレスがすでに禁止されていることを警告します。

このように INPUT チェーンをフラッシュする理由はありません。代わりに、cron ジョブで独自のユーザー定義チェーンを作成し、そのユーザー定義チェーンを呼び出すルールのみを INPUT チェーンに追加する必要があります。さらに良いのは、パフォーマンスが向上し、変更したいときにアトミックにスワップできる ipset を使用することです。(同じ理由で、fail2ban でも ipset を使用する必要があります。)

関連情報