
「SiteGuard WP Plugin」は、WordPress(ワードプレス)のセキュリティを高めるための機能が備わっています。
ログインページに既存のもの(ユーザー名・パスワード入力)とは別の認証方法を追加したり、また、ログイン URL そのものを変更することもできるため、第三者からの不正アクセスを防ぐためにも最低限導入しておきたいプラグインです。
この記事では「SiteGuard WP Plugin」を有効化したあとの、プラグインの機能や使い方について解説していきます。
プラグインのインストール方法については↓コチラの記事をご確認ください。
ダッシュボードで設定状況一覧を確認

「SiteGuard WP Plugin」を有効化したあとは、管理画面左のメニューに専用の項目が追加されます。

表示されている「SiteGuard」または「ダッシュボード」をクリックすることで、設定可能な項目と、現在の設定状況を確認することができます。

緑色のチェックが入っている機能は ON の設定、それ以外は OFF の設定になっており、この画面から全体の状況が確認できます。
設定変更する場合は、機能名(青字の部分)をクリックすることで個別の詳細ページに入りますので、そこから各機能の ON / OFF を行っていきましょう。
管理ページアクセス制限

「SiteGuard WP Plugin」は、各機能の詳細ページ内に説明ページへのリンクが貼られていますので、初めて使う機能で分からないものがあれば、公式ページの解説を確認しておきましょう。
「管理ページアクセス制限」は、接続している「IP アドレス」を参照して「/wp-admin/」からのアクセスに制限をかける機能です。
この機能を ON にすると、ログインしていない(したことがない) IP アドレスから「/wp-admin/」へアクセスがあった場合に「404 Not Found」を返すことでアクセスをブロックします。
また同時に「/wp-admin/」にアクセス→リダイレクト→ログインページ表示という流れもブロックできるため、次に紹介する「ログインページ変更」の機能と合わせて使うことを前提に、基本的には ON にすることを推奨します。
初心者にとっては難しい部分でもあるため、WordPress(ワードプレス)の管理画面へのログイン方法やアクセス URL の違いなど、基本的な知識について不安がある方は↓コチラの記事をご確認ください。
→ワードプレスの基本知識~管理画面とログイン方法~
【重要】ログインページ変更※有効化後は必ず確認!

WordPress(ワードプレス)のログインページ URL は「サイト URL + /wp-login.php」となっているため、この知識さえあれば、誰でも簡単にログインページにアクセスできます。
しかし、ログインページ変更の機能を使うことで「/wp-login.php」の部分を自分の好きな文字列に変更できるため、変更後のログイン URL を知らない第三者は、ログインページに辿り着くことが難しくなります。
つまり「ユーザー名」や「パスワード」を入力する前の段階でアクセスをブロックできるため、結果的に不正アクセスのための攻撃機会を減らすことができる…ということになります。
強力な防御方法のひとつですが、注意点としては、既存の「/wp-login.php」からはログインできなくなるため、変更後の URL を忘れた場合は、管理者である自分自身もサイトにログインできなくなる可能性があることです。
「SiteGuard WP Plugin」を有効化した時点で「ログインページ変更」の機能が ON になっているため、必ずデフォルトの設定(URL)を確認すること、必要に応じて URL を変更(好きな URL を設定)することを徹底しましょう。
変更後の URL はメモしておき、ログインページはブックマーク登録しておくと安心です。
また、オプション設定にある「管理画面からログイン画面にリダイレクトしない」にもチェックを入れておきましょう。
「管理ページアクセス制限」でも解説をしましたが、管理画面アクセス→リダイレクト→ログインページ表示という流れになることで、ログインページの URL を変更している場合でもリダイレクトによってログインページにアクセスされる危険があるため、この機能を ON に設定しておくことも重要な対策となります。
画像認証

ログインページに画像認証を追加します。
通常は「ユーザー名」「パスワード」の2つだけですが、画像認証の機能を ON にすることで、ここで設定した「ひらがな」または「英数字」の入力による認証を追加できます。

この機能はプログラムによる不正アクセス(ブルートフォース攻撃)などへの対策として効果を発揮しますので、デフォルトの ON のままで設定しておきましょう。
英数字よりも日本語(ひらがな)の方がセキュリティ効果が高いと思いますので、ここはひらがなに設定しておいた方が良さそうです。
ログイン詳細エラーメッセージの無効化

ログインページでログインに失敗した際に表示する、エラーメッセージに関する設定です。
少しややこしいですが…
機能を ON (有効)→詳細エラーメッセージを無効化する
機能を OFF(無効)→詳細エラーメッセージを表示する
となります。
詳細エラーメッセージを表示すると、例えば「ユーザー名」を間違えた場合はユーザー名、「パスワード」を間違えた場合にはパスワードが間違っていることを伝えてくれるため、第三者の不正アクセスを手助けしてしまうことにも繋がりかねません。
機能を ON (有効)にすることで詳細メッセージを表示させず、単一のメッセージでログインに失敗したことだけを伝えるようになります。
ログインロック

規定回数を超えるログインの失敗を検出した場合に、その接続元からのログイン操作をブロックする機能を設定できます。
「ひとつの接続元」から「短時間」に「連続してログイン操作を行う」ことが条件となりますが、人間の手ではない、機械的なログイン試行に対して有効な機能です。
ロック時間を設定することで不正アクセスの試行回数を大幅に減らすことができるため、ここもデフォルトの ON のまま運用していきましょう。
ログインアラート

サイトにログインしたときに、設定されているメールアドレスにログイン通知を行う機能です。
デフォルトでは有効(設定 ON)になっています。
第三者が不正にログインした場合、通知を受け取ることで不正ログインに気づけるため、基本的には ON のまま運用していくのが良さそうです。
フェールワンス

「フェールワンス」は、ログインページで正しい入力を行った場合でも、一度だけ失敗扱いして、同じ内容をもう一度入力させる手間を発生させることで不正アクセスを防ぐ機能です。
この機能を有効化した場合…
正しいログイン情報を入力→一度だけ失敗扱いする→規定時間内に正しい(同じ)ログイン情報を入力する→ログイン成功!
という流れでログインを成功させる必要があります。
本当に正しいログイン情報を知らない、サイト管理者以外の第三者の不正アクセス対策としては、とても効果が高いものだと考えられます。
ただし、サイト管理者にとってもログイン時の手間が増えるため、この機能を使うかどうかは各自の判断に任せられている…といった状況のようです。
デフォルトでは OFF(無効)となっていますので、もしもログインの手間が気にならなければ ON に変更してセキュリティを高めていきましょう。
XML-RPC防御

ピンバック DDoS や、XML-RPC 経由のブルートフォース攻撃を防ぐための設定を行います。
XML-RPC は、外部サービスから WordPress(ワードプレス)に対して投稿、コメント、ログイン認証などを行うための仕組みです。
XML→XML形式のデータ
RPC→Remote Procedure Call(遠隔手続き呼び出し)
一部の外部サービスと連携するために必要な仕組み(例えば外部のブログエディタを使って記事を投稿するなど)のため、「XML-RPC防御」の機能を使う場合は、環境に応じて ON / OFF を設定していく必要があります。
一部、導入しているプラグインにも影響を与える可能性があるため、デフォルトの「ピンバック無効化」から「XML-RPC無効化」に変更する場合は注意が必要です。
一応、私の環境では「XML-RPC無効化」の設定で問題ないと判断したため、そちらに変更しています。
セキュリティ的には「XML-RPC無効化」の方が効果が高いため、可能であれば変更することをおすすめします。
※「XML-RPC」は古い仕組みで、現在は「REST API」が使われているため、ほとんどの場合で「XML-RPC」は不要となります。
ユーザー名漏えい防御

「ユーザー名=ログイン ID」であるため、できれば、第三者にはユーザー名を知られないことがベストになります。
しかし、WordPress(ワードプレス)にはサイト管理者以外でも簡単にユーザー名を取得できる方法があり、対策をせずにそのまま放置するのはかなり危険です。
そこで「ユーザー名漏えい防御」の機能を活用していきます。
この機能を ON にすることで、特定の方法でユーザー名を取得することができなくなるため、セキュリティを高めることができます。
オプションの「REST API 無効化」については、WordPress(ワードプレス)本体の動作に影響を与える可能性があるため、個人的には OFF のまま使うことをおすすめします。
プラグインは除外できますが、ブロックエディタやメディアファイルなど、本体の機能にも影響がある仕組みのため、無効化するのはかなりリスクが高いと判断しました。
管理者以外がユーザー名を取得する方法や、「REST API 無効化」を使わずにユーザー名の漏えいを防ぐ方法については↓コチラの記事をご確認ください。
→未ログイン状態で /wp-json/wp/v2/users へアクセスすると 404を返す方法
更新通知

「本体」「プラグイン」「テーマ」で更新が必要な場合に、通知を受け取るかどうかを設定します。
デフォルトでは ON になっていますが、例えば頻繁に(毎日)ログインする、自動更新の設定を行っている場合などは不要になるケースもありますので、状況に応じて設定変更を行ってください。
WAFチューニングサポート

「WAF」によって正常なアクセスが遮断されてしまう場合に、除外ルールを設定することでそれを回避します。
WAF = Web Application Firewall
つまり WAF は、Webアプリケーション専用のファイアウォールのことです。
特定の文字列や操作に反応して危険と判断し、その操作を止める仕組みですが、本来であれば正常な操作も「誤検知」によってブロックされてしまう(WAF が攻撃と判断して遮断する)場合があり、そのような誤検知を「WAFチューニングサポート」の機能で防ぐことができます。
この機能を使うためには、契約しているレンタルサーバーに「JP-Secure製WAF SiteGuard Server Edition」を導入する必要があるため、デフォルトでは OFF の設定になっています。
※一部のレンタルサーバーでは無料で利用できるようですが、基本的には有料のサービスのため、私はデフォルトの OFF のままにしています。
また、契約しているレンタルサーバーによっては「WAF」の機能を標準で搭載していることもありますので「SiteGuard WP Plugin」の機能を使わずに、レンタルサーバー側の設定で対応することも検討した方が良いでしょう。
設定状況一覧(参考)
| 機能名 | 設定状況 | オプション設定その他 |
| 管理ページアクセス制限 | ON | |
| ログインページ変更 | ON | オプションも ON |
| 画像認証 | ON | ひらがなを設定 |
| エラーメッセージ無効化 | ON | |
| ログインロック | ON | デフォルト設定 |
| フェールワンス | OFF | |
| XMLRPC防御 | ON | XMLRPC無効化を選択 |
| ユーザー名漏えい防御 | ON | REST API 無効化は OFF |
| 更新通知 | ON | |
| WAFチューニングサポート | OFF | デフォルトで OFF |
私の環境的には上記の設定がベストだと判断しましたので、一応参考までに載せておきます。
まとめ
第三者の不正アクセスを防止するためのプラグイン「SiteGuard WP Plugin」について解説しました。
WordPress(ワードプレス)の機能の理解度を求められるような難しい項目も一部ありますが、基本的には各機能の働きが分かりやすく、また、設定も簡単に行えるため、初心者でも導入しやすいプラグインだと思います。
WordPress(ワードプレス)をそのままで運用していくのはリスクがありますので、セキュリティ対策プラグインとして早めに導入しておくことをおすすめします。


