プロジェクト

全般

プロフィール

再犯者をより重く再禁止する設定

複数回banされたアクセス元を、より厳罰に再禁止する設定を行います。
具体的にはfail2banのログ自体を監視して再犯のポリシーとマッチングします。

設定

再禁止のログ監視設定のポリシーはデフォルトで下記の場所にあります。
fail2banのログのパスやログ形式をカスタマイズしていなければ、そのまま利用することができると思います。

  • /etc/fail2ban/filter.d/recidive.conf
    特定の文字列を検出時にレコードを無視する場合、下記に設定を行う。
    ignoreregex = 
    ↓
    ignoreregex = .*(文字列1|文字列2)
    

次のアクセス制限の設定を行います。以下のファイルに追記していきます。

  • /etc/fail2ban/filter.d/jail.local
    [recidive]
    enabled = true
    filter = recidive
    logpath = /var/log/fail2ban/fail2ban.log
    action = iptables-allports[name=recidive]
    sendmail-whois-lines[name=recidive, logpath=/var/log/fail2ban/fail2ban.log]
    bantime = 604800
    findtime = 86400
    maxretry = 3
    

    ここでは「recidive」という名前で設定を作り有効化します。
    フィルタは前述の「filter.d/recidive.conf」を使用します。
    次に監視するログのパス、banする時間(10800=1時間)、banするまでの間隔と試行回数(86400秒に3回)を指定します。

設定の有効化

fail2ban設定を再読み込みします。

# systemctl reload fail2ban

動作確認

iptablesにポリシーが追加されていることを確認します。

# iptables -L -n
Chain f2b-recidive (1 references)
target     prot opt source               destination
REJECT     all  --  xxx.xxx.xxx.xxx      0.0.0.0/0           reject-with icmp-port-unreachable
……
…
RETURN     all  --  0.0.0.0/0            0.0.0.0/0