WordPressの管理画面のセキュリティ強化

WordPressの管理画面は、デフォルトでブルートフォース攻撃には対応していません。そこで、管理画面のセキュリティ強化する方法を紹介します。

当サイトトップへ移動 HOME 当サイトについて About this site Mail Mail

WordPressの管理画面のセキュリティ強化

最終更新日 2025-12-18 21:17:21

twitter Facebook はてブ LINE pocet

 

以前、放置したWordPressを久々に覗いてみたら、完全に乗っ取られていたことがありました。たいしたアクセスがあったサイトではないのですが、改めてWordPressのセキュリティ強化の重要性を知りました。
大手サイトのブログであれば、自動で対策してくれていますが、レンタルサーバーのWordPressは、自らメンテナンスをしなければなりません。
そこで今回は、管理画面のセキュリティ強化する方法をいくつか紹介します。

目次

WordPressのログイン画面のセキュリティ強化

2013年の大規模WordPress乗っ取り事件

2013年に大規模なWordPress乗っ取り事件が問題になりました。このときは管理者ユーザー名を「admin」のままだったり、「administrator」「test」「root」など推測しやすい名前にしていたWordPressを狙って、ブルートフォース攻撃を仕掛けて乗っ取る手法が使われました。
以降対策が取られていますが、今後もなにかしらバグをついた攻撃があるかもしれません。

そこで、なるべくセキュリティを上げるべき、すぐに実行できることを紹介します。
すべておこなう必要はありませんが、複数の項目を実行しておくことでセキュリティを上げることが出来ます。

管理者名の確認

現在のWordPressでは、「管理者ユーザー名」が「admin」として自動設定されることはなくなりましたが、推測されやすい名前になっていないか確認します。
確認方法は以下。

ユーザー一覧管理画面にログインしたら、左のメニューにある「ユーザー」を開き、「ユーザー一覧」をクリック。

ユーザー名を確認ここの「ユーザー名」が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 は有効化の状態でもアクセス可能です。

国外IPアドレスフィルターを有効にする

さくらサーバーでは、デフォルトで「有効」になっています。が、手動で有効もしくは無効にしたい場合は、サーバーコントロールパネルにログインします。

セキュリティを開く左のメニューから「セキュリティ」を開きます。

国外IPアドレスフィルター「国外IPアドレスフィルター」をクリックします。

アクセス対象設定「アクセス制限設定」を「有効」になっているか確認します。

「管理画面の制限を有効にする」にチェックを入れると、WordPressやMovable Typeの管理画面への国外からのアクセスを遮断します。

保存するをクリック最後に「保存する」をクリックすれば完了。

以上の設定だけでもかなり強力なセキュリティを実現してくれますが、さらにプラグインで強化してみます。

WAFを有効にする

最近のレンタルサーバーには、「WAFワフ」という、Webサイトへの攻撃を防ぐ高度なガードマンのようなサービスを無料で提供しています。

WAFとは?

WAFとは、Web Application Firewallの略で、従来のファイアーウォールがネットワークの入り口を見張るのに対し、WAFはWebサイトへの入力データの中身を見張ります。
コメントや要求するURLに不正なプログラムが紛れ込んでいないかチェックします。

WAFのログこれはかなり強力。私のサイトでも毎日ものすごい数の攻撃を受けていますが、強力に防いでいます。

Wordpressでは、プラグインなどによって強力にセキュリティを高くしても、バグなどをついた攻撃を防げない場合があります。

そんなときにWAFを有効にしていると、防げる可能性が高くなります。

WAFは、さくらサーバーやXサーバーやロリポップなど代表的なレンタルサーバーでは無料で使うことが出来ます。
以下は、さくらサーバーの場合。

さくらのレンタルサーバーの管理画面のセキュリティを開くさくらサーバーにログインし、「セキュリティ」を開きます。

WAF設定ドメイン「WAF設定ドメイン」をクリック。

WAFを有効にするWAFはサブドメインごとに設定します。
有効にしたいサブドメインの「設定設定」をクリックします。

利用するにチェック「利用する」にチェックを入れ、「保存する」をクリックします。

WAFの注意点

WAFを有効にすると、ブログの記事などにとある文字が入力されていると、エラーになることがあります。
例えばフォルダパスなど。画像のパスなどがそうですね。WordPressではこのあたりはうまく動作してくれますが、エラーが出る場合はWAFを疑ってみてください。

このようなフィルターに引っかかるような文字列が含まれている場合は、一度別の文字列に変換し、サーバーサイドで元に戻す必要があります。

プラグインで乗っ取りを防ぐ

All-In-One Security (AIOS)のインストールと有効化

さくらサーバーなんかだと、WordPressには標準でインストールされている(ただし、デフォルトでは無効)「All-In-One Security (AIOS)」。
WordPressのセキュリティを高める最も人気のプラグイン。
ただし、ちょっと設定が高度でむずかしい。そこでここでは最低限、これだけ流行っておこうというものを詳しく解説。

もし、まだインストールしていない場合は、インストールしておきます。

プラグインを開くWordPressの管理画面を開き、メニューから「プラグイン」をクリックし、「インストール済みプラグイン」を開きます。

プラグインを追加をクリック「プラグインを追加」をクリック。

All-in-One-Securityと検索「プラグインの検索」に

All-in-One-Security

と入力します。

今すぐインストール「今すぐインストール」をクリック。

有効化をくりっく「有効化」をクリックします。

All-In-One Securityの設定

メニューのAIOSをクリックAll-in-One-Securityのプラグインを有効化すると、左のメニューに、

AIOS

という項目が表示されるようになります。
設定する場合はここをクリック。

サイドメニューが表示されるすると、サイドメニューが表示されました。
日本語化されているので、なんとなくなにが出来るのかイメージがつくでしょう。

強度現時点のセキュリティ強度は30点。

重要な機能のステータスなにが出来ていて、なにが出来ていないか、の一覧も表示されていました。

最近のWordPressは、「管理者のユーザー名」と「データベース接頭辞」はデフォルトでマスターしているはず。

ユーザーセキュリティ

ユーザー名とニックネームは変更してあるので、ここではブルートフォース攻撃対策を設定します。

ユーザーセキュリティを開く①AIOSを開き、②「ユーザーセキュリティ」を開きます。

ログインロックアウトログインロックアウト」タブを開きます。

ログインロックアウトとは、管理画面のログインに何度か失敗すると、そのIPアドレスを指定時間アクセス禁止する機能。

ログインロックダウン機能を有効化ログインロックダウン機能を有効化」をオンにします。

回数の設定管理画面にログインするときに、パスワードを間違えた場合の回数を指定した値をオーバーした場合に、該当のIPアドレスをブロックします。

メールで通知あと設定しておきたいのは、「メールで通知」。
これはブロックした場合に、指定したメールアドレスに通知が届きます。

最後に設定を保存をクリック最後に「設定を保存」をクリックして保存します。
これでブルートフォース攻撃対策が出来ました。

実際にブロックされるか試してみた

適当なユーザー名とパスワード設定を保存したあと、適当なユーザー名とパスワードでログインしてみました。

連続して5回、ログインできないと・・・・

ブロックされたほんとうにブロックされました。
実際には「最大ログイン試行回数」+1でブロックされました。

ここで「ロック解除をリクエスト」をクリックすると・・・・

ロック解除リクエストを送信このようなメールアドレスの入力欄が表示されました。
ここに自分のメールアドレスを入力して送信すると、解除の仕方が書かれたメールが届くらしい。

また先ほど設定した「最小ロックアウト時間」が経過すると、自動で解除されます。

メールが届いたまた、管理者宛にブロックしたユーザーがいたことを通知するメールも届きました。

ロックアウトの解除

メニューのAIOSをクリック先ほど設定した「最小ロックアウト時間」が経過すると、自動的にブロックは解除されます。
が、強制的に解除するには、WordPressの管理画面のサイドメニューにある

AIOS

をクリックしてダッシュボードを開きます。

ロックアウトしたIPアドレス「ロックアウトしたIPアドレス」タブを開きます。

ロックされたIPアドレス誰かをブロックすると、このようにIPアドレスや、入力したユーザー名、どうしてブロックされたか・・・・などが表示されます。

ロック解除をクリック解除したいIPアドレス付近にマウスカーソルを持っていくと、このような「ロック解除」というリンクが表示されます。
ここをクリックするか、

ロック解除複数まとめてロック解除することも出来ます。

ファイルのセキュリティ

ファイルのセキュリティをクリック次は「ファイルのセキュリティ」を開きます。

まだ0点まだ現時点では20点中、0点です。

推奨パーミッションを設定一番下の「wp-config.php」のパーミッションが、0604なので、0640に変更します。

推奨パーミッションを設定」をクリック。

満点になった20点になりました。これだけで、「ファイルのセキュリティ」は設定完了。

点数が上がった点数が上がりました。

ファイアウォール

ファイアウォール続いて「ファイアウォール」。

PHPルールのセキュリティ強化まずは「PHPルール」タブの「セキュリティ強化」。

XML-RPCXML-RPC」とは、外部のアプリケーションやサービスと通信するための(RPC)プロトコル。
主に「WordPressモバイルアプリ」などスマホで記事を投稿する場合に使われます。

またトラックバックなどにも使われます。
基本的に「無効」にしてしまってOK。

基本ファイアウォール設定を保存をクリック右下の「基本ファイアウォール設定」をクリックして保存します。

15点になった得点が上がりました。

.htaccess rules

続いて.htaccessの設定。

.htaccess rules.htaccess rules」タブを開きます。

.htaccessのファイアウォールを有効にする必須というわけでもありませんが、Apacheのバージョンなどを隠すので、クラッカーに狙われにくくなります。

また、画像などのファイルのアップロードの最大容量を10MBに制限します。

オンにしてもコンテンツなどには影響はないので、有効にしておきます。

Save .htaccess firewall settings右下にある「Save .htaccess firewall settings」のボタンをクリックして保存します。

総当たり攻撃

続いて「総当たり攻撃(ブルートフォース攻撃)」です。

ログインページの名前変更

管理画面のURLを変更します。この設定は細心の注意を払っておこなってください。

総当たり攻撃をクリック管理画面のメニューから「総当たり攻撃」を開きます。

ログインページの名称を変更WordPressの管理画面のURLは、

https://example.com/wp-admin/admin.php

のようなURLになりますが、このURLの■色の部分を変更してしまうと言うわけ。

ただし、変更するのはログイン画面だけ。
正しくログインすると、/wp-admin/以下のページでアクセスできます。

推測されにくい文字列を入力ログインページの名前変更機能を有効化」をオンにし、

②の欄に推測されにくい文字列を入力します。
ただし、設定したURLを保存しておかないと、管理画面にアクセスできなくなるので注意!

最後に③の「Save setting」をクリック。

アクセスする権限がありませんログアウトして古い管理画面のURLにアクセスしようとすると・・・・
このように拒否されてしまいます。

110点この時点での強度は、110点でした。
このときのバージョンでは満点は585点らしい。

管理画面のURLを忘れてしまったら

残念ながら管理画面の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要素認証を開く「AIOS」の「2要素認証」を開きます。

有効化の方にチェック2要素認証の有効化」の部分の「有効化」にチェックを入れ、「変更を保存」をクリックします。

QRコードをスキャン下にスクロールすると、QRコードが用意されています。

AuthenticatorAuthenticatorを起動します。

画面下のプラスをタップ画面右下にあるプラスのアイコンをタップします。

QRコードをスキャンをタップ「QRコードをスキャン」をタップします。

カメラが立ち上がるカメラが立ち上がるので、先ほどのQRコードをフレームの中に入れます。

追加された追加されました。

2段階認証でログインしてみる

さっそくログアウトして、2段階認証でログインしてみます。

One Time PasswordIDとパスワードを入力し送信すると、このような「One Time Password」というページが表示されました。
ここで、Authenticatorに表示された6桁の数字を入力します。

数字があっていると管理画面にログインできました。
あまりにあっけないので、適当な数字を入れてみると・・・・

ワンタイムパスワードエラーこのようにエラーが表示されてしまいました。

130点になったセキュリティ強度メーターは、130点まで上がりました。

WordPress本体やプラグインの更新

自動更新を有効化最も危険なのは、WordPressやプラグインのバグをついた攻撃。なので、「自動更新」をオンにしておき、不要なプラグインは「無効」にしておきましょう。

使っていないプラグインの削除使用していないプラグインは、この際削除しておきましょう。

PHPやPerlのアップグレード

PHPのバージョンそれ以外にもPHPなどのアップグレードもチェックしておく必要があります。プラグインやWordPressの本体では、最新のPHPでないと動作しないものもあります。

最新のPHPにアップグレードする最新のPHPにアップグレードします。
ただし、場合によっては動作しなくなるスクリプトもあるので注意。

その場合は、エラー内容をChatGPTやGeminiに渡し、分析してもらってください。

まとめ

ここまでの設定だけでも、かなりセキュリティは強化されました。
ただし、今までもプラグインのバグをついて乗っ取られた例もあります。
なので、放置しているブログでも時々ダッシュボードを覗いて、更新などの情報をチェックしておく必要があるでしょう。

関連ページ

最終更新日 2025-12-18 21:17:21

 

twitter Facebook はてブ LINE pocet

Sponsord Link

 

最終更新日 2025-12-18 21:17:21 / 投稿日:2025-12-18 21:17:21 | このページのトップへ | コメントを書く | 管理

カテゴリー

同じカテゴリーの記事