WordPressはシェア率の高いオープンソースのソフトウェアであるがゆえに、セキュリティが脆弱だと言われることがあります。ただ、実際のところはWordPress以外のCMSが自社のCMSを普及させたいがための「ウリ文句」であることは、WordPressに長く携わっている人たち界隈では常識だったりします。

とは言え、どのようなサービスを利用するとしても、セキュリティ対策をきっちりやっておくことは大切です。ログインIDやパスワードが類推されやすいものであれば、どんな強固なCMSであっても、悪質なアクセスや改ざんに遭う可能性は高まります。

では、どのように対策するか。数多くのセキュリティ対策がありますが、まずはWordPressを使い始めて間もない方でも扱いやすく、セキュリティ対策が簡単にできるプラグインを紹介します。「SiteGuard WP Plugin」は数多く存在するセキュリティ系のWordPressプラグインの機能を集合させ、良いとこ取りしたようなプラグインです。しかも、国産なので安心して使えるでしょう。

「SiteGuard WP Plugin」とは

SiteGuard WP Pluginの概要は以下の通りです。

  • 国産プラグインなので各説明が日本語
  • ログインページのURLを変更できる
  • ログイン時に画像認証機能を追加できる
  • 設定した回数を失敗すると発動するログインロック機能を実装できる
  • ログインがあるとメールで通知される機能を設定可能
  • ログイン履歴を一覧で確認できる

WordPressの管理画面やログイン画面に対する不正なアクセスを阻止できるプラグインです。具体的には、ブルートフォースアタックをはじめとする、外部からの不正なログインに対して大きく効果を発揮します。プラグインを導入することで、ログイン画面のURLが変更され、ログイン画面に画像認証機能やログインに一定回数間違って入力するとロックされる機能が実装できます。

ブルートフォースアタックとは、別名総当たり攻撃と呼ばれ、パスワードになり得る無数の文字の組み合わせなどを全て試し、ログインを試みる原始的な攻撃方法です。

また、SiteGuard WP Pluginは株式会社ジェイピー・セキュアという日本企業によって開発されているので、日本語で設定できることも特徴です。5年ほど前から配布が始まったこのプラグインですが、2019年7月現在でも最終更新が2ヶ月前になっていることからも、導入後のメンテナンスも心配はいらなさそうですね。

「SiteGuard WP Plugin」のインストール

管理画面から「SiteGuard WP Plugin」を検索してインストールするか、下記のボタンからもダウンロード可能です。wp-content/pluginsディレクトリにインストールした後、管理画面から有効化してください。

SiteGuard WP Plugin

プラグインをインストールし有効化すると、すぐにログイン画面のURLが変更されます。下記のように表示されるので、「新しいログインページURL」をクリックし、新しいURLをメモしておきます。もちろん後から任意のURLに変更可能です。

WordPressのログイン画面はデフォルトでは「https://ドメイン/wp-admin」と決まっています。
つまり、WordPressのサイトであれば、「/wp-admin」とURLの後ろにつけるだけで誰でも簡単にログイン画面にアクセス可能ということです。これでは、ブルートフォースアタックなどで時間をかけられれば、不正にアクセスされる危険性が大いにあります。まずはログインページのURLを変更することで、サイト管理画面の玄関口であるログイン画面にすらアクセスしにくくするわけですね。

一度ログアウトし、ログイン画面のURLが変更されているか確認してみましょう。デフォルトの設定のままであれば、下記のようにログイン画面下部に画像認証機能が追加されているはずです。

この機能で、日本語の読めない外国人やロボットによる不正アクセスは困難になりますね。

「SiteGuard WP Plugin」の基本設定

管理画面左側に「SiteGuard」と表示されているので、こちらをクリックして設定していきます。

こちらの画面から、それぞれの項目のON/OFFが可能です。緑のチェックマークがついている項目が現在有効化されている機能になります。

以下でそれぞれの項目を説明していきます。デフォルトでほとんどの機能がONになっているので、加えて下記の「管理ページアクセス制限」をONに設定すれば基本的な機能は有効化されます。

管理ページアクセス制限

こちらの設定をONにすると、ログインしていないユーザーが管理画面内にアクセスしようとしても、404ページが表示されます。外部から操作をする必要がある場合は、「/wp-admin/」以降のパスを入力し、機能の対象外のディレクトリを設定可能です。

ログインページ変更

こちらでログインページのURLを任意に変更できます。表示されている新しいログインページのURLをブックマーク、メモしておいてください。

画像認証

画像認証に表示される文字を変更できますが、基本的に日本人しか読み書きのできないひらがなが、もっとも効果的にセキュリティを向上させるでしょう。

ログイン詳細エラーメッセージの無効化

通常はログインできなかった場合、ユーザー名かパスワードのどちらが間違いなのかが、エラーメッセージによって判明します。しかし、この機能をONにしておくことで、何を間違えていても同様のメッセージが表示されるわけです。ユーザー名やパスワードの特定を防ぎます。

ログインロック

何秒間の間に何回ログインできなければ、どれぐらいの時間ロックさせるかを細かく設定できます。不正アクセスは人間の手だけではなく、プログラムを利用して、機械的に何百回と攻撃させる場合も珍しくありません。そのような場合を想定して、任意に設定すると良いでしょう。

ログインアラート

不正なログイン、正常なログインに限らず、ログインがあると、メールでお知らせしてくれる機能です。身に覚えのないログインが通知された場合は、パスワードを変更するなどの対策をとったほうが良いでしょう。

フェールワンス

デフォルトではOFFになっているこちらの機能ですが、ONにすると正しいログイン情報を入力しても1回目ではログインできなくなります。リスト攻撃と呼ばれる攻撃を受けにくくする機能です。むろん、自らログインする際も必ず2回パスワードを入力しなければなりませんが、煩わしくなければ、ONにしておく方がセキュリティレベルとしては高くなるでしょう。

リスト攻撃とは、第三者が何かしらの方法で入手した顧客データやパスワードリストを元に、順番に入力してログインを試みるという攻撃です。

XMLRPC防御

ピンバック機能を無効化する機能です。この機能を逆手にとり、大量の処理要求を送ることで、サーバーをダウンさせるという悪質な攻撃を防ぐためにあります。ピンバック機能かXMLRPCを無効にするかを選択できますが、XMLRPCを無効にすると他のプラグインやアプリに支障が出る場合があるので、ピンバック無効化にチェックを入れておきましょう。

ピンバック機能とは、WordPressに標準で用意されている機能で、ブログなどで別サイトのリンクを記載した際にリンク先に通知される機能です。

更新通知

WordPress、テーマ、プラグインのそれぞれで更新が必要な場合に、通知してくれる機能です。セキュリティを考える上で、常に最新の状態に保っておきたいものです。こちらで通知を受け取れば、古い状態のままになることはありません。

WAFチューニングサポート

こちらに関しては、サーバーにWAF (SiteGuard Lite)を導入されている場合にのみONにする機能ですので、導入していない場合には、OFFにしておいて問題ありません。

詳細設定

IPアドレスの設定方法を選択できますが、基本的にデフォルトの「リモートアドレス」のままで問題ありません。

ログイン履歴

上記のように、いつ、どのIPアドレスから、どんなユーザー名でログインされたかを一覧で確認することができます。ここで見覚えの無いユーザー名やIPアドレスが確認できれば、すぐに対策できるということですね。

さらにセキュリティを向上させたいなら

「SiteGuard WP Plugin」だけでも十分なセキュリティ対策ができますが、さらに強度を高めたい場合はこちらの方法があります。よろしければご参考ください。

まとめ

細かく設定が可能ですが、基本的に有効化するとデフォルトの状態でほとんど機能しますので、「管理ページアクセス制限」のみをONに設定するだけで、あなたのサイトのセキュリティレベルを高めてくれます。

個人ブロガーの方はもちろん、WordPressのサイトが事業の一端を担っている方にとっては、不正アクセスによってもたらされるリスクは死活問題に直結します。WEB上で事業を展開することは、常に不正なアクセスや改ざんと隣り合わせともいえますので、まずは、簡単な対策として「SiteGuard WP Plugin」を導入してみてはいかがでしょうか。