fail2ban は、IP が禁止されている場合でもアクティビティをログに記録します。

fail2ban は、IP が禁止されている場合でもアクティビティをログに記録します。

禁止された IP がまだ私のサーバーに接続しようとしているかどうか、またその IP が何をしようとしているのかを知る方法があるかどうかを知りたいです。

fail2ban.log には誰が禁止されたかは表示されるようですが、禁止された IP がまだ私にアクセスしようとしているかどうかは表示されません。間違っていますか?

可能であれば、詳細を見つけるためのヒントを教えていただければ幸いです :)

クリスより

答え1

通常、Fail2ban は、アプリケーション ログ ファイル内の悪意のあるパターンに基づいて特定の IP アドレスを禁止します。通常、fail2ban は (一時的な) ファイアウォール ルールを生成して問題のある IP アドレスをブロックし、その IP アドレスのみをログに記録します。

問題のある IP アドレスが禁止されると、それらの IP アドレスはアプリケーションにアクセスできなくなり、それらの IP アドレスからのイベントはアプリケーション ログ ファイルに記録されなくなります。したがって、それらのログ ファイルからは、問題のある IP アドレスが後退したかどうか、またはファイアウォールにまだアクセスしているかどうかを知ることはできません。

後者が発生しているかどうかを確認するには、現在のファイアウォール統計を調べてみてください。結果は異なる場合があります。

banaction = firewallcmd-ipsetブロックされたすべての IP に対してルールと単一のカウンターのみが存在するホストの場合:

iptables -L -n -v
...
 pkts bytes target     prot opt in     out     source               destination

 6578  392K REJECT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            multiport dports 22 match-set f2b-sshd src reject-with icmp-port-unreachable

これにより、どのIPアドレスがブロックされたかを特定することができなくなります。f2b-sshd ipset常習犯です。

ブロックされた各 IP が独自のルールの影響を受けるホストでは、たとえば次のようになります。

Chain fail2ban-SSH (1 references)
num   pkts bytes target     prot opt in     out     source               destination
1        0     0 REJECT     all  --  *      *       117.239.37.150       0.0.0.0/0           reject-with icmp-port-unreachable
2        4   412 REJECT     all  --  *      *       117.253.208.237      0.0.0.0/0           reject-with icmp-port-unreachable

たとえば、IP アドレスは4 つのパケットを送信しましたが、それらはブロックされて完全にバックオフされ117.253.208.237た後、ファイアウォールによってログに記録されました。117.239.37.150


他の回答で述べたように、ログ イベントを生成するファイアウォール ルールを作成するように fail2ban に指示し、それを後処理して同様の洞察を得ることができますが、これは fail2ban がネイティブに処理してレポートするものではありません。

答え2

あなたが探しているのは行動Fail2banは禁止/禁止解除時に特定のコマンドを実行することができ、それは次のようになります。これあなたが探しているのはこれです。デフォルト設定jail.d、ログを記録したいサービスの動作をカスタマイズするために、ファイルを作成する必要があります。jail.d/customisation.local

関連情報