WordPressのセキュリティ対策として定番の「SiteGuard WP Plugin」。有効化した瞬間にログインURLが変わったり、画像認証やログインロックが入ったりと、設定項目が多くて「結局どれをオンにすればいいの?」と迷いやすいプラグインです。設定を間違えると、自分が管理画面に入れなくなることもあります。
このブログもConoHa WINGのWordPressで運用しています。この記事では、開発元の公式マニュアルで各機能のデフォルト値を確認したうえで、個人ブログでのおすすめ設定とハマりどころ・戻し方をまとめます。
結論
SiteGuard WP Pluginは、基本的にデフォルト設定のままでも十分に効果がある。個人ブログで追加でやるべきことは、①変更後のログインURLを控えてブックマークする(推測されにくい名前に変えるのも有効)、②「管理者ページからログインページへリダイレクトしない」にチェック、③ユーザー名漏えい防御をON(ただし「REST API無効化」はチェックしない)の3つ。管理ページアクセス制限とフェールワンスはデフォルトOFFのままでよい。締め出されたら、ConoHa WINGのファイルマネージャーで siteguard フォルダの名前を変えればプラグインを止められる。
SiteGuard WP Pluginとは?ConoHa WINGの「SiteGuard Lite」との違い
SiteGuard WP Pluginは、EGセキュアソリューションズが無料で提供しているWordPress用プラグインで、主に「管理画面への不正ログイン」を防ぐ機能がまとまっています。「プラグイン」→「新規追加」で「SiteGuard」と検索してインストールでき、有効化すると管理画面のメニューに「SiteGuard」が追加されます。
混同しやすいのが、ConoHa WINGなどのレンタルサーバーに入っているWAF「SiteGuard Lite」です。名前は似ていますが、役割と設定場所がまったく違います。
- SiteGuard WP Plugin — WordPressのプラグイン。管理画面の「SiteGuard」メニューで設定し、ログイン周りを守る
- SiteGuard Lite(WAF) — サーバー側の機能。ConoHa WINGのコントロールパネルで設定する。「閲覧できません (Forbidden access)」を出すのはこちら
WAFの誤検知で403になって困っている場合は、こちらの記事を参照してください。
SiteGuard WP Pluginのおすすめ設定一覧(デフォルト値つき)
公式マニュアルのデフォルト値と、ひとり運営の個人ブログを想定したおすすめ設定です(「おすすめ」はこのブログの運用方針にもとづく目安)。
| 機能 | デフォルト | おすすめ | ポイント |
|---|---|---|---|
| 管理ページアクセス制限 | OFF | OFFのまま | IPが変わるたびに再ログインが必要で不便 |
| ログインページ変更 | ON | ON+名前を変更 | 有効化で自動変更。URLを控え、リダイレクトしない設定にチェック |
| 画像認証 | ON(ひらがな) | ON | ひらがな4文字で十分 |
| ログイン詳細エラーメッセージの無効化 | ON | ON | 何が違うかを攻撃者に教えない |
| ログインロック | ON(5秒に3回失敗で1分ロック) | ONのまま | 自分がロックされても1分で解除 |
| ログインアラート | ON(管理者のみ) | ON | 不正ログインに気づける |
| フェールワンス | OFF | OFFのまま(任意) | 仕組みを知らないと混乱する |
| XMLRPC防御 | ON(ピンバック無効化) | ONのまま | 全体の無効化は連携に影響する可能性 |
| ユーザー名漏えい防御 | OFF | ON(REST API無効化はチェックしない) | ユーザー名の漏えいを防ぐ |
| 更新通知 | ON | ON | 更新をメールで知らせる |
| WAFチューニングサポート | OFF | OFFのまま | 公式にはSiteGuard Server Edition向け |
ログインページ変更:有効化したら最初にやること
SiteGuard WP Pluginを有効化すると、ログインページ(/wp-login.php)のURLが自動的に「login_+5桁の乱数」に変わります。機械的なログイン攻撃の大半はデフォルトのログインページを狙うため、URLを変えるだけでも攻撃対象になる機会を減らせる、というのが公式の説明です。
- 変更後のURLをブックマークする — 新しいログインURLをブックマークとパスワード管理アプリに保存する(メールでも通知される)
- 推測されにくい名前に変える(任意) — 「ログインページ変更」で英数字・ハイフン・アンダーバーの名前に変えられる。「login」「admin」のような単純な名前は避ける
- 「管理者ページからログインページへリダイレクトしない」にチェック — チェックしないと、未ログインで /wp-admin/ を開いたときに新しいログインページへ転送され、URLが分かってしまう(チェックするとトップページへ転送される)
- 「変更を保存」を押し、新しいURLでログインできるか確認する — ログアウト前にシークレットウィンドウで確かめると安心
URLを忘れてしまった場合は、公式の「ログインURLレスキュー機能」が使えます。サイトのURLの後ろに /?siteguard_rescue=1 を付けてアクセスし、メールアドレスと画像認証を入力すると、ログインURLがメールで届きます(送信先は管理者のメールアドレスのみ。1時間に3回以上使うとロック)。
画像認証・ログインロック・フェールワンスの設定
画像認証:デフォルトのひらがなでOK
画像認証は、ログインページ・コメントページ・パスワード確認ページ・ユーザー登録ページの4か所に、それぞれ「ひらがな」「英数字」「無効」を設定できます(4文字固定)。ひらがなには濁音・半濁音や小さい文字が含まれないので読み間違いは起きにくく、デフォルトのままがおすすめです。
ログインロック:デフォルト値のままが無難
ログインロックは、同じ接続元からの連続したログイン失敗を検出してロックする機能です。設定できるのは「期間(1秒・5秒・30秒)」「回数(3回・10回・100回)」「ロック時間(30秒・1分・5分)」で、デフォルトは「5秒間に3回失敗で1分ロック」です。
公式マニュアルにも、多くの接続元を使う攻撃やゆっくりした攻撃には効果がない場合があるとあるので、推測されにくい長いパスワードとの併用が前提です。
フェールワンス:仕組みを理解してから使う
フェールワンスは、正しいパスワードでも1回目は必ず失敗させ、5秒以降60秒以内の再ログインで成功させる仕組みです。漏えいしたID・パスワードを試す「リスト攻撃」をかわすのが目的です。
入れたことを忘れると「パスワードが違う」と勘違いしやすいため、デフォルトのOFFのままで十分です。
オンにする前に注意したい3つの機能
注意
次の3つは設定次第で自分の作業や他のプラグインが動かなくなる機能です。変更したら、ログインと記事の保存を必ず確認してください。
①管理ページアクセス制限
ログインしていないIPアドレスから /wp-admin/ 以降にアクセスすると404を返す機能です。外出先などでIPが変わるとログインし直しが必要で、ログイン済みのIPも24時間で未ログイン扱いになります。
公式にも「不便だと感じる場合は、この機能はOFFにしてください」とあり、デフォルトもOFFです。スマホと自宅のPCを行き来して更新する個人ブログならOFFのままで構いません。
②ユーザー名漏えい防御の「REST API無効化」
WordPressでは、URLの後ろに「?author=1」のように付けてアクセスすると、ログインユーザー名が分かってしまうことがあります。ユーザー名漏えい防御をONにすると、これを防げます(デフォルトはOFF)。
注意したいのが、オプションの「REST API無効化」です。REST APIはブロックエディターや外部連携など多くの機能が使う仕組みなので、無効化すると記事の保存やプラグインが正常に動かなくなる可能性があります(公式マニュアルにも、動作しないプラグインは除外リストに追加するよう案内があります)。このブログもREST APIを使って記事を投稿しているため、ユーザー名漏えい防御はON、REST API無効化はチェックしない設定にしています。
③XMLRPC防御の「XMLRPC無効化」
XMLRPC防御は、XML-RPCのピンバックを悪用したDDoS攻撃や、XML-RPC経由のパスワード総当たり攻撃を防ぐ機能です。タイプは「ピンバック無効化(デフォルト)」と「XMLRPC無効化」の2種類。丸ごと無効化するとXML-RPCを使う外部サービスやアプリが接続できなくなる可能性があるため、使っているものが分からなければデフォルトのままが無難です。
ログインできなくなったときの戻し方
- /wp-login.php や /wp-admin/ が404になる・トップページに飛ばされる — ログインページ変更が効いている。ブックマークした新URLを開くか、ログインURLレスキュー機能で確認する
- 正しいはずのパスワードで弾かれる — ログインロック(1分待つ)、フェールワンス(5秒以上あけてもう一度)、画像認証の入力ミスを疑う
- 「閲覧できません (Forbidden access)」が出る — プラグインではなく、サーバー側WAF(SiteGuard Lite)の誤検知の可能性が高い
それでも入れない場合は、プラグイン自体を止めます。ConoHa WINGのサポートページでは、ファイルマネージャー(またはFTP)で wp-content/plugins 内の siteguard フォルダの名前を変更して無効化する方法や、SiteGuardが .htaccess に追加した記述を確認・削除する方法が案内されています。.htaccess を編集する前には、元の記述をメモ帳などにコピーして保存しておいてください。具体的な手順は、こちらの記事にまとめています。
管理画面に入れたらフォルダ名を元の siteguard に戻し、有効化し直してから設定を見直します。リネームしたままだと対策が外れた状態になるので注意してください。
公式情報は、SiteGuard WP Plugin|EGセキュアソリューションズ と WordPress管理画面にアクセスできない|ConoHa WINGサポート で確認できます。
よくある質問
Q. SiteGuard WP Pluginを入れたら、他のセキュリティプラグインは不要ですか
A. ログイン周りの基本的な機能はSiteGuard WP Pluginでそろいます。同じ役割のセキュリティプラグインを複数入れると、機能が重なって締め出しの原因になりやすいので1つに絞るのがおすすめです。WordPress本体・テーマ・プラグインを最新に保ち、推測されにくいパスワードを使うことが前提です。
Q. ログインアラートのメールが毎回届いてうるさいです
A. 不正ログインに気づくための機能なので、ONのままがおすすめです。件名と本文は変更できるので、メールソフトで振り分けやすい件名にしておくと気になりにくくなります。
Q. 管理画面で記事を保存すると「閲覧できません」と出ます。SiteGuard WP Pluginが原因ですか
A. 「閲覧できません (Forbidden access)」の画面は、多くの場合サーバー側のWAF(SiteGuard Lite)によるものです。ConoHa WINGのコントロールパネルでWAFのログを確認し、誤検知であれば除外設定を行ってください(プラグインのWAFチューニングサポートは、公式には別製品のSiteGuard Server Edition向けと説明されています)。
まとめ
・SiteGuard WP Pluginはデフォルト設定でも主要な機能がONになっており、基本はそのままでよい
・有効化したら、変更後のログインURLを控え、「管理者ページからログインページへリダイレクトしない」にチェックする
・ユーザー名漏えい防御はON。ただしREST API無効化は、ブロックエディターや連携機能に影響する可能性があるのでチェックしない
・管理ページアクセス制限・フェールワンス・XMLRPC無効化は、仕組みと影響を理解してから使う
・締め出されたら、ファイルマネージャーで siteguard フォルダをリネームして無効化し、入れたら元に戻す



