【フェイルトゥーバン】

Fail2ban とは?

最終更新:
💡 ログの失敗を数え、条件に合うIPへ対処する

サービスのログから失敗パターンを数え、設定した条件でIPアドレスへの対処を行うツール。jail・filter・action、誤遮断や検知の限界、認証対策との関係を解説します。

📌 このページのポイント
Fail2ban:失敗の記録から対処監視対象のログファイル・systemd journal等filterで失敗記録を照合findtime内のmaxretry回ignoreipなどの設定も反映actionで対処例:該当IPの新しい接続を遮断設定したbantimeが経過通常の時間制限付き遮断では解除jailが監視・条件・対処をまとめる失敗の記録だけで攻撃とは断定しない
時間制限付きの遮断例の処理順です。対象ログ・filter・actionの実動作を確認し、誤遮断や検知の限界も考えます。強い認証の代わりにはなりません。
ひよこ ひよこ
ログイン失敗が多いと、Fail2banで対処できる?
ペンギン先生 ペンギン先生
監視するログに記録され、設定したパターンに一致すれば、同じIPの失敗を数えて対処できるよ。代表的にはファイアウォールのルールで新しい接続を拒否する。失敗だけで相手の意図を断定するツールではないんだ。
ひよこ ひよこ
どこを設定するの?
ペンギン先生 ペンギン先生
jailがサービスごとの設定をまとめるよ。filterはログのどの記録に一致させるか、actionは条件に達したときの遮断などの動作。ログファイルの場所やsystemd journalなど、読み取り元も環境に合わせる。
ひよこ ひよこ
何回で、何分遮断する?
ペンギン先生 ペンギン先生
findtimeの期間内にmaxretry回の一致があれば遮断し、bantimeで期間を決めるよ。値は配布元やjailの設定で変わる。既定値を決めつけず、実際に有効な設定を確認しよう。
ひよこ ひよこ
自分が間違えた場合も遮断される?
ペンギン先生 ペンギン先生
条件に一致すれば起こり得るよ。ignoreipで対象外を設定できるけれど、必要な範囲に絞ろう。同じ出口IPを使う利用者がまとめて影響を受けることもある。解除や別経路の管理手段も準備するんだ。
ひよこ ひよこ
入れておけば、SSHもWebも安全?
ペンギン先生 ペンギン先生
対象サービスのjailとログの形式、実際のactionの動作を確認する必要があるよ。分散したIPや閾値を超えない試行は防ぎきれない。公開鍵や多要素認証など、認証を強くする対策の代わりにはならないんだ。
もっと詳しく知りたい人へ

プロキシやCDN越しでも、ログのIPをそのまま遮断?

ログがどのIPを記録しているかと、対処を行う位置を確認します。プロキシのIPが記録されていれば、遮断で多数の利用者へ影響する場合があります。外部から偽装できるヘッダーを無条件に送信元として信じないことも必要です。

jail.confを直接書き換える?

公式設定はjail.localやjail.dの.localによる上書きを案内しています。配布元の構成も確認し、変更前後でfilterが対象ログに一致するか、正規の試行を巻き込まないかを検証します。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Fail2ban」って出てきたら「ログの失敗記録に基づいてIPアドレスへの遮断などを自動化するツール」と思えばだいたいOK!
📖 おまけ:英語の意味
「Fail2ban」 = 失敗の記録に基づいてBANするツール
💬 公式リポジトリは、複数の認証エラーを起こすホストを遮断するデーモンと説明しています。ログイン失敗のすべてが攻撃と判定できるわけではありません。

参考資料

← 用語集にもどる