【フェイルトゥーバン】
Fail2ban とは?
最終更新:
💡 ログの失敗を数え、条件に合うIPへ対処する
サービスのログから失敗パターンを数え、設定した条件でIPアドレスへの対処を行うツール。jail・filter・action、誤遮断や検知の限界、認証対策との関係を解説します。
📌 このページのポイント
ログイン失敗が多いと、Fail2banで対処できる?
どこを設定するの?
jailがサービスごとの設定をまとめるよ。filterはログのどの記録に一致させるか、actionは条件に達したときの遮断などの動作。ログファイルの場所やsystemd journalなど、読み取り元も環境に合わせる。
何回で、何分遮断する?
findtimeの期間内にmaxretry回の一致があれば遮断し、bantimeで期間を決めるよ。値は配布元やjailの設定で変わる。既定値を決めつけず、実際に有効な設定を確認しよう。
自分が間違えた場合も遮断される?
条件に一致すれば起こり得るよ。ignoreipで対象外を設定できるけれど、必要な範囲に絞ろう。同じ出口IPを使う利用者がまとめて影響を受けることもある。解除や別経路の管理手段も準備するんだ。
入れておけば、SSHもWebも安全?
もっと詳しく知りたい人へ
プロキシやCDN越しでも、ログのIPをそのまま遮断?
ログがどのIPを記録しているかと、対処を行う位置を確認します。プロキシのIPが記録されていれば、遮断で多数の利用者へ影響する場合があります。外部から偽装できるヘッダーを無条件に送信元として信じないことも必要です。
jail.confを直接書き換える?
公式設定はjail.localやjail.dの.localによる上書きを案内しています。配布元の構成も確認し、変更前後でfilterが対象ログに一致するか、正規の試行を巻き込まないかを検証します。
まとめ:ざっくりこれだけ覚えればOK!
「Fail2ban」って出てきたら「ログの失敗記録に基づいてIPアドレスへの遮断などを自動化するツール」と思えばだいたいOK!
📖 おまけ:英語の意味
「Fail2ban」 = 失敗の記録に基づいてBANするツール
💬 公式リポジトリは、複数の認証エラーを起こすホストを遮断するデーモンと説明しています。ログイン失敗のすべてが攻撃と判定できるわけではありません。