世界中のサイトの約1/3がWordPressで制作されています。そのため狙われる危険が多いのも事実です。この記事では、SiteGuard WP Plugin を使った初心者の方でも簡単強固なセキュリティ対策の方法をご紹介します。
SiteGuard WP Plugin
WordPress用プラグインの一つで、設定が簡単かつ日本語対応しているため、セキュリティ対策にはおすすめです。
WordPressダッシュボードの左メニューから、プラグイン > 新規追加 を選択し「SiteGuard WP Plugin」を検索してください。

「今すぐインストール」し有効化しますが、さっそく注意点があります。

有効化すると、ダッシュボードに画像のような表示がでます。「ログインページURLが変更されました」とあり、「新しいログインページURLをブックマークしてください」となっています。
「新しいログインページURLをブックマークしてください」の部分をクリックすると、新しいログイン画面が表示されます。

ここで表示されているURL(赤囲み部分)が新しく変更されたURLです。これをブックマークしておくなど記録しておきましょう。後述しますが、左メニュー > SiteGuard > 「ログインページ変更」 からも変更されたURLを確認できます。
何も記録せずにログアアウトしてしまうと、自分のサイトのログインページが分からなくなってしまいます。必ず何らかの仕方で記録しておくようにしましょう。
しかし、記録せずにログアウトしてしまった場合でも、WordPressで管理者メールアドレス(左メニュー > 設定 > 一般設定 から確認可能)にログインページ変更と新しいURLについての情報がメールで届いています。確認するとともに記録しておくようにしましょう。
また、画像では後述する画像認証(下部赤囲み)も、有効化した時点で機能し始めているのがわかります。
ダッシュボードのサイドメニューに「SiteGuard」が加わります。

画像のように、設定項目などが表示されます。”楽々”とはいうものの、これだけあります。他のガチガチ系プラグインと比べるなら、これでも少ないほうですが…。
それでも、デフォルトのままで設定しなくてよい項目が多いので気楽にご覧ください。実際11ある設定項目のうち、この記事でおすすめするのは、デフォルトから必ず変更が必要な項目は1つ、適宜調整で良い項目が4つだけです。
SiteGuard WP Pluginの設定方法
設定項目は、以下の通りです。
- 管理ページアクセス制限
- ログインページ変更
- 画像認証
- ログイン詳細エラーメッセージの無効化
- ログインロック
- ログインアラート
- フェールワンス
- XMLRPC防御
- 更新通知
- WAFチューニングサポート
- 詳細設定
その他の説明
ダッシュボート:
現在の設定状況の確認と、各設定項目のチェック欄で有効化、無効化ができます。
ログイン履歴:
直近からのログインの履歴が参照できます。時々不審な履歴がないか確認しましょう。履歴は、最大10,000件記錄され、10,000件を超えると古いものから削除されていきます。
では、一つ一つ設定について説明していきます。
管理ページアクセス制限
デフォルト:OFF 設定の必要:なし

ログインしていない接続元から管理ページ(/wp-admin/)へのアクセスを制限します。
新しくなったログインURLへのアクセス記録のない接続元(IPアドレス)が、元のログインURL(例:https://(WebサイトのURL)/wp-admin)にアクセスすると、404エラー(Not Found)を返します。
ただ、IPアドレスが変わるたびにアクセスできなくなります。ログインURLからアクセスできますが、もしも忘れた場合、初心者の方ですと対応がなかなか大変になります。それで、特に初心者の方はデフォルトのままのOFFで良いと思います。
ログインページを見せたくないだけなら、次にご紹介する「ログインページ変更」での設定ができますのでご安心ください。
ログインページ変更 ※
デフォルト:ON 設定の必要:あり

ログインページのURLを変更します。
有効化後の初期値が、login_(5桁乱数) になっています。このURLが変更されるたびにWordPressの管理者メールアドレスに通知されます。枠内は自由に変更できますので、任意のURLを設定し、最後に「変更を保存」をクリックしてください。
すぐにURLが再変更され、管理者メールアドレスに通知が届きます。変更後のURLの記録を忘れないようにしましょう。
管理者ページからログインページへリダイレクトしない
オプションとして「管理者ページからログインページへリダイレクトしない」があります。この部分にチェックを入れておくと、前述の通り、/wp-admin にアクセスされてもログインページを見ることはできなくなります。このチェックをお勧めします。
画像認証
デフォルト:ON 設定の必要:そのままでOK

ログインページに画像認証が追加されます。

いわゆる”総当たり攻撃”でログインを突破しようとする場合、コンピュータープログラムによって行われます。しかし、この画像認証により人為的なプロセスが加わるため、セキュリティはぐんとアップします。
画像認証の文字はひらがなと英数を選べますが、デフォルトのひらがなのままで良いでしょう。
ログイン詳細エラーメッセージの無効化
デフォルト:ON 設定の必要:そのままでOK

ログインエラー時の詳細なエラーメッセージに変えて、単一のメッセージを返します。
もしログイン画面に入られた場合でも、以下を入力する必要があります。
- ユーザー名
- パスワード
- 画像認証
これらのどれを間違えて入力しても、同じエラーメッセージを返します。デフォルトでは、ユーザー名の誤入力で”ユーザー名が間違っている”とか、パスワードの誤入力なら”パスワードが間違っている”といった具合に、どこが間違っているかを丁寧に教えてくれます。しかしこれは攻撃者に、エラーが出ない部分は合っていると教えているようなものです。
この機能をONにしておけば、エラーメッセージからログイン情報を把握できないよう保護できます。
ログインロック #
デフォルト:ON 設定の必要:そのままでOK(適宜調整)

ログイン失敗を繰り返す接続元を一定期間ロックします。
ログインの失敗が指定期間中に指定回数に達した接続元IPアドレスを指定時間ブロックしてくれます。画像では、5秒間に3回ログインを失敗すると、1分間ログインロックされる設定になっています。
ラジオボタンで任意の設定に変更できます。個人的には一番厳しく、30秒以内に3回失敗した場合、5分間ロックする設定にしています。いずれにしても、設定変更した場合は最後に「変更を保存」をお忘れなく。
ログインアラート #
デフォルト:ON 設定の必要:そのままでOK(適宜調整)

ログインがあったことを、メールで通知します。
不正なログインに気づきやすくするための機能です。サイトにログインがあった場合、管理者のメールアドレスにアラートメールが届きます。

これは利便性とのバランスを考えてON,OFFを選択できるでしょう。ログインのたびにメールが届くのは鬱陶しいという方はOFFにできます。
フェールワンス
デフォルト:OFF 設定の必要:そのままでOK

ログイン情報を正しく入力しても、ログインを一回失敗にする。
攻撃者が仮に正しいログイン情報を入力したとしても、必ず1回はエラーが出て失敗したと思うので、セキュリティ強化になります。5秒以降、60秒以内に正しいログイン情報を入力すると、今度はログインが成功するようになっています。
ただ、自分がログインする場合でも同様のため、煩わしいと感じる場合はデフォルトのままOFFで良いでしょう。
XMLRPC防御 #
デフォルト:ON 設定の必要:そのままでOK(適宜調整)

XML RPCの悪用を防ぎます。
これはピンバック機能、もしくはXMLRPC機能を無効化します。
リンク元がリンク先にリンクを貼りましたということを通知する機能です。
プラグインやアプリなどWordPressと他のシステム間の通信を可能にする機能のことです。WordPressの管理画面ではなく、外部からコントロール(記事の投稿や削除)ができます。
ピンバックや外部からの記事投稿をするためのアプリなどを使用していないなら、この機能はONがお勧めです。実際に弊社サイトでは、ログインページからではなく、XMLRPC経由で海外からの攻撃を受けたことがあります。(SiteGuard > ログイン履歴 から攻撃の有無を確認できます)支障がないなら、XMLRPCの無効化にチェックを入れておくことをお勧めします。設定変更後は「変更を保存」で確定させます。
更新通知 #
デフォルト:ON 設定の必要:そのままでOK(適宜調整)

WordPress、プラグイン、テーマの更新がある場合に、管理者にメールで通知します。
WordPress、プラグイン、テーマを最新の状態に保つのは、セキュリティ面での基本です。しかし、プラグインやテーマは更新頻度が高いので、メール通知が鬱陶しいかもしれません。その場合は、WordPressのみを有効にするなど、設定を適宜調整できます。
WAFチューニングサポート
デフォルト:OFF 設定の必要:そのままでOK

WAF (SiteGuard Lite)の除外ルールを作成します。
WAF(Web Application Firewall)の除外設定をします。稀なことですが、誤って403エラーが起きることがあり、それを回避するための機能です。
特別な必要がなければ、デフォルトのままOFFで良いでしょう。
詳細設定
デフォルト:ON 設定の必要:そのままでOK

IPアドレスの取得方法を設定します。
通常はデフォルトのまま、リモートアドレスを選択した状態でOKです。
【おまけ情報】 ユーザーIDを隠す
WordPressのデフォルトではユーザ名が「admin」となっており、それが「表示名」や「ニックネーム」にもなっています。これを変更していないと、ログイン時の2種類の認証の一つを公に晒していることになってしまいます。とりわけ「admin」は管理者権限のため、ログインできれば何でもできてしまうのでとても危険です。
WordPressの設定でユーザー名の表示を変更する
まず、ユーザー名と表示名は別のものに設定しておきましょう。

ダッシュボードの左メニューから、ユーザー > プロフィール を選択し、ユーザー名とは異なるニックネームを考えます。「ブログ上の表示名」は、ドロップダウンからニックネームを選んでおけばOKです。
しかし、少し知識のある人ならユーザーIDを抜き出すことは簡単です。それで、次のプラグインを使用します。
プラグイン「Edit Author Slug」を併用する
https://(WebサイトのURL)/?author=1
このURLにアクセスすれば、投稿者のアーカイブページが表示されます。変更していなければ、URLは /author/ユーザーID/ となっています。そして、このauthor=1 のユーザーは基本的に「admin」(管理者)となっています。
これを変更するために「Edit Author Slug」をインストールし、有効化します。

有効化した後、先程と同じようにダッシュボードの左メニューから、ユーザー > プロフィール を選択します。下のほうにスクロールしていくと、「Edit Author Slug」の項目が追加されています。

一番下の「カスタム設定」にチェックを入れ、任意のスラッグを設定します。あまり長すぎない程度で推察されにくいものを英数で入力します。最後に「プロフィールの更新」をクリックし、更新を反映させます。
まとめ

いかがでしたか。今回は「SiteGuard WP PluginでWordPressのセキュリティ対策と設定方法」について書いてきました。
初心者向きのプラグインで、デフォルト設定のままでも、大切な部分をしっかり楽々セキュリティ強化できます。
大切なサイトやブログを守るために、この記事が皆さまのお役に立つことを願っています。今回もお付き合いいただきありがとうございました。

