セキュリティ
【セキュリティ】Fail2banで総当たり攻撃を自動でブロックする
2026年8月16日

レン
鍵認証にしたら攻撃は防げるって言ってたけど、それでもログを見ると攻撃の試みが止まらないんだよね…気持ち悪い。

プロクラ
鍵認証で『破られはしない』けど、攻撃の『試み』自体は続くからね。そこで役立つのがFail2ban。ログイン失敗を何回も繰り返すIPアドレスを、自動で一定時間ブロックしてくれるツールだよ。

ウィルスン
Fail2ban…ワタシの天敵の一つだ。同じIPから何度も試していると、ある時点でぴしゃりと扉を閉ざされる。攻撃の手数が一気に削られるのだよ。
パスワード認証と公開鍵認証の違い
パスワード認証
あなたパスワードを送る →サーバー
合っていれば誰でも入れる。総当たりで試され続ける
公開鍵認証
あなた
秘密鍵🔑鍵は送らない
署名だけを送る →サーバー
公開鍵
秘密鍵🔑鍵は送らない
署名だけを送る →サーバー
公開鍵
秘密鍵は手元から出ない。通信を覗かれても鍵そのものは盗まれない
仕組みはシンプル

プロクラ
Fail2banはログファイルを監視して、『短時間に何回も認証に失敗したIP』を見つけると、ファイアウォールに指示してそのIPを一時的に遮断する。仕組みが単純なぶん、応用が利くんだ。
- sudo apt install fail2ban でインストール
- /etc/fail2ban/jail.local に設定を書く(jail.confは直接編集しない)
- maxretry(何回失敗で遮断するか)、bantime(遮断する時間)を調整
- sudo fail2ban-client status sshd で現在遮断中のIPを確認できる
- SSHだけでなく、WordPressのログインやメールサーバーへの攻撃にも応用できる

プロクラ
jail.confを直接編集しないのは、更新時に上書きされるからだよ。jail.localに書いた設定が優先されるので、変更したい項目だけをそちらに書けばいい。
数字の決め方

レン
何回失敗で遮断、みたいな数字はどう決めればいいの?

プロクラ
厳しすぎると自分が引っかかり、緩すぎると効かない。目安としてはこのあたりから始めて、ログを見ながら調整するといいよ。
- maxretry: 3〜5回。鍵認証だけにしているなら厳しめでいい
- findtime: 何分以内の失敗を数えるか。10分程度が扱いやすい
- bantime: 最初は1時間程度。しつこい相手には長くする設定もある
- 遮断は「一時的」でいい。永久に遮断してもIPは変えられる
自分が締め出されたら

レン
自分が何回もパスワード間違えたら、自分が遮断されちゃったりしない?

プロクラ
いい心配だね。あるよ。だから自分の固定IPがあるなら ignoreip に登録しておくと安心。ただ、家庭の回線はIPが変わることがあるので、それだけに頼らないほうがいい。
- 多くの事業者が、管理画面から直接サーバーの画面に入れる機能を用意している
- そこから fail2ban-client set sshd unbanip でIPを解除できる
- この機能の存在と入り方は、締め出される前に確認しておく
- 自分が遮断されたときのために、鍵は必ず手元に控えを持っておく

プロクラ
ここが確認できていれば、設定を思い切って厳しくできる。逆に、戻る手段を知らないまま厳しくするのは危ないよ。
Fail2banだけでは足りない

ウィルスン
…遮断は、同じIPから来た場合の話だろう? ならば、毎回違うIPから1回ずつ試せばよい。ワタシは急いでいないのでな。

プロクラ
そのとおりで、大量のIPを使い分けられると回数で引っかからなくなる。Fail2banは「手数を削る道具」であって、「破られなくする道具」ではないんだ。
- 破られなくするのは鍵認証。パスワード認証を止めることが本体
- rootでの直接ログインを禁止する
- ファイアウォールで、SSHは自分のIPからだけに絞れるならそれが一番強い
- Fail2banはその上に重ねる。ログを汚す試行が減るので、異常に気づきやすくなる

ウィルスン
鍵認証で『城門を固く』し、Fail2banで『しつこい侵入者を追い返す』。この2枚重ねは効くぞ。ワタシとしては、正直あまり広めてほしくないのだがな…フフ。

レン
本体は鍵認証。Fail2banは手数を削る側。戻る手段を先に確認しておく、だね。
あわせて読みたい
- セキュリティ【セキュリティ】侵入されたかも?と思ったときにやること不審な挙動に気づいたときの初動を順番に解説します。何を疑うか、消す前に何を残すか、認証情報をどこまで変えるか、そしてなぜ掃除ではなく作り直しなのかまで。
- セキュリティ【セキュリティ】WordPressが狙われる理由と、最低限の防御ログイン画面・プラグイン・更新という3つの基本に加え、入られた前提での備えまで。プラグインを減らすことが速さと守りの両方に効く理由も解説します。
- セキュリティ【セキュリティ】権限は最小限に:rootで作業し続けてはいけない理由最小権限を、サーバーの中だけでなくAPIキーやアカウントにも当てはめる考え方。「念のため」で付けた権限を見直すきっかけの作り方まで解説します。
- セキュリティ【セキュリティ】HTTPS化は必須:無料の証明書で常時暗号化するログインが無いサイトでもHTTPSが要る理由、無料証明書での導入手順、90日という有効期限との付き合い方、そして更新が止まったときの気づき方を解説します。