XO Security – ログインURL変更や投稿者アーカイブの無効化もできるWordPressプラグインの使い方まとめ

WordPressはブルートフォースアタックなどの外部からの攻撃を受けやすいので、個人で運用しているブログであってもセキュリティ対策をやっておかないといけません。

本日ご紹介するXO Securityは、WordPress側でできる最低限のセキュリティ対策が1つになったプラグインで、主にログイン周りを中心に、作成者アーカイブの無効化できたりコメントにCAPTCHAをつけることができたり、あとはXML-RPC PingbackやREST APIを無効にすることができます。

今回の記事では、XO Securityのオススメ設定も合わせて紹介しますので、ぜひ参考にしてもらえればと思います★

XO Securityプラグインでできること・特徴

XO Security - ログインURL変更や投稿者アーカイブの無効化もできるWordPressプラグインの使い方まとめ

まずはXO Securityできることから見ていきます。

XO Securityプラグインの特徴
  1. ログインに関するセキュリティ対策
  2. コメントCAPTCHAによるスパム対策
  3. XML-RPCピンバクックの無効化
  4. REST APIの無効化およびREST API URL(wp-json/)の変更
  5. 投稿者アーカイブページの無効化
  6. ログインログも管理画面で簡単チェック(ログ自動削除付き)
  7. プラグインは日本語対応(日本人が作者)

特にログイン周りのセキュリティ対策が手厚いのが大きな特徴です。ログインURLの変更やロックアウト、ログインアラートの通知、CAPTCHA、言語制限といった、主にブルートフォースアタック対策にも有効な機能が勢揃いです。

そのほかにも、使用しないリモート操作の機能はOFFにできたり、投稿者アーカイブページの無効化が管理画面から簡単にコントロールできます。「これだけ機能盛りだくさんで、本当に無料で使っていいの?」って思うくらい、かなりオトクなプラグインなんじゃないかと思います。

・・・

ではここからはXO Securityプラグインのインストールから設定の流れを見ていくことにしましょう★

XO Securityプラグインのインストール

管理画面左メニューの「プラグイン」>「新規追加」へ進みます。
XO Security - ログインURL変更や投稿者アーカイブの無効化もできるWordPressプラグインの使い方まとめ

「XO Security」を検索してインストールします。
XO Security - ログインURL変更や投稿者アーカイブの無効化もできるWordPressプラグインの使い方まとめ

プラグインを有効化したら、XO Securityの設定ページへ進みます。
XO Security - ログインURL変更や投稿者アーカイブの無効化もできるWordPressプラグインの使い方まとめ

XO Securityの設定

XO Securityの設定画面です。ここでは現在のステータスが表示され、緑の印になっているところは有効になっている設定だということを示しています。
XO Security - ログインURL変更や投稿者アーカイブの無効化もできるWordPressプラグインの使い方まとめ

XO Securityを入れた直後は「ログインログの記録」しか有効になっていないので、ページ上部の「ログイン」「コメント」「XML-RPC」「REST API」「秘匿」の各タブリンクから、1つずつ設定していきましょう。

ログイン

まずはログイン。設定項目が一番多いです。それだけログイン周りのセキュリティ対策ってのが重要なんだということでしょう。
XO Security - ログインURL変更や投稿者アーカイブの無効化もできるWordPressプラグインの使い方まとめ

試行回数制限
ログインに失敗したときのリトライ数に制限をかけることができます。プルダウンメニューで選択できるのは1、12、24、48の「時間」で、その下のテキストフィールドには「数字(回数)」を入力します。初期値は「4」です。

基本はログイン時のIPアドレスを見ているので、同一アドレスで何回もログインに失敗するとブロックするような制限をかけることができます。

ここではその時間と回数の設定できる訳ですが、例えば「24時間で4回」の指定にすると、「24時間の間に4回までリトライを許可する」ということなります。

ブロック時の応答遅延
ログインをブロックした際の応答遅延の時間を設定します。0から120秒の間から選ぶことができ、初期値は「10」です。ここはできるだけ長い時間が良いので「120」にしておけばOK

失敗時の応答遅延
ログインのリトライに失敗したときの応答遅延の時間を設定します。0から10秒の中で時間を選ぶことができます。初期値は「1」ですが、これも長めの「10」でOKかと。

ログインページの変更
WordPressのログインページはドメイン名/wp-login.phpと決まっているので、これを別のURLヘと変更することができます。

なお、マルチサイトサブドメインタイプのWordPressでは、ログインページのURL変更はサポートされていないので注意が必要です。

XO Security - ログインURL変更や投稿者アーカイブの無効化もできるWordPressプラグインの使い方まとめ

ログインアラート
ログインしたら通知メールを飛ばすかどうかの設定と、その通知メールの中身を編集することができます。

1人でブログを運営しているような場合、このメッセージが来るとしたら自分がログインしたときか、もうすでに他の誰かに侵入されたとき…ということなので、

必要であればこのアラートはONにしたら良いかもですが、個人ブログだったらわたしはOFFでも良いかなと思っています。

ログインエラーメッセージの変更
ログイン失敗時のエラーメッセージを汎用的なものへと変更します。

例えば、ログイン時にユーザー名が間違っていれば「ユーザー名が無効です。パスワードをお忘れですか?」にようなエラーメッセージが表示されます。

で、パスワードが間違っていれば「エラー:ユーザー名*********のパスワードが間違っています。パスワードをお忘れですか?」のような、とても親切なメッセージが表示されます。

しかしこれ、親切が故に第三者が見たら「どっちかは合ってるんだな」ということが分かってしまうことにもなるわけです。

そこでログインエラーメッセージの変更をオンにしておくことで、仮にユーザー名、パスワードどちらかが合っているときでも「ユーザー名またはパスワードが間違っています。」のような汎用的なメッセージを出してくれるようになります。
XO Security - ログインURL変更や投稿者アーカイブの無効化もできるWordPressプラグインの使い方まとめ

XO Security - ログインURL変更や投稿者アーカイブの無効化もできるWordPressプラグインの使い方まとめ

メールアドレスによるログインの無効化
ログインの際にメールアドレスは使えないようにします(ユーザー名のみにする)。この辺は今までfunctions.phpとかでやっていたコントロールが、管理画面からできるのはホント楽で良いですね★

ログイン言語制限
最初から「無効」になっていて、変更できないぽいです。

ログインCAPTCHA
ログイン時に画像認証するかどうかを決めます。CAPTCHAを使う場合「英数字」「ひらがな」から選ぶようにします。

ログインログの自動削除
ログをずっと貯めておくか、一定期間過ぎたログは削除するのかを選びます。

ログが貯まっていくと結構容量くっちゃうので、30日以前のものは消しても良いかなと思います。

コメント

次に「コメント」の設定について見てみましょう。
XO Security - ログインURL変更や投稿者アーカイブの無効化もできるWordPressプラグインの使い方まとめ

コメントCAPTCHA
コメントフォームにCAPTCHAを付けるかどうかを決めます。CAPTCHAを使う場合、ログインのときと同じように「英数字」「ひらがな」から選びます。

他のプラグインでもコメントスパム対策できるんですが、XO Securityしか使っていないのであればここはONにしておくことをおススメします。

コメントはホントにスパムが多い。。。

XML-RPC

続いて「XML-RPC」です。
XO Security - ログインURL変更や投稿者アーカイブの無効化もできるWordPressプラグインの使い方まとめ

ここでは以下の2つの機能を無効化することができるんですが、

XML-RPCの無効化
XML-RPCピンバックの無効化

まずはXML-RPCについて簡単な解説から。

ここでのXML-RPCはざっくり言うと、スマホアプリから記事をリモート投稿できるなど、WordPressを外部からコントロールできる(リモート操作)機能のことです。

いちおう、↓こんなコトができるとされています。

WordPressのXML-RPC機能
  • リモートで投稿の追加や削除、編集ができる
  • リモートでファイルのアップロードができる
  • WordPressにサイトに貼られたURLへのピンバック送信

便利であることは間違いないんですが、リモートから操作ができるということは悪用されるケースもあるということなので、セキュリティ上、取り扱いが難しい機能ではあります。

XML-RPC、XML-RPCピンバックは無効化した方が良いか?

わたしが運営する複数のWordPressブログのログインログを見ても、XML-RPC(xmlrpc.php)へのアクセスは多いです。

これはブルートフォースアタックか、大量のピンバック送信により相手サーバーへ攻撃するDDosなのか…?は分かりませんが、リモート機能は(今後も)使わないよという場合は無効化しておく(XO Securityの画面でオンにチェックを入れておく)でOKかと思います。

(今後も)と書いたのは、もし今後、WordPressがXML-RPCを使って新たなコトをやり始めた場合、XML-RPCを無効化していると使用できない可能性があるためです。まぁ、この辺は予想なので分かりませんが。。。

REST API

XO Security - ログインURL変更や投稿者アーカイブの無効化もできるWordPressプラグインの使い方まとめ

REST APIでは、以下下の2つの設定をします。

REST API の無効化
REST API URLの変更

ここでもまずは「WordPressのREST APIって何ぞや?」についてざっくり説明します。

REST APIとは、JSON形式(JavaScript)でWordPressの記事やページなどの情報を取得できる機能のことです(他にもありますが)。

ブログの記事を書いて運営しているだけだと、REST APIに触れる機会が少ないかもしれないですが、

例えばドメイン名の最後に/wp-json/wp/v2/posts/のように打ち込むと、投稿一覧の結果を返してくれるのが分かると思います。

ただし、取得できるのは記事やページの情報だけではなく、WordPressのユーザー情報にまで及ぶので、これをどうしようか・・・がネックになるわけです。

REST APIの無効化について

REST APIを使用しないなら全部無効化(REST API の無効化をオンにして、その下の各チェックボックスにも全てチェック入れる)しておけばOKです。

で、ユーザー名だけ知られたくないという場合は、以下の2つにチェックしておくと良いです。

  • /wp-json/wp/v2/users
  • /wp/v2/users/(?P[\d]+)
XO Security - ログインURL変更や投稿者アーカイブの無効化もできるWordPressプラグインの使い方まとめ

無効化したら、ドメイン名/wp-json/wp/v2/usersでアクセスして"rest_no_route"と返ってくればOKです。

REST API URLの変更

さきほどの話の中で出てきた「wp-json/」のURLを別の文字列に変更することができるのが「REST API URLの変更」です。

ログインURLのときと同じように、WordPressを色々さわっている人だと/wp-json/というURLがあるのはすで知っている話なので、「じゃあ、別の名前に変えてしまおう」ということです。

ココはお好みで設定変更すればいいのかなと思います。

秘匿

最後に「秘匿」です。
XO Security - ログインURL変更や投稿者アーカイブの無効化もできるWordPressプラグインの使い方まとめ

ユーザー情報を隠したいのではあれば、基本的に下の2つはどちらもチェックしておくことをオススメします。

作成者アーカイブの無効化
コメント著者名クラスの無効化

ログインログの確認

管理画面の左メニュー「ユーザー」>「ログインログ」からログを確認することができます。
XO Security - ログインURL変更や投稿者アーカイブの無効化もできるWordPressプラグインの使い方まとめ

ログインログのページでは以下の情報が表示されます。

日時
結果(成功か失敗か)
ログイン時のIPアドレス
ログイン時の言語
ユーザーエージェント
ユーザー名
パスワード

第三者が自分のユーザー名を使ってログインしている(を試している)とか、パスワードがバレちゃってる…なんてときは、すみやかにユーザー情報を変更した方がよいです。

※ちなみに、WordPressのユーザー名変更の方法は、以下の関連記事でも紹介していますので、合わせて参考にしてみてくださいね。

WordPressで管理画面からユーザー名を変更する方法と注意点まとめ

2019年5月20日
ユーザー名がバレることを過度に気にする方もいると思うので補足しておくと、

例えばログイン時にベーシック認証やアプリを使った2段階認証を掛け合わせてしておけば、仮にユーザー名がバレたところで、めちゃくちゃ大きな問題にはなりません。(あと、複雑なパスワードにしている、てってのも前提です。)

XO Securityなどのプラグインは、あくまでWordPressの中だけでできるセキュリティ対策であって、他の対策(認証など)と組み合わせることで、セキィリティレベルをグンッとアップさせることができます。

XO Securityのオススメ設定

ここまで個別にXO Securityの設定について解説をしてきましたが、最後にXO Securityのオススメ設定を一覧でまとめておきます。

ログイン
試行回数制限12時間で4回
ブロック時の応答遅延120
失敗時の応答遅延10
ログインページの変更オン
ログインアラートオフ(どっちでもOK)
ログインエラーメッセージの変更オン
メールアドレスによるログインの無効化オン
ログインCAPTCHAオン
ログインログの自動削除30日以前
コメント
コメントCAPTCHAオン
XML-RPC
XML-RPCの無効化オン
XML-RPCピンバックの無効化オン
REST API
REST APIの無効化オン
/wp/v2/users
/wp/v2/users/(?P[\d]+)
REST API URLの変更任意
秘匿
作成者アーカイブの無効化オン
コメント著者名クラスの無効化オン

XO SecurityとSiteGuard WP Pluginとの違い

XO Securityと同じようなセキュリティ対策用プラグインとして「SiteGuard WP Plugin」があります。

両方のプラグインを使ったことがあるので、SiteGuardとXO Securityとでは何がどう違うのか?を比較してみると、だいたいこんな感じです。

SiteGuard WP Pluginではできないこと
  • メールアドレスによるログインの無効化
  • 作成者アーカイブの無効化
  • コメント著者名クラスの無効化
  • REST APIの無効化
  • ログインログの自動削除
  • XML-RPC無効化はあるにはあるけど、XMLRPCの無効化かピンバックの無効化か、いずれか一方しか選択できない
SiteGuard WP Pluginだとできること
  • 管理ページアクセス制限(ログインしていない接続元IPアドレスからwp-admin/を保護する機能)
  • フェールワンス(正しい入力であってもログインを一回失敗させる機能)
  • バージョンアップの更新通知
  • IPアドレス取得方法の選択

ログインURLを変更したり、ログインブロックができるなど、他の機能はどちらもほぼ同じです。

どっちが優れているとかの話ではないので、必要な対策と使いたい機能を比較検討して選べばいいかなと思います。

わたしも、運営するサイトによっては「管理ページアクセス制限」の機能が欲しいときもあるので、そんな時はSiteGuard WP Pluginを使ったりしますし、作成者アーカイブの無効化を管理画面でやってしまいたい場合はXO Securityの方がいいかな、といった具合にまちまちです。

XO Securityプラグインの特徴と使い方のまとめ

最後に、XO Securityできることのまとめを以下に挙げておきます。

  1. ログインURLの変更やロックアウト、ログインアラート、CAPTCHAといったログイン周りのセキュリティ対策が手厚い
  2. CAPTCHAによるコメントスパム対策もできる
  3. XML-RPC、XML-RPCピンバクックの両方を無効化できる
  4. REST APIの無効化や、wp-json/のREST API URLの変更もできる
  5. 投稿者アーカイブページが管理画面から簡単に無効化できる
  6. ログインログの確認ができ、ログの自動削除設定もできる
関連記事

コメントを残す