WordPressの管理画面は、デフォルトでブルートフォース攻撃には対応していません。そこで、管理画面のセキュリティ強化する方法を紹介します。
最終更新日:2025-12-18 21:17
以前、放置したWordPressを久々に覗いてみたら、完全に乗っ取られていたことがありました。たいしたアクセスがあったサイトではないのですが、改めてWordPressのセキュリティ強化の重要性を知りました。
大手サイトのブログであれば、自動で対策してくれていますが、レンタルサーバーのWordPressは、自らメンテナンスをしなければなりません。
そこで今回は、管理画面のセキュリティ強化する方法をいくつか紹介します。
2013年に大規模なWordPress乗っ取り事件が問題になりました。このときは管理者ユーザー名を「admin」のままだったり、「administrator」「test」「root」など推測しやすい名前にしていたWordPressを狙って、ブルートフォース攻撃を仕掛けて乗っ取る手法が使われました。
以降対策が取られていますが、今後もなにかしらバグをついた攻撃があるかもしれません。
そこで、なるべくセキュリティを上げるべき、すぐに実行できることを紹介します。
すべておこなう必要はありませんが、複数の項目を実行しておくことでセキュリティを上げることが出来ます。
現在のWordPressでは、「管理者ユーザー名」が「admin」として自動設定されることはなくなりましたが、推測されやすい名前になっていないか確認します。
確認方法は以下。
残念ながら一度設定した「管理者ユーザー名」は変更できません。
そこで新しく管理者権限のユーザーを作成し、古いユーザーを削除します。
「ユーザーを追加」をクリック。
ログアウトするには、管理画面の右上の自分のアカウントアイコンをクリックします。
このあと新しいアカウントでログインします。
ここをクリック。
「すべてのコンテンツを以下のユーザーのものにする」にチェックを入れ、新しいアカウントを選択します。
これで古いアカウントを消すことが出来ました。
WordPressには、ユーザー名以外に「ニックネーム(必須)」をつけることが出来ます。
このニックネームは、テーマによっては記事の最後に表示される場合があるんです。
また、ニックネームを設定していない場合は、デフォルトでユーザー名と同じになっているので、必ず変更しておきましょう。
これで管理者ユーザー名が推測されることはなくなったでしょう。
これは、Wordpressの設定ではなく、レンタルサーバーのサービスの一つですが、さくらサーバーなどの大手レンタルサーバーでは、
の国外からのアクセスを禁止するサービスが用意されています。
それが「国外IPアドレスフィルター」。
ただし、制限を受けるのは管理画面のような一部のページだけで、コンテンツ自体には制限がありません。
以下のページやディレクトリが制限されます。
| 種別 | ファイル名・ディレクトリ | 用途 |
|---|---|---|
| ディレクトリ | /wp-admin/ | WordPressの管理画面ディレクトリ |
| ディレクトリ | /phpmyadmin/ | phpMyAdminディレクトリ |
| ファイル | wp-login.php | WordPressの管理画面 |
| ファイル | mt.cgi | Movable Type管理画面のログイン |
| ファイル | admin.cgi | 各種CGIの管理画面のログイン |
| ファイル | wlwmanifest.xml | WordPressの設定ファイル |
それ以外にもコメントやフォーム(wp-comments-post.php、mp-comment.cgiなど)も制限を受けます。
公式サイトによると、Googleボットなどのコンテンツ自体へのアクセスは制限しないので、SEOには影響ないようです。
弊社にて管理する国内IPアドレスリストに含まれていないIPアドレスからのアクセスを制限します。 ※Googlebot は有効化の状態でもアクセス可能です。
さくらサーバーでは、デフォルトで「有効」になっています。が、手動で有効もしくは無効にしたい場合は、サーバーコントロールパネルにログインします。
「管理画面の制限を有効にする」にチェックを入れると、WordPressやMovable Typeの管理画面への国外からのアクセスを遮断します。
以上の設定だけでもかなり強力なセキュリティを実現してくれますが、さらにプラグインで強化してみます。
最近のレンタルサーバーには、「WAF」という、Webサイトへの攻撃を防ぐ高度なガードマンのようなサービスを無料で提供しています。
WAFとは、Web Application Firewallの略で、従来のファイアーウォールがネットワークの入り口を見張るのに対し、WAFはWebサイトへの入力データの中身を見張ります。
コメントや要求するURLに不正なプログラムが紛れ込んでいないかチェックします。
Wordpressでは、プラグインなどによって強力にセキュリティを高くしても、バグなどをついた攻撃を防げない場合があります。
そんなときにWAFを有効にしていると、防げる可能性が高くなります。
WAFは、さくらサーバーやXサーバーやロリポップなど代表的なレンタルサーバーでは無料で使うことが出来ます。
以下は、さくらサーバーの場合。
有効にしたいサブドメインの「
WAFを有効にすると、ブログの記事などにとある文字が入力されていると、エラーになることがあります。
例えばフォルダパスなど。画像のパスなどがそうですね。WordPressではこのあたりはうまく動作してくれますが、エラーが出る場合はWAFを疑ってみてください。
このようなフィルターに引っかかるような文字列が含まれている場合は、一度別の文字列に変換し、サーバーサイドで元に戻す必要があります。
さくらサーバーなんかだと、WordPressには標準でインストールされている(ただし、デフォルトでは無効)「All-In-One Security (AIOS)」。
WordPressのセキュリティを高める最も人気のプラグイン。
ただし、ちょっと設定が高度でむずかしい。そこでここでは最低限、これだけ流行っておこうというものを詳しく解説。
もし、まだインストールしていない場合は、インストールしておきます。
All-in-One-Security
と入力します。
AIOS
という項目が表示されるようになります。
設定する場合はここをクリック。
日本語化されているので、なんとなくなにが出来るのかイメージがつくでしょう。
最近のWordPressは、「管理者のユーザー名」と「データベース接頭辞」はデフォルトでマスターしているはず。
ユーザー名とニックネームは変更してあるので、ここではブルートフォース攻撃対策を設定します。
ログインロックアウトとは、管理画面のログインに何度か失敗すると、そのIPアドレスを指定時間アクセス禁止する機能。
これはブロックした場合に、指定したメールアドレスに通知が届きます。
これでブルートフォース攻撃対策が出来ました。
連続して5回、ログインできないと・・・・
実際には「最大ログイン試行回数」+1でブロックされました。
ここで「ロック解除をリクエスト」をクリックすると・・・・
ここに自分のメールアドレスを入力して送信すると、解除の仕方が書かれたメールが届くらしい。
また先ほど設定した「最小ロックアウト時間」が経過すると、自動で解除されます。
が、強制的に解除するには、WordPressの管理画面のサイドメニューにある
AIOS
をクリックしてダッシュボードを開きます。
ここをクリックするか、
「推奨パーミッションを設定」をクリック。
主に「WordPressモバイルアプリ」などスマホで記事を投稿する場合に使われます。
またトラックバックなどにも使われます。
基本的に「無効」にしてしまってOK。
続いて.htaccessの設定。
また、画像などのファイルのアップロードの最大容量を10MBに制限します。
オンにしてもコンテンツなどには影響はないので、有効にしておきます。
続いて「総当たり攻撃(ブルートフォース攻撃)」です。
管理画面のURLを変更します。この設定は細心の注意を払っておこなってください。
https://example.com/wp-admin/admin.php
のようなURLになりますが、このURLの■色の部分を変更してしまうと言うわけ。
ただし、変更するのはログイン画面だけ。
正しくログインすると、/wp-admin/以下のページでアクセスできます。
②の欄に推測されにくい文字列を入力します。
ただし、設定したURLを保存しておかないと、管理画面にアクセスできなくなるので注意!
最後に③の「Save setting」をクリック。
このように拒否されてしまいます。
このときのバージョンでは満点は585点らしい。
残念ながら管理画面のURLを忘れてしまったら、管理者もログインできません。が、安心してください。
この設定は、.htaccess で行われています。
レンタルサーバーの管理ページから修正することが出来ます。
# BEGIN All In One WP Security ←ここから #AIOWPS_BASIC_HTACCESS_RULES_START .... .... #AIOWPS_BASIC_HTACCESS_RULES_END # END All In One WP Security ←ここまでを削除する
All-in-One-Securityでは、管理画面のログインに2段階認証を設けることも出来ます。
設定は他の2段階認証と同じ。
今回は、GoogleのAuthenticatorを使った設定方法を紹介します。
さっそくログアウトして、2段階認証でログインしてみます。
ここで、Authenticatorに表示された6桁の数字を入力します。
数字があっていると管理画面にログインできました。
あまりにあっけないので、適当な数字を入れてみると・・・・
ただし、場合によっては動作しなくなるスクリプトもあるので注意。
その場合は、エラー内容をChatGPTやGeminiに渡し、分析してもらってください。
ここまでの設定だけでも、かなりセキュリティは強化されました。
ただし、今までもプラグインのバグをついて乗っ取られた例もあります。
なので、放置しているブログでも時々ダッシュボードを覗いて、更新などの情報をチェックしておく必要があるでしょう。
Sponsored Link