SiteGuard WP PluginはWordPressのセキュリティーを高めるプラグインです。
SiteGuard WP Pluginでは、WordPressで共通したログインページの変更、また、画像認証やログインアラートシステム等の様々なセキュリティ対策を導入することができます。
このプラグイン1つでかなりのセキュリティ強化を期待できることから、運用するサイト・ブログにセキュリティ対策を実施したい方は導入しておきましょう。
このページではSiteGuard WP Pluginのインストール手順から設定方法を解説しています。
SiteGuard WP Pluginとは
SiteGuard WP Pluginには以下のようなセキュリティ機能が存在します。
- 管理ページアクセス制限(管理ページの保護)
- ログインページ変更(ログインページを任意の数字にする)
- 画像認証(画像による認証の追加)
- ログイン詳細エラーメッセージの無効化(全て同じ内容のエラーメッセージになる)
- ログインロック(ログイン失敗時、一定期間、ログインをロックする)
- ログインアラート(ログイン時にメール通知)
- フェールワンス(ログインに成功時、一度だけ必ず失敗する)
- XMLRPC防御(XMLRPC無効化・Pingback機能の無効化)
- ユーザー名漏えい防御(ユーザー名の漏えいを防ぐ)
- 更新通知(更新の必要時に通知)
- WAFチューニングサポート(除外ルールを作成)
上記の機能に加えて「ログイン履歴」も確認することができます。
不正アクセス者のログイン(IPアドレス)を確認することができます。
多機能なので1つのプラグインで十分なセキュリティ対策を施すことができます。
SiteGuard WP Pluginのインストール手順
SiteGuard WP Pluginのインストール手順は以下の通りです。
- 左メニュー「プラグイン」から「新規追加」を選択
- 検索ボックスに「SiteGuard WP Plugin」を入力
- 項目「今すぐインストール」をクリック
- 項目「有効化」をクリック
すると、左メニュー「設定」の下部に「SiteGuard」項目が追加されます。
この項目でSiteGuardの各設定を行います。
まずは、SiteGuard WP Pluginのインストール手順を順に解説していきます。
左メニュー「プラグイン」から「新規追加」

左メニュー「プラグイン」から「新規追加」を選択します。
検索ボックスに「SiteGuard WP Plugin」を入力

検索ボックスに「SiteGuard WP Plugin」と入力し、検索します。
項目「今すぐインストール」をクリック

右上の「今すぐインストール」をクリックします。
項目「有効化」をクリック

右上の「有効化」をクリックします。
これで、SiteGuard WP Pluginのインストールは完了です。
SiteGuard WP Pluginの設定項目|場所
SiteGuard WP Pluginの設定を行うために設定場所に移動します。
SiteGuard WP Pluginの設定は、
- 左メニュー「設定」の下部に「SiteGuard」項目
で各設定を行います。

項目「SiteGuard」をクリックしましょう。
SiteGuard WP Pluginの設定項目|初期設定
SiteGuard WP Pluginの各種設定を解説します。
まずは、SiteGuard WP Pluginのダッシュボードへアクセスしてみましょう。
以下のような画面になります。

冒頭でも、1つ1つの項目の意味を解説を致しました。
これから解説するのは、各項目の詳細と各設定方法です。
運用されるサイトのセキュリティーを高めるための初期設定を行います。
管理ページアクセス制限

管理ページアクセス制限は「管理ページの保護」を担当しています。
管理ページのURLは、
- https://〇〇〇.com/wp-admin/以降
このような形で指定されています。
WordPressのログインページにログインすると管理ページに移ります。
丁度、著者から見ると記事を書いているこのページも管理ページで、管理ページアクセス制限はWordPressを管理画面に対する攻撃から防御するための機能です。
ログインしたことの無いユーザーが管理ページ(/wp-admin/以降)にアクセスすると画面が「404 Not Found」で表示されます。
一度、ログインしたことのあるIPアドレスであれば管理画面にアクセスできます。
ただし、一度、ログインしたことのあるユーザーでも、24時間ログインせずに経過するとログインしたことの無いユーザーに切り替わります。

旅行で一泊していたのじゃが…
このような状況になるとログインすることができません。
普通に起こり得ることなので設定は「OFF」にしておくことをお勧めします。
ログインページ変更

通常のログインページは、
- https://ドメイン名.com/wp-admin/
- https://ドメイン名.com/wp-login.php/
このように2通りあります。
このログインページを変更する機能が「ログインページ変更」です。
SiteGuard WP Pluginの「ログインページ機能」を利用すると、
- https://〇〇〇.com/login_000000000(任意の数字)
このようなログインページに変更することができます。
この機能は、かなり強力です。
WordPressのログインページは予め決められており、WordPressユーザーであれば、ユーザー名、パスワードさえ知ることができればログインできてしまいます。
しかし、ユーザー名、パスワードという枠から離れてログインページ自体を変更することでログインページそのものに辿り着けなくなります。時間稼ぎという面では優秀です。
ただい、次回からのログインページは、
- https://〇〇〇.com/login_000000000(任意の数字)
このページになります。
くれぐれも忘れないようにメモしておきましょう。
ログインページの変更は、必ず「ON」に設定し、桁数の多い数字に設定しておくことをお勧めします。
管理者ページからログインページへリダイレクトしない

オプションの「管理者ページからログインページへリダイレクトしない」にチェックを入れると、以下の旧ログインページにアクセスした際にトップページにリダイレクトされます。
- https://ドメイン名.com/wp-admin/
- https://ドメイン名.com/wp-login.php/
チェックを外すと、以下のような新ログインページにリダイレクトされてしまいます。
- https://〇〇〇.com/login_000000000(任意の数字)
そもそも、ログインページを変更することで、不正にログインを試みる攻撃を受けにくくするための機能なので、新ログインページにリダイレクトしてしまっては意味がありません。
必ず、チェックを入れるようにしましょう。
画像認証

画像認証は「ログイン時」や「コメントフォーム」に画像による認証を追加する機能です。
画像による認証を追加することで、不正アクセス者は、ユーザー名、パスワードの他に画像の中にある文字を入力しなければいけません。
また、一度、ログインに失敗すると画像は別の画像に切り替わるため、かなり強力なセキュリティ対策となるでしょう。
ログイン時には管理者も画像認証の情報を入力する必要があるものの、セキュリティ強化を行うのが目的なので画像認証は「ON」にしておくことをお勧めします。
それぞれの画像認証には、
- ひらがな
- 英数字
- 無効
を選択することができます。
また、ログイン時には画像認証を実施し、コメントフォームには実施させたく無い方は、コメントフォームに「無効」を選択することで機能を限定することができます。
画像認証とは
WordPressのログインページに画像認証を追加すると以下のような表示になります。

不正アクセス者だけでなく、管理者も画像認証に表示された文字を入力する必要があります。
ログイン時に面倒に感じる方は別の機能を利用してセキュリティ強化を行いましょう。
ログイン詳細エラーメッセージの無効化

ログイン時に失敗した際のエラーメッセージを全て同じ内容にする機能です。
機能を「OFF」にすると各情報の間違いによるエラーメッセージとして以下の内容が出力されます。
- ユーザー名の間違い
- ユーザー名〇〇〇は、このサイトに登録されていません。ユーザー名が不明な場合は、代わりにメールアドレスを入力してください。
- パスワードの間違い
- ユーザー名〇〇〇のパスワードが間違っています。
- 画像認証の間違い
- 画像認証が間違っています。
機能を「ON」にすることで、
- 入力内容を確認の上、もう一度送信してください。
このようにログイン時に失敗した際のエラーメッセージを全て同じ内容にします。
デフォルトの状態でユーザー名、パスワード、画像認証を間違えた際には「ユーザー名〇〇〇は、このサイトに登録されていません」や「ユーザー名〇〇〇のパスワードが間違っています」等の、どの情報に誤りがあるのかを伏せることができます。
必ず「ON」に設定するようにしましょう。
ログインロック

ログインロックは、ログインに失敗した際の挙動を設定します。
- ログイン失敗の間隔(期間)[1]
- 期間[1]の間のログイン失敗の回数(回数)[2]
- 回数[2]を超えた際のロック時間(ロック時間)
例えば、
- 期間(30秒)
- 回数(3回)
- ロック時間(5分)
の内容で設定した場合は以下の意味合いとなります。
- 30秒(期間)の間に3回(回数)のログインが失敗した場合は5分(ロック時間)のログインを禁ずる
この設定は連続したログインを試みるブルートフォース攻撃(総当たり攻撃)に有効的です。
ブルートフォース攻撃は短期間で行われるため、ログインロック機能を有効にするだけで、連続したログインを止めることができます。つまり、ブルートフォース攻撃の抑止に繋がります。
ログインロック機能は「ON」にしておきましょう。
ログインアラート

ログインアラートは、ログインした、また、ログインされた時に管理者にメール通知を行う機能です。
サイトに不正アクセスされた時に管理者へと通知を行うことで早急に対応することができます。
不正ログインされた時の対応策は、
- ユーザー名、パスワードの変更
早急に行う対策としては、WordPressユーザー名、パスワードの変更です。
例えば、WordPressに同時にログインしている際には、ログイン情報を変更することで、ページの移動があった際に、再度、ログインページのポップアップが表示されて入力を迫られます。
ただし、これは、不正アクセス者にも言えることで、ログインアラートを導入しても、気付くのが遅ければ、管理者IDが削除されて書き換えられる被害も想定されます。
ログインアラートは、できるだけ早く不正ログインに気付くための機能として活用しましょう。
必ず「ON」にしておきましょう。
フェールワンス

フェールワンスは、正しいログイン情報を入力しても、一度だけログインを失敗させる機能です。
ブルートフォース攻撃とリスト攻撃では以下のパターンが考えられます。
- 理論的に考えられるパスワードのパターン全てを順番に入力するブルートフォース攻撃で正しいログイン情報を入力しても、一度だけログインを失敗させることで、その正しいログイン情報を間違いだと判断させ、スルーさせる
- 何らかの方法で入手した正しいユーザー名とパスワードを入力しても、一度だけログインを失敗させることで、間違いだと勘違いさせる
フェールワンスのログイン失敗後、5秒以降、60秒以内に再度ログインすることでログインすることができます。
これは、非常に優れた機能で、5秒間の間の連続したログインを完全にブロックすることができます。
リスト攻撃だけでなく、ブルートフォース攻撃にも効果のある機能です。
しかし、管理者からすると、必ず1回はログインが失敗するので、WordPressを運用する上では取り扱いにくい機能でもあります。
ログインページでのログインロス(ログインまでに掛かる時間)を気にされない方は「ON」にしておきましょう。しかし、ログインページへスムーズにアクセスしたい方は「OFF」に設定することをお勧めします。
XMLRPC防御

XMLRPC防御のピンバック無効化は「Pingback機能」の無効、また、XMLRPCの無効化は「xmlrpc.php全体」の無効化を行います。
xmlrpc.phpを無効化する理由は、この「xmlrpc.php」自体が外部のアクセスを許可するファイルとして利用されているからです。
分かりやすい例としてはWordPressアプリケーションです。WordPressアプリケーション等の外部のアプリケーションの各機能を許可するために「xmlrpc.php」が必要になります。
このファイルがあるからこそ、WordPressにログインせずに他アプリケーションの機能を利用することができます。WordPressアプリケーションの投稿は「xmlrpc.php」を通して行われます。
外部からアプリケーションを通し、リモートで投稿できる便利なファイルですが、外部との通信を可能とするだけに「xmlrpc.php」は不正アクセス者から狙われやすいファイルでもあります。それは、外部との干渉が許可が許されたファイルだからです。
そのため、ブルートフォースアタック等の総当たり攻撃は「xmlrpc.php」ファイルを狙って行われています。
しかし、このファイルは使用が限定されています。
ファイル「xmlrpc.php」が利用されているのは、WordPressの外側からWordPressをコントロールするアプリケーションです。つまり、外部からWordPressにアクセスするアプリケーションを利用しなければ「xmlrpc.php」ファイルは利用しません。
ファイル「xmlrpc.php」を無効化にすることで外部アプリケーションが利用できない代わりに「xmlrpc.php」を狙った不正アクセスを防ぐことができます。
それぞれの意味は以下の通りです。
- ピンバック無効化
- ピンバックの無効化
- トラックバックの無効化
- XMLRPCの無効化
- ピンバックの無効化
- トラックバックの無効化
- WordPressアプリによるリモート投稿(不可)
- Jetpackプラグインによるリモート投稿(不可)
- Microsoft Wordの投稿(不可)
XMLRPCへの攻撃は長年運用していると必ず起きます。
セキュリティ強化を望むのであればXMLRPCの無効化を「有効」にしておくことをお勧めします。
しかし、WordPressアプリ、Jetpackプラグインを利用しているユーザーは非常に多いため、これらの外部のプラグイン・アプリを利用している方は一部の機能が利用できなくなるので「無効」にしておきましょう。
ユーザー名漏えい防御

ユーザー名漏えい防御は「ユーザー名の漏えい」を防ぐための機能です。
実は、WordPressの標準機能でユーザー名を隠したとしても、簡単に確認することができます。
運用するサイトのアドレスを含め、以下のように検索バーに入力します。
例えば、
- http://〇〇〇.com/?author=▲
赤線には運用するドメイン、また、青線には数値[1.2.3.4.5….]を順番に入力してみてください。
すると、いずれかの数値では、以下のようにユーザー名が表示されます。

このユーザー名を隠すための機能として本機能は存在します。
機能を「ON」にするだけで隠すことができるので必ず「ON」にすることをお勧めします。
しかし、機能を「ON」にしても、REST APIを利用することでユーザー名を確認することができます。
以下の項目で解説しています。
オプション(REST API 無効化)

REST APIは、外部アプリのデータの取得・利用を可能とするWeb APIの一種です。
REST APIはXML-RPCと同様に攻撃の的にされることもあるため、本機能での無効化をするだけでセキュリティ強化を行うことができます。
ただし、無効化してしまうとREST APIを利用するアプリケーションは利用できなくなります。
REST APIの多くは外部との連携を可能とするプラグインで利用されています。
例えば、
- Contact-form-7
- Jet pack
- akismet
- oembed
これらのプラグインはWordPressではよく利用されるプラグインなので無効化してしまうと困ります。
その場合は、REST APIの除外設定を行うことで対応することができます。
ただし、WordPress入門者の場合は、どのテーマやプラグインにREST APIが利用されているのかが分かりません。機能を「ON」にしてしまうことで折角備わっていた機能が利用できなくなる、このようなことはセキュリティ対策を行う上でよくあることです。
ただし、個人的には「REST APIの無効化」のチェックを入れておく(ON)ことをお勧めします。
理由は、WordPress v4.7以降からREST APIを使うことで、外部からの情報の取得を行うことができるようになったためです。
これは、REST APIの「穴」とも言われています。
以下のようにURLを入力してみてください。
- https://〇〇〇.com/wp-json/wp/v2/users
すると、そのブログ・サイトのユーザー情報が表示されます。
また、記事一覧情報を表示するには、
- 〇〇〇.com/wp-json/wp/v2/posts
このように入力すると、ご丁寧に記事一覧まで表示されます。
ユーザー情報が表示されてしまうのは、セキュリティ上では好ましくありません。
ただし、REST APIはプラグインでも利用していることが多いため、
- プラグインの一部の機能が利用できなくなった
等のトラブルもあります。
その場合に対処するために、導入したプラグインの全てを除外設定にすることで対応することができます。

このように「除外プラグイン 追加」をクリックすることでプラグインを追加できます。
また、REST API 無効化にチェックを入れることで、ブログ・サイトのユーザー情報が表示されなくなり、以下の情報(ステータスコード:401)に書き換えられます。

更新通知

更新通知は、WordPress本体、プラグイン、テーマの各更新に沿って管理者にメール通知を行う機能です。
常に、最新の状態にWordPress本体・プラグイン・テーマを保つことは重要です。
筆者は以下のように設定しています。
- WordPressの更新(有効)
- プラグインの更新(すべてのプラグイン)
- テーマの更新(アクティブなテーマのみ)
WordPressの更新は必ず「有効」にします。WordPress本体は運用されるサイトの頭脳そのものです。理想として、更新内容を受け取り、全体のバックアップを取り、WordPressを最新の状態に更新します。
また、外部との繋がりを持った各プラグインの更新も重要です。多くの場合はプラグインから脆弱性が発見されて、そのプラグインの機能の一部から不正アクセスに繋がります。必ず、アクティブなプラグインに限らず、すべてのプラグインを最新の情報に更新しておくようにしましょう。
また、必要で無くなったプラグインは停止するだけでなく削除することをお勧めします。更新の滞ったプラグインは脆弱性のリスクの塊。残しておくことはセキュリティ上好ましくありません。もしも、残しておく場合は、常に最新の状態に更新した上で残しておきましょう。
WAFチューニングサポート

WAF(Web Application Firewall)は、その名の通り、Webアプリケーションの脆弱性を付いた攻撃に対抗するためのセキュリティ対策です。
この機能を利用するのであれば、WebサーバーにJP-Secure製「WAF SiteGuard Server Edition」が導入されている必要があります。
SiteGuard Server Editionが導入されていて、正常のアクセスをWAFが誤検知した場合に除外ルールを設定することで回避することができます。
導入していない方は無視(OFF)で構いません。
不正なアクセスと判断されると以下のエラーページに切り替わります。
- 403 Forbidden(404エラー)
しかし、正常なアクセスを不正なアクセスとして誤検知(403 Forbidden)した場合は「シグネチャ名」や「ファイル名」を指定すると正常なアクセスとして検知されます。
詳細設定

詳細設定では、IPアドレスの取得方法について決定します。
設定は変更する必要はなく、リモートアドレスを指定しましょう。
ログイン履歴

ログイン履歴では以下の内容を確認できます。
- ログイン日時(日時)
- ログイン結果(成功 or 失敗)
- ログイン名(ログインを試みたユーザー名)
- IPアドレス(ログインを試みたIPアドレス)
- タイプ(ログインを試みたページ)
上記の情報が表示されます。
ログイン履歴でブルートフォース攻撃等の不正なアクセスの有無が判断できます。
また、ブルートフォース攻撃に利用されたIPアドレスを取得することができるため、そのIPアドレスのアクセスをサーバー側でブロックしてしまえば、そのIPアドレスからアクセスすることはできなくなります。
ログイン履歴は頻繁に確認し、攻撃内容を確認することで、今後のセキュリティー方針を決定することができます。セキュリティ対策を行う上では非常に便利な機能だと言えます。
IPアドレスの制限(禁止)方法
SiteGuard WP Pluginのログイン履歴から不正アクセス者のIPアドレスを知ることで、そのIPアドレスを制限(禁止)することができます。
以下のリンクでIPアドレスの制限手順について解説しています。
SiteGuard WP Pluginでセキュリティ対策を!
SiteGuard WP Pluginを利用することで、運用するブログ・サイト・ホームページに、多くのセキュリティー機能を備えることができます。
また、SiteGuard WP Pluginは無料で利用することができます。
もしも、運用されるサイトにセキュリティー対策を施したい方は「SiteGuard WP Plugin」を利用してWordPressのセキュリティー強化を行ってみてはいかがでしょうか。
コメント