WordPressの脆弱性が時折ニュースになります。この記事では、初心者の方でもできるWordPressのセキュリティ対策【5選】についてご紹介します。大切なサイトを守るため、すぐにできる対策を分かりやすくお伝えします。
WordPressはなぜ狙われやすいのか?
その理由は大きく分けて2つです。
- 圧倒的なシェア
- オープンソース型
2022年4月時点で、世界全体のWebサイトの実に43.0%がWordPressで制作されています。(W³Techs調査)CMS(コンテンツ管理システム)に限れば、64.2%のシェアです。WordPressそのものが脆弱であるというより、この数の多さゆえにターゲットになりやすいということです。そのため、WordPressの脆弱性に関するニュースも必然的に多くなります。
加えて、ソースコードが公開されているオープンソース型という点もあります。しかし、逆に脆弱性が発見されればすぐに対策がとられるので、対策をしていないサイトよりもよほど安全と言えます。
大切なのはふさわしいセキュリティ対策をしておくことであって、WordPress = 脆弱 とは考えないことです。
しかし、攻撃の対象になることが多いのも事実です。どうすれば、初心者の方でも簡単にセキュリティ対策をしておくことができるでしょうか。
WordPressのセキュリティ対策【5選】
【1】WordPressを最新の状態に保つ
必要性
セキュリティホールが見つかると、それを埋めるためのセキュリティーパッチが開発されます。その後、WordPressの新しいバージョンが公開されます。そのため、WordPressをいつも最新の状態に保つことは大切です。古い状態ですと、”穴が開いたまま”だからです。
対策
WordPressの最新版はダッシュボードに通知されます。それに応じて更新するようにしてください。詳しい情報は、下の記事で書いています。
WordPressを運用していると定期的にあるバージョンアップ。 WordPress本体(コア)のバージョンアップが行われると、ダッシュボードの一番上に「今すぐ更新してください」という通知が現れます。 […]
テーマやプラグインについても最新の状態に保つことが大切です。
出どころがはっきりしないものや、最終更新が何年も前のテーマやプラグインの使用には注意が必要です。最新版のWordPressでの動作が「検証済み」かどうかを、WordPress.orgで検索し確認しておくと良いでしょう。現在使用していないプラグインは、削除しておくことも対策に1つです。
【2】ログイン画面へのアクセスを制限する
必要性
WordPressに対する攻撃の多くはログイン画面からです。ログイン画面のURLはデフォルトで、https://(WebサイトのURL)/wp-login.php になっており、このままならだれでもログイン画面までアクセスできてしまいます。

対策
ログイン画面のURLを変更します。
プラグインを使用するなら簡単です。おすすめは「SiteGurad WP Plugin」です。インストール時にすぐにURLが変更されるので、新しいURLを記録するのを忘れないようにしましょう。
ログイン画面へのアクセスをIPで制限する方法もあります。
実際にそうですが、国外からの不正なアクセスが多いため、国外のIPアドレスからのアクセスを制限するという方法です。社内など、特定のIPだけを許可する設定もできます。
こちらもプラグインで設定できます。「Wordfence Security」などが対応しています。
【3】ログインの試行回数を制限する
必要性
ログイン画面にアクセスされてしまった場合、ブルートフォースアタック(総当たり攻撃)によってユーザーIDとパスワードを突破しようとします。当たるまで何度もログインを試行します。
対策
ログインロックして試行回数に制限を設けます。
正規ユーザーであれば、何度も間違えることはほとんどありません。そのため試行回数の上限を定め、それ以降はログイン試行できないようにロックします。
プラグインでは、上記の2つに加えて「All In One WP Security & Firewall」にもログインロック機能があります。
reCAPTCHAを導入する方法もあります。
画像認証を設定します。ログイン画面を突破しようとする攻撃のほとんどは、自動化されたプログラムによって行われます。ですから、画像認証など人の目による確認を加えることで、最初から攻撃を遮断します。
プラグインでは、「SiteGurad WP Plugin」や「Wordfence Security」「reCaptcha by BestWebSoft」などで導入できます。
reCaptcha by BestWebSoft導入の場合のログイン画面:

パスワード入力の下に、「私はロボットではありません」にチェックを入れるようになっています。
【4】ユーザー名やパスワードを保護する
必要性
当然のことながら、この2つが分かればすぐにログインできます。なりすましや改ざん、乗っ取りもできてしまいます。WordPressのデフォルトでユーザ名が「admin」となっており、それが「表示名」や「ニックネーム」にもなっています。これを変更していないと、ログイン時の2種類の認証の一つを公に晒しているのと同じで、大変危険です。とりわけ「admin」は管理者権限のため、ログインできれば何でもできてしまいます。
対策
安全なパスワードを使用する。
基本中の基本ですが、大文字・小文字・数字・記号を織り交ぜて8文字以上の無意味な文字列を作るようにします。他の人が推測できそうなパスワード(生年月日や電話番号、企業名や地域名など)は避けるのが賢明です。
ユーザーIDの抜き出し防止対策をする。
まず、ユーザー名と表示名は別のものに設定しておきましょう。ダッシュボードの左メニューから、ユーザー > あなたのプロフィール を選択し、ユーザー名とは異なるニックネームを考えます。表示名は、ドロップダウンからニックネームを選んでおけばOKです。
しかし、少し知識のある人なら、以下のURLからユーザーIDを抜き出すことは簡単です。
https://(WebサイトのURL)/?author=1
https://(WebサイトのURL)/wp-json/wp/v2/users
https://(WebサイトのURL)/xmlrpc.php?rsd=
例えば、/?author=1 にアクセスすれば、投稿者のアーカイブページが表示されます。変更していなければ、URLは /author/ユーザーID/ となっています。そして、このauthor=1 のユーザーは基本的に「admin」(管理者)です。
/wp-json/wp/v2/users の画面では、name( = ユーザー)と、slug( = ユーザーID) が表示されており、やはり簡単にユーザーIDを知ることができるのです。
プラグインを使用してユーザーIDを隠したり、/wp-json/wp/v2/users などREST APIやambed APIからユーザー名を調べようとするリクエストをブロックできます。「Wordfence Security」や「Edit Author Slug」などが役立ちます。
【5】設定ファイルへのアクセスを制限する
必要性
設定ファイルには、データベースに接続するための情報が含まれています。その中には、IDやパスワード情報もあるため、アクセスを制限しなければなりません。例えば、wp-config.php ファイルがあります。
対策
設定ファイルへのアクセス権限を適切に設定します。
アクセスそのものを制限することに加えて、読み込みや変更の権限(パーミッション)を適切に付与します。wp-config.phpは、デフォルトでは「644」で所有以外も内容を閲覧できる設定になっています。アクセス権限を「600」(所有者のみ読み込みや変更可能)か「400」(所有者のみ読み込み可能)にしておくことができます。
プラグインでは、「All In One WP Security & Firewall」が設定しやすいでしょう。
その他
サーバー側でのセキュリティー対策
人気のレンタルサーバーの多くは、セキュリティに関する設定ができます。例えば、以下のような設定です。
- 2段階認証の設定
- 国外IPアドレスからのアクセス遮断
- Web用ファイヤウォール(WAF:Web Application Firewall)の設定
- コメントやトラックバックの制限設定
- ログイン試行回数の設定
こうした対策のできる代表的なレンタルサーバーをいくつかご紹介します。
- XSERVER(エックスサーバー)
- ConoHa WING(コノハウィング)
- mixhost(ミックスホスト)
- StarServer(スターサバー)
- LOLIPOP!(ロリポップ!)
- さくらインターネット
対応項目はレンタルサーバーによって異なりますので、ご自身がお使いのサーバーでの情報をご確認ください。
プラグインとの重複に注意
上述の通り、プラグインでもサーバー側でも設定できる項目があります。しかし、重複して設定すると不具合が起きるものもあります。たくさんのプラグインを使用すれば、サーバー容量に負荷がかかりますし、表示速度も遅くなります。
ご自身のサイトの必要に合ったセキュリティ設定を心掛けるようにしましょう。
バックアップを取っておく
100%のセキュリティ対策は存在しないでしょう。ですから、定期的なバックアップは大切です。最近ではサーバー側で自動バックアップを取ってくれるものが増えています。もしもの時に備えて確認しておきましょう。
WordPress Codexの情報
WordPress Codex 日本語版を見ると、セキュリティに関する情報が得られます。以下のリンクから、一度確認されることをお勧めいたします。
WordPress ではセキュリティを非常に重要なものと考えています。しかし、他のどんなシステムでも同様ですが、基本的なセキュリティ対策がなされていない場合には問題が発生する可能性はあります。このページでは、よくある脆弱性について、そして WordPress を安全に保つためにできることを紹介します。
引用元:WordPress Codex 日本語版「WordPress の安全性を高める」
まとめ

いかがでしたか。この記事では、初心者の方でも簡単にできるWordPressのセキュリティ対策【5選】について書いてきました。ほとんどはプラグイン導入で対応できるものでした。
ポイントは以下の5つです。
- WordPressを最新の状態に保つ
- ログイン画面へのアクセスを制限する
- ログインの試行回数を制限する
- ユーザー名やパスワードを保護する
- 設定ファイルへのアクセスを制限する
この記事が少しでも皆様のお役に立つことを願っています。今回もお付き合いいただき、ありがとうございました。