WordPressのセキュリティ対策では、ログインまわりを守ることが大切です。
SiteGuard WP Pluginは、ログインURLの変更、画像認証、ログインロック、XML-RPC防御などで、不正ログインを防ぎやすくする日本語対応のプラグインです。
WordPress全体のセキュリティ対策の考え方は、こちらの記事で解説しています。
関連記事:CloudSecure WP Securityとは?WordPressのセキュリティ対策を最初に確認する方法
セキュリティ対策プラグインSiteGuard WP Plugin
あなたのWordPressサイトのセキュリティ対策と検知の防犯アラームのようなもの。
開発元は日本企業なので、全ての機能が日本語で説明されていて、無料で初心者でも簡単に使うことができます。
このプラグインの主な機能は次の通りです。
SiteGuard WP Pluginの主な機能
SiteGuard WP Pluginは、多機能なのに使い方がとても簡単。難しい設定なしで安心して使えます。
1.管理ページへのアクセス制限
ログインしていないIPからWordPress管理ページへのアクセスを防ぎます。
2.ログインページ変更
不正ログインの試行を防ぐために、ログインページのURLを変更します。
3.画像認証
ログインページに画像認証を設け不正ログインをより強固に防ぎます。
4.ログイン履歴の確認
誰がいつログインしたかを確認できるため、不正なログインに気づきやすくなります。
5.ログインロック
ログイン失敗を繰り返す接続元を一時的にロックしアクセスを禁止します。
6.ログインアラート
ログインがあったことをメールで通知します。
7.更新通知
WordPress、プラグイン、テーマに新しいバージョンがある場合、メールで通知します。自動更新の設定でも通知がきます。
すずのりこれらの機能であなたのサイトを守ります。次にインストール方法と設定をご紹介します。
インストール方法


左サイドメニュープラグインから新規プラグインを追加を選びます。


プラグインの検索枠にSiteGuard WP Pluginと入力します。
SiteGuard WP Pluginを見つけ今すぐインストールをクリック。


インストールが終わりましたら、青ボタンの有効化をクリック。


画面上部の下線メッセージ新しいログインページURLをクリック。
ここ大事なポイントです!一旦、ログアウトして、新しいログインURLのページに移ります。


アドレスバーに新しいログインURLが表示されます。
「https:// ドメイン /login_xxxxx」
このURLを必ずブックマークしてください。今までのログインURLではログインできません。
新しいログインURLからログインします。
ユーザー名:今まで通り
パスワード:今まで通り
このプラグインにより、画像認証が追加されました。枠上に表示されるランダムな4文字のひらがなを入力します。
※この画面の例では「まかとも」と入力し、ログインボタンをクリックします。


一方、WordPressの管理者メールアドレスに、件名「WordPress:ログインページURLが変更されました」というメールが届きます。そのメールにも新しいログインURLが記載されていますので、確認しましょう。
もしも、ログインのURLがわからなくなってしまった場合はこちらを参照ください。


ログイン後、左サイドメニュープラグインからインストール済みプラグインを選びます。


SiteGuard WP Pluginを探し、自動更新を有効化をクリック。
その他の設定もしよう!
SiteGuard WP Pluginをインストールしただけでも効果はありますが、初期設定のままでは不十分。もう一歩セキュリティを高める設定をしましょう。
なぜならば、SiteGuard WP Pluginプラグインをインストールして、初期設定のままサイトを運営していたら、見知らぬIPアドレスから不正ログインを何度か受けていることがあったから。ログイン履歴を見てアタックされたいたことに気づきました(実際のログイン履歴は後述)。
とはいえ、SiteGuard WP Pluginプラグインのおかげで、ログインは失敗に終わりましたが、初期設定のままではまだ狙われる隙があります。
全ての設定が必須というわけではありませんが、各設定項目を見ていくことで、WordPressにはどのようなリスクが潜んでいるのか知ることができ、より安全にサイトを運用することができます。
SiteGuard WP Pluginの設定を見ていきましょう。


左サイドメニューSiteGuardからダッシュボードを選びます。


項目は多いのですが、設定はとっても簡単です。難しい設定はありません。
1つずつ設定を見て潜んでいるリスクも確認していきましょう。
1.管理ページアクセス制限


WordPressの管理ページへの攻撃から防御するのための機能です。この機能は有効にしましょう。


左サイドメニューSiteGuardから管理ページアクセス制限を選びます。


初期設定では無効になっているので、有効にして、最後に変更を保存をクリック。
2.ログインページ変更


WordPressログインページのURLを変更します。
なぜならば、WordPressのログインページのURLは、ドメインの末尾に「/wp-admin/」または「 /wp-login.php」を付けたページになります。デフォルトではWordPress共通なので、ログインページは侵入者の標的となりやすい場所なのです。
https:// ドメイン /wp-admin/
https:// ドメイン /wp-login.php
もしも、WordPress管理画面への入口であるログインページがわからなければ、ログインされるリスクを減らすことができるので、ログインページのURLを変更します。
先ほど、SiteGuardプラグインをインストール後「有効化」をした際に、すでにログインページは変更されました。そして、そのURLをブックマークしましたね。
変更された新しいログインページのURLの末尾は、デフォルトではドメインの後ろに「login_xxxxx」の形式になります。(xxxxxの部分は5桁の乱数)
https:// ドメイン /login_xxxxx/
このままでも良いのですが、形式が決まっているので予測できないようにしたい方は次の「ログインページ変更」の設定で変更しましょう。



私はまったく違う形式に変更しています。


左サイドメニューSiteGuardからログインページ変更を選びます。


変更後のログインページ名の枠内を、好きな文字に変更します。忘れないようにブックマークしておいてください。
オプションの「管理画面からログイン画面にリダイレクトしない。」にチェックを入れます。
最後に変更を保存をクリック。
3.画面認証


画像認証システムは、ユーザー名・パスワードを機械的に探る不正ログインやスパムコメントを防止するためのものです。


このシステムは、操作者がコンピュータではなく人間であることを確認する目的で設計されています。
認証には「ひらがな」と「英数字」が選択可能ですが、「ひらがな」の方が、ひらがながわからない海外からの不正アクセスを減少できるでしょう。


左サイドメニューSiteGuardから画像認証を選びます。


初期設定では有効になっています。「ひらがな」にもなっていますので、変更せずに、このままでOKです。
4.ログイン詳細エラーメッセージの無効化


初期設定では、ログインのエラーメッセージは、次のように、ユーザー名、パスワードのどちらが間違っているかヒントになるご丁寧なメッセージです。
【パスワードが間違っている場合】
エラー:ユーザー名◯◯◯◯のパスワードが間違っています。
【ユーザー名が間違っている場合】
エラー:ユーザー名◯◯◯◯は、このサイトに登録されていません。


ユーザー名、パスワード、画面認証のどこに間違えがあるのか判別できないように、すべて同じ内容のエラーメッセージに変更します。


左サイドメニューSiteGuardからログイン詳細エラーメッセージの無効化を選びます。


初期設定では有効になっています。変更せずに、このままでOKです。
5.ログインロック


「ブルートフォース攻撃」や「パスワードリスト攻撃」など、連続してログインを試される不正ログイン攻撃で、ログインに繰り返し失敗した場合にアクセスを禁止します。
文字列の可能な組み合わせを1つずつ試してパスワードを当てる攻撃。パスワードは順列組み合わせでできているので、いつかは当たるはず。
どこかで入手した他のサービスで使われるユーザーIDとパスワードを利用して、ログインを試みる方法。パスワードの使い回しを控える理由はこれです。
短時間に連続ログインを繰り返して失敗した接続元からのアクセスを禁止し、「ログインはロックされています」とメッセージを表示します。


左サイドメニューSiteGuardからログインロックを選びます。


初期設定では有効になっています。変更せずに、このままでOKです。
もっとしっかり守りたい場合は、期間を30秒、ロック時間を5分に変更すると良いでしょう。
6.ログインアラート


WordPressにログインがあった場合、WordPressの管理者メールアドレス宛に、次のようなログインメールが届き、不正なログインに気づきやすくなります。
このメールで注意するのがIPアドレスが自分のIPアドレスかどうかです。




左サイドメニューSiteGuardからログインアラートを選びます。


初期設定では「有効」になっています。変更せずに、このままでOKです。
メール通知が不要な方は無効にしてください。
7.フェールワンス


正しいログインIDとパスワードで入力しても、1回だけログインが失敗します。5秒たってから60秒以内に再度ログインすると成功します。



さて、この機能は何のため?
「パスワードリスト攻撃」対策です。流出したどこかで実際に使われていたIDとパスワードの組み合わせでログインしてきます。
仮に、あなたのIDとパスワードが知らぬ間に流出していて、しかも複数のサービスに使い回しているIDとパスワードだったりすると、1発で破られてしまいますね。1発で破られないために、1回だけ失敗します。そして、5秒以上たってからでないとログインできません。
フェールワンス機能の仕組みを理解せずに、この機能を「有効」すると、正しいIDとパスワードのはずなのにログインできない!とパニックにおちいりやすいです。
また、毎回ログインを2回行う必要があるので、頻繁にログインする場合は面倒になるかもしれません。私は面倒と感じてしまいます。たとえ、フェールワン機能を無効にしていても、他に「画像認証」「ログインロック」機能があるので、1回でログインされることはないだろうと思うので、フェールワンス機能は「無効」にしています。


左サイドメニューSiteGuardからフェールワンスを選びます。


初期設定では無効になっています。
私は変更せずに、このまま無効にしていますが、セキュリティ機能を上げたい方は「有効」にしてください。
8.XMLRPC防御


「XML-RPC」とは、インターネットを通じて異なるコンピュータ間でデータをやり取りするための通信規約(プロトコル)の一つです。
たとえば、スマートフォンアプリや他のWebサービスなど、WordPressの管理画面以外から、記事の投稿や編集が可能でした。他には他のブログとの連携機能であるトラックバックやピンバックも、XML-RPCを利用していました。
しかし、セキュリティ上のリスクがあることと代替技術の登場により、現在ではその利用は減っています。
このセキュリティ上のリスクとは、具体的には、WordPressサイト内にある「xmlrpc.php」というファイルを悪用して、ハッカーは以下の攻撃を行うことがあります。
- ブルートフォースアタック:xmlrpc.phpに大量のログイン試行を送り、不正アクセスを試みる。
- DoS攻撃:xmlrpc.phpに大量のアクセスを送り、サーバーに負荷をかけ、サイトをダウンさせる。
そのため、セキュリティ対策としてWordPress「XML-RPC」機能を無効化することが推奨されます。プラグインを利用して無効化しましょう。
※注意「XML-RPC」を利用するプラグインをインストールしている場合は無効化しないように。
「あなたのサイトのURL/xmlrpc.php」と入力してアクセスします。
「XML-RPC server accepts POST requests only.」というメッセージが表示された場合、XML-RPCは有効になっています。
「403 Forbidden」や「ページが見つかりません(404エラー)」などのエラーメッセージが表示された場合、XML-RPCは無効になっている可能性が高いです。


左サイドメニューSiteGuardからXMLRPC防御を選びます。


有効を選び、XMLRPC無効化にチェック。最後に変更を保存をクリック。
※XMPRPC機能を使用したプラグインがインストールされている場合は、支障が考えられます。その場合は、この機能は使わないでください。
9.ユーザー名漏えい防御


管理画面にログインするときの投稿者名やユーザー名は、ハッカーにとって格好の標的となります。何も防御していないと、バレます。
「あなたのサイトのURL/?author=1 」と入力してアクセスしてみてください。
何も対策をしていないと、「あなたのサイトのURL/author/ユーザー名」とアドレスバーに表示され、ユーザー名がわかってしまうのです。



知らないと怖いですね。
対策をしているとページが見つからない(404エラー)やトップページが表示されるなど、ユーザー名は表示されません。
この機能では、/?author=<数字>へのアクセスによる、ユーザー名の漏洩を防ぎます。
このようなリスクを軽減するためも、投稿者名とユーザー名の変更、または投稿者アーカイブは表示しないことが有効です。
投稿者名とユーザー名の変更に関する詳細な対策は、下記の記事で解説しています。


左サイドメニューSiteGuardからユーザー名漏洩防御を選びます。


有効を選び、変更を保存をクリック。
10.更新通知


WordPressのセキュリティ対策として、WordPress、プラグイン、テーマとも常に最新のバージョンを利用することが重要です。
新しいバージョンが公開された場合、管理者メールに更新のお知らせが届きます。


プラグインを自動更新にしている場合は、「一部のプラグインを自動更新しました」という内容で届きます。
関連記事WordPressプラグインアップデート:必要性と安全なバージョンアップ方法


左サイドメニューSiteGuardから更新通知を選びます。


初期設定では有効になっていますので、このままでOKです。
メールでのお知らせが不要な場合は無効にします。
11.WAFチューニングサポート


WAFって何?という方や、プラグイン等で必要な場合以外は初期状態のまま何も設定しなくてもOKです。


左サイドメニューSiteGuardからWAFチューニングサポートを選びます。


初期設定では「無効」になっています。変更せずにこのままでOKです。
ログイン履歴を確認しよう


設定ではありませんが、サイトへのログインの履歴が確認できます。定期的にログイン履歴を確認し、不正ログインの試みが無いかを確認しましょう。
設定ではありませんが、WordPressへのログイン履歴が確認できます。定期的にログイン履歴を確認することをおすすめします。とくにしばらくログインしていなかったサイトの場合、知らない間にハッカーからログインを試されていたなんてこともあります。


左サイドメニューSiteGuardからログイン履歴を選びます。


自分が利用しているIPアドレスは覚えておきましょう。ログインして「ログイン履歴」を見れば自分のIPアドレスがわかります。
画像認証の入力ミスもログインは失敗になります。
不正ログイン履歴発見!





アタックされた~。
SiteGuardプラグインはインストールしていましたが、初期設定のままでした。ログイン履歴を見ると不正ログインの痕跡が。
ログイン名はバレてしまったようで正しいのですが、知らないIPアドレスからです(海外ではなく日本国内のサーバーの複数のIPアドレスからでした)。しかもログインページからではなく「XMPRPC」です。前述「8.XMLRPC防御」の通り「XML-RPC」機能が無効化されていなかったので狙われたのでしょう。
幸いSiteGuardプラグインをインストールはしていたので「失敗」で防げましたが、初期設定のままではこのようにアタックされる可能性があります。初期設定からこのページでご紹介した通りに設定し直しました。その後は不正ログインはありません。
このプラグインをインストールしていなかったら、突破されていたかもしれないと思うと恐ろしいです。
ログインURLを忘れてしまった場合
ログインページのURLを忘れてしまった場合、サーバーファイルの.htaccessを見ればログインページがわかります。
WordPressをインストールしたサーバーのファイルになりますので、サーバー管理画面にログインして操作します。
今回は、エックスサーバーを例に説明します。


エックスサーバーの管理画面にログインします。


ホームページの.htaccess編集をクリック。


ドメイン選択画面から、該当のドメインの右横の選択するをクリック。
.htaccessファイルの中身が表示されます。
まず、その中の
#==== SITEGUARD_RENAME_LOGIN_SETTINGS_START
から
#==== SITEGUARD_RENAME_LOGIN_SETTINGS_END
で囲まれた部分を見つけてください。
そして、その間にある、
RewriteRule ^●●●(.*)$ wp-login.php$1 [L]
の、(.*)$ wp-login.php$1の左にあるURL末尾に表示されている文字が、ログインURLの末尾です。


上の例ですとlogin_96928がURL末尾 です。
この例の場合、ログインURLは次のようになります
確認できたら、何もせずに、サーバーパネルからログアウトします。
まとめ:SiteGuard WP Pluginはログインまわりを守るのに役立ちます
SiteGuard WP Pluginは、WordPressのログインまわりを守りたいときに使いやすいセキュリティプラグインです。
ログインURLの変更、画像認証、ログインロック、XML-RPC防御、ユーザー名漏えい防御などを設定しておくことで、不正ログインのリスクを減らしやすくなります。
ただし、セキュリティ対策はプラグインを1つ入れれば終わりではありません。
強いパスワードを使うこと、WordPress本体・テーマ・プラグインを更新すること、定期的にバックアップを取ること、不要なプラグインを削除することも大切です。
WordPressは小さなサイトでも狙われることがあります。
だからこそ、最初から完璧を目指すより、まずはログインまわりとバックアップから整えていきましょう。
なお、エックスサーバーでWordPressをインストールした場合は、最初から「CloudSecure WP Security」がインストールできますので、そちらを使いましょう。
CloudSecure WP Securityの基本設定は、こちらの記事で解説しています。


SiteGuard WP Pluginも、CloudSecure WP Securityも同機能のプラグインですので、どちらか片方だけで良いです。
サイトを安全に運営する準備ができたら、次はお問い合わせフォームを設置しておきましょう。
仕事の相談や申し込みを受ける入口として、お問い合わせフォームは早めに整えておくと安心です。




