Just another IT site ※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。At Your Own Risk!! TURN BACK WHILE YOU CAN
PR

fail2ban recidiveの緩和例

※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。スクリプトはAI生成のものも多いのでコピー&ペーストの際は文字コードに注意ください!

【AIによる回答】

Fail2banのrecidive(再犯)フィルターは、他のフィルター(sshdなど)で短期間に何度もBANされたIPアドレスを、さらに長期(デフォルトでは約1週間)にわたってBANする機能です。これを緩和するには、/etc/fail2ban/jail.localまたは/etc/fail2ban/jail.d/内の設定を変更します。 
1. recidiveのBAN期間を短くする(bantime)
長時間BANされるのを防ぐには、bantimeを短く設定します。
ini
[recidive]
enabled = true
# デフォルト(通常1週間)から例えば1日に短縮
bantime = 1d
※単位: m (分), h (時間), d (日)
2. recidiveのトリガー回数を緩和する(maxretry)
「何回再犯したら」という条件を緩和するには、maxretryの値を増やします。
ini
[recidive]
enabled = true
# 5回から10回に増やす
maxretry = 10
3. チェックする期間を短くする(findtime)
過去どれくらいの期間のログを対象にするかを設定します。これを短くすると、短期間に集中して失敗しない限りBANされにくくなります。
ini
[recidive]
enabled = true
# デフォルト(長い)から例えば1日に短縮
findtime = 1d
4. 信頼できるIPをホワイトリストに登録する(ignoreip)
特定のIP(社内、自宅の固定IPなど)が誤ってBANされている場合は、ignoreipに追加するのが最も安全な緩和策です。
ini
[DEFAULT]
# 自分のIPやIP範囲を追加
ignoreip = 127.0.0.1/8 ::1 192.168.1.0/24 10.0.0.1
5. 設定の反映
設定ファイルを編集した後は、必ずFail2banを再読み込み(または再起動)してください。 
bash
sudo fail2ban-client reload
# または
sudo systemctl restart fail2ban
緩和策の例
例えば、管理者の誤BANを防ぎつつ、多少のミスには寛容にする設定例(jail.local):
ini
[recidive]
enabled = true
bantime = 1d    # 1日だけBAN
maxretry = 10   # 10回失敗で追加
findtime = 1d   # 1日以内のログを対象
注意: 緩和しすぎると、実際にブルートフォース攻撃を受けた際にサーバーの負荷が上昇するリスクがあります。 
タイトルとURLをコピーしました