ブルートフォース攻撃とは、ログイン画面などに対して多数のパスワード候補を繰り返し試し、正しい認証情報を当てようとする攻撃です。「総当たり攻撃」とも呼ばれます。
WordPressの管理画面、VPSのSSH、メール、会員サイトなど、IDとパスワードでログインする仕組みは対象になり得ます。対策では、長く固有のパスワードだけでなく、二段階認証、ログイン試行回数制限、WAF・CDN、監視を組み合わせることが重要です。
30秒でわかる結論
- ブルートフォース攻撃は、多数のパスワード候補を繰り返し試す総当たり攻撃
- WordPress・SSH・メール・会員ログインなどが対象になり得る
- 弱い・短い・推測しやすいパスワードほど危険
- 侵入に失敗しても大量リクエストでサーバー負荷が上がる場合がある
- 最優先は、長く固有のパスワードと二段階認証
- ログイン試行回数制限・レート制限で自動試行を抑える
- CAPTCHAは補助策として使う
- WordPressではWAF・CDN・ログ監視も有効
- SSHでは公開鍵認証やアクセス元制限を優先する
- ログインURLを隠すだけでは十分な対策にならない
ブルートフォース攻撃とは?
ブルートフォース(Brute Force)とは、可能性のある認証情報を大量に試して正解を探す方法です。
Webサイトの不正ログインでは、ユーザー名を固定し、パスワード候補を自動的に次々と試す形が代表的です。
イメージ
ユーザー名:admin
パスワード候補A → 失敗
パスワード候補B → 失敗
パスワード候補C → 失敗
……
正しい候補 → ログイン成功
重要
攻撃者が手作業で1件ずつ入力するとは限りません。自動化されたBotなどで大量の試行を行うため、短時間でも多数のログイン要求が発生する場合があります。
ブルートフォース攻撃で何が起こる?
攻撃が成功すると、アカウントの権限に応じてさまざまな被害が起こります。
代表的な被害
- WordPress管理画面への不正ログイン
- 記事・固定ページの改ざん
- 不正な管理者アカウント追加
- 悪意あるプラグイン・ファイル設置
- メールアカウントの乗っ取り
- SSH経由のサーバー侵入
- 個人情報・顧客情報の漏えい
- 他サイトへの攻撃に悪用される
WordPress公式も、管理者アカウントを奪われると悪意あるスクリプトを設置され、サイトやサーバー全体へ影響する可能性があると説明しています。
攻撃に失敗しても負荷がかかる
ブルートフォース攻撃は、ログインに成功しなくても大量の認証処理を発生させます。
例
1秒に5回のログイン試行が1時間続く場合:
5 × 60 × 60 = 18,000回
WordPressではPHPやデータベース処理が発生するため、攻撃量によってはCPU・メモリ負荷が上がり、通常ユーザーの表示が遅くなる場合があります。
DDoSとは目的が違う
DDoSは主に大量通信でサービス停止を狙う攻撃です。ブルートフォースは認証突破が主目的ですが、結果としてサーバー負荷が高まることがあります。
ブルートフォース攻撃とパスワードリスト攻撃の違い
| 項目 | ブルートフォース | パスワードリスト攻撃 |
|---|---|---|
| 主な方法 | 多数の候補を試す | 漏えい済みID・パスワードを試す |
| 狙い | 推測で正解を当てる | 使い回しを突く |
| 弱点 | 短い・単純なパスワード | 同じ認証情報の使い回し |
| 主な対策 | 長いパスワード・レート制限 | 固有パスワード・MFA |
OWASPは、ブルートフォースを「1つのアカウントに対し複数のパスワードを試す攻撃」、Credential Stuffingを「他サービスから漏えいしたID・パスワードの組み合わせを試す攻撃」と区別しています。
ID1196とは役割を分ける
パスワードリスト攻撃は別記事で詳しく扱います。ここでは、候補を繰り返し試すブルートフォース攻撃と、その防御を中心に解説します。
辞書攻撃との違い
辞書攻撃は、よく使われる単語・パスワード候補のリストを使って試行する方法です。
広い意味ではブルートフォース系の攻撃として扱われますが、すべての文字組み合わせを順番に試す純粋な総当たりより、現実に使われやすい候補を優先する点が違います。
推測されやすい例
- 会社名+数字
- サイト名+年
- ユーザー名と同じ文字列
- 一般的な単語+123
そのため、単純に記号を1文字加えただけの推測しやすいパスワードでは十分とは言えません。
WordPressはなぜ狙われやすい?
WordPressは世界中で広く使われているため、ログイン画面を自動的に探すBotの対象になりやすい環境です。
WordPress公式も、ブルートフォース攻撃はWordPress固有ではないものの、普及率の高さから標的になりやすいと説明しています。
WordPressで狙われる場所
- 管理画面ログイン
- XML-RPCなど認証を伴う機能
- 会員・ECプラグインのログイン
WordPressだから危険、ではない
ログイン機能を公開しているWebアプリは同様の攻撃対象になり得ます。重要なのはWordPressをやめることではなく、認証を適切に強化することです。
対策1.長く固有のパスワードを使う
最も基本的な対策は、推測しにくく、他サービスと使い回していないパスワードを使うことです。
避けたいパスワード
- 短い文字列
- 会社名・氏名・サイト名
- 辞書に載っている単語だけ
- 数字だけ
- 他サービスと同じパスワード
WordPress公式も、強力で固有なパスワードとパスワードマネージャーの利用を推奨しています。
初心者はパスワードマネージャーを使う
人が覚えやすい短いパスワードを考えるより、長くランダムなパスワードを生成・保存できるパスワードマネージャーを使う方が管理しやすくなります。
対策2.二段階認証・多要素認証を使う
パスワードが突破されても、追加の認証が必要な状態にすると不正ログインのリスクを大きく下げられます。
OWASPは、多要素認証をパスワード関連攻撃に対する非常に重要な防御策として推奨しています。
組み合わせ例
パスワード
+
認証アプリのワンタイムコード
WordPress標準コアには二段階認証機能がないため、対応プラグイン、IDプロバイダー、ホスティング側の認証機能などを利用します。
対策3.ログイン試行回数を制限する
ブルートフォース攻撃は「何度も試せること」を利用するため、失敗回数に応じて試行を遅らせるレート制限が有効です。
考え方の例
数回失敗 → 一定時間待機
さらに失敗 → 待機時間を長くする
OWASPはログインスロットリングを主要対策として挙げ、NISTもオンライン推測攻撃への耐性として失敗試行のレート制限を求めています。
永久ロックは慎重に
攻撃者が他人のアカウントを意図的にロックし、正規ユーザーをログイン不能にする可能性があります。短時間の制限や段階的な待機など、サービス停止に悪用されにくい設計が必要です。
対策4.CAPTCHAを補助的に使う
CAPTCHAは、Botによる自動ログイン試行を増やしにくくする補助策です。
ただしOWASPは、CAPTCHAだけで完全に攻撃を防げるわけではなく、防御を重ねるための補助策として扱うよう案内しています。
使い方
最初からすべてのログインでCAPTCHAを要求するより、数回失敗した後だけ表示するなど、利用者の負担と防御を両立する方法もあります。
対策5.WAF・CDNでBotを手前で止める
WordPress公式は、ログイン試行のレート制限をWAF・CDN・Webサーバーなど、できるだけサーバー処理の手前で行うことを推奨しています。
防御の流れ
攻撃Bot
↓
WAF / CDNで判定・制限
↓
WordPressへ到達する要求を減らす
WordPress本体までリクエストが届く前に止められれば、PHPやデータベースの負荷を減らしやすくなります。
対策6.ログインURL変更だけに頼らない
WordPressのログインURLを変更すると、自動Botのノイズを減らせる場合があります。
しかし、WordPress公式もログインURLを隠す方法は単独の防御策にしないよう案内しています。
URL変更は補助策
URLが推測・発見されたら通常どおり攻撃できます。強力なパスワード、二段階認証、レート制限などを優先してください。
対策7.不要なアカウントを削除する
使っていない管理者アカウントが残っていると、攻撃対象を増やします。
確認すること
- 退職者の管理者アカウントが残っていないか
- テスト用アカウントが残っていないか
- 管理者権限が必要以上に付いていないか
- 共用アカウントを使っていないか
各担当者に必要最低限の権限を与え、不要になったアカウントは無効化・削除します。
対策8.WordPressを最新状態に保つ
ブルートフォース攻撃自体はパスワード推測ですが、侵入後の被害拡大や別の脆弱性攻撃に備えるため、WordPress本体・テーマ・プラグインを更新します。
更新と認証対策は別物
最新版に更新しても弱いパスワードならブルートフォースの危険は残ります。逆に、強いパスワードでも古いプラグインに脆弱性があれば別経路から侵入される可能性があります。
SSHのブルートフォース対策
VPSでSSHを公開している場合も、22番ポートなどへ自動ログイン試行が来ることがあります。
VPSで優先する対策
- 公開鍵認証を使う
- 不要なパスワードログインを無効化する
- rootの直接ログインを制限する
- 必要ならアクセス元IPを制限する
- ファイアウォールを設定する
- 認証ログを監視する
ポート番号変更だけでは不十分
SSHを22番以外へ変更すると自動スキャンの量が減る場合がありますが、本質的な認証強化ではありません。公開鍵認証やアクセス制限を優先してください。
メールアカウントの対策
Webサイトだけでなく、SMTP・IMAP・Webメールなどの認証もブルートフォース対象になり得ます。
メールで最低限やること
- 他サービスと異なるパスワードを使う
- 長いパスワードを使う
- 対応していれば二段階認証を有効にする
- 不要アカウントを削除する
- 不審なログイン通知を確認する
攻撃されているか確認する方法
大量のログイン失敗がある場合、サーバーログやセキュリティ機能のログを確認します。
確認例
- 短時間に大量のログイン失敗
- 同一アカウントへの繰り返し試行
- 多数IPから同じログイン画面へのアクセス
- 深夜帯など通常と異なるログイン
- 見覚えのない成功ログイン
IPアドレスだけで判断しない
攻撃はBotnetや多数のIPへ分散される場合があります。1IPをブロックすれば終わるとは限りません。
見覚えのないログイン成功があったら?
攻撃成功の可能性がある場合は、単にIPをブロックするだけでは不十分です。
管理者権限を奪われた場合は、認証情報変更だけでなく、改ざんやマルウェア設置がないかまで確認します。
IP制限は有効?
管理者が決まった場所からしかログインしないサイトでは、管理画面やSSHを特定IPからだけ許可する方法が強力です。
社内固定IPのみ
有効度:高い
管理画面へ到達できる送信元を大幅に限定できます。
外出先・スマホから管理
使いやすさ:低い
IPが変わるため運用が難しくなる場合があります。
IP制限は強力ですが、利用形態に合わないと正規管理者まで締め出すため、二段階認証などと使い分けます。
Basic認証を重ねる方法
管理画面の前段にBasic認証など別の認証層を追加する方法もあります。
WordPress公式のハードニングガイドでも、wp-admin周辺をサーバー側認証で保護する方法が紹介されています。
設定ミスに注意
WordPressの一部機能が管理画面配下の処理へアクセスするため、単純にディレクトリ全体を制限すると機能が壊れる場合があります。利用する場合はホスティング会社やWordPress公式手順を確認してください。
WAFだけで防げる?
WAFは有効な防御層ですが、単独で完全に防げるとは限りません。
ブルートフォース対策は、認証とBot対策を複数組み合わせるのが基本です。
固有パスワード + MFA + レート制限 + WAF/CDN + 監視
どれか1つだけではなく、突破されても次の防御が残る多層防御にします。
共用レンタルサーバー利用者が最低限やること
初心者向け最低限
- 管理者パスワードを長く固有にする
- レンタルサーバー管理画面の二段階認証を有効にする
- WordPressにも二段階認証を検討する
- サーバー標準WAF・Bot対策を確認する
- ログイン試行回数制限を利用する
- WordPress・プラグインを更新する
- バックアップを確認する
自分で高度な防御を組む必要はない
共用レンタルサーバーでは、WAF・Bot対策・アクセス制限などを事業者が機能として提供している場合があります。まず標準機能を確認してください。
会社サイトで追加したい対策
会社サイト
- 管理者ごとに個別アカウントを使う
- 退職者アカウントを即時停止する
- 管理者全員へMFAを必須化する
- ログイン通知・監査ログを有効にする
- 重要サイトではIP制限も検討する
- 侵害時の連絡先・復旧手順を決める
パスワードを強くするだけではなく、アカウント管理の運用まで整えることが重要です。
よくある間違った対策
避けたい考え方
- ログインURLを変えたから安全だと思う
- パスワードを毎月変更すれば十分だと思う
- 記号を1文字追加しただけで強いと思う
- WAFだけで認証攻撃を完全に防げると思う
- 1IPをブロックすれば攻撃が終わると思う
- SSHポートを変更すれば安全だと思う
- 二段階認証があるからパスワードを使い回してよいと思う
教科書判定
初心者は「固有パスワード・二段階認証・試行回数制限」の3つを最優先
WordPressやレンタルサーバーの管理画面では、まず他サービスと使い回さない長いパスワードを設定し、二段階認証を有効にしてください。
次に、ログイン試行回数制限、サーバー標準WAF・Bot対策、ログ監視を追加します。ログインURL変更やCAPTCHAだけに頼るのは避けます。
VPSのSSHでは、パスワード認証より公開鍵認証を優先し、可能ならアクセス元IP制限も組み合わせます。
FAQ
Q. ブルートフォース攻撃はWordPressだけの問題ですか?
A. いいえ。ID・パスワードでログインするWebアプリ、SSH、メールなど幅広い認証機能が対象になります。
Q. パスワードを長くすれば完全に防げますか?
A. リスクは大きく下げられますが、完全ではありません。二段階認証やレート制限などを組み合わせることが重要です。
Q. WordPressのログインURLを変更すれば安全ですか?
A. 自動Botのノイズを減らせる場合はありますが、単独では十分ではありません。パスワード・MFA・ログイン試行制限を優先してください。
Q. CAPTCHAだけでブルートフォース攻撃を止められますか?
A. 完全には止められません。OWASPもCAPTCHAを補助的な多層防御として位置付けています。
Q. 攻撃されているログを見つけたらどうすればよいですか?
A. 失敗ログだけなら認証強化・レート制限・WAF等を確認します。見覚えのないログイン成功がある場合は、パスワード変更だけでなくアカウント・ファイル・WordPressの改ざん有無まで確認してください。
まとめ
ブルートフォース攻撃は「何度も試せる状態」を多層防御で止める
- 多数のパスワード候補を試す総当たり攻撃
- WordPress・SSH・メールなどが対象になる
- 失敗しても大量試行で負荷が上がる場合がある
- 長く固有のパスワードを使う
- 二段階認証・MFAを有効にする
- ログイン試行回数を制限する
- CAPTCHAは補助策として利用する
- WAF・CDNでBotを手前から減らす
- SSHでは公開鍵認証を優先する
- ログインURL変更だけに頼らない
次に読む
「パスワードリスト攻撃とは?ブルートフォースとの違い」「ログイン試行回数制限とは?不正ログイン対策を解説」「IP制限とは?アクセス制限の仕組みを解説」「WordPressのログインURLを変更する必要はある?」もあわせて確認してください。