本記事にはPR広告が含まれています。
本記事にはPR広告が含まれています。掲載されている広告についての詳細はプライバシーポリシーをご参照ください。
本記事にはPR広告が含まれています。掲載されている広告についての詳細はプライバシーポリシーをご参照ください。
今回はWordPressのセキュリティ対策プラグイン「XO Security」の使い方・設定方法についてをご紹介したいと思います。
それぞれの設定項目についても1つ1つ詳しく解説していきますので、XO Securityではどんなセキュリティ対策が出来るのかを詳しく知りたいといった方も是非こちらの記事を最後までご覧頂ければと思います。
XO Securityは当サイトでも使用しているセキュリティ対策プラグインなのですが、非常にログイン周りのセキュリティ対策を強化するのに向いていて、個人的な感想としては高機能かつ国産のプラグインの為、日本人にとっても使いやすいプラグインとなっています。
この記事は2021年8月現在の情報を元に執筆されています。
この記事を読むと分かること
XO Securityは特にログイン関連のセキュリティを強化するのに非常に適したプラグインです。
開発者は個人メディアサイト「Xakuro」を運営している日本人プログラマーの石鷹 (ishitaka)さんという方で、現在2021年8月までの有効インストール数は2,000を超えています。(素晴らしいプラグインを開発して頂き、ありがとうございます。)
XO Securityの大きな特徴は、日本人プログラマーに開発された国産のプラグインであるということと、特にログイン周りのセキュリティ対策が簡単に出来るということです。
また、設定出来る項目は以下の通りになっています。
XO Securityで設定出来る項目
1つ1つの設定方法やおすすめ設定については後ほどご紹介します。
まずは「XO Security」プラグインをインストールしましょう。
WordPressの管理画面から「プラグイン」→「新規追加」をクリックし、「XO Security」と検索をします。
そして出てきたこちらを「今すぐインストール」し、「有効化」しましょう。
「有効化」が出来ると、「設定」の中に新たに「XO Security」と書かれた項目が追加されるので、こちらからプラグインの設定を行なっていくような形になります。
それではここでは、XO Securityの「ログイン」タブで設定出来る項目についてを1つずつご紹介していきます。
なおログインに関する設定のおすすめ設定は、以下の写真の通りです。
試行回数制限では、同一IPアドレスからのログイン試行(ブルートフォースアタック)を制限することが出来ます。
デフォルトではプルダウンメニューが「試行回数の制限なし」に選択されていますが、他のメニューを開くと
の5つのから選択出来るようになっていて、その下の項目でログインのリトライ出来る回数を設定することが出来るといった形になっています。
なお、当サイトではやや厳し目に12時間の間に3回までリトライを許可すると設定しています。
ブロック時の応答遅延では、ログインをブロックした時の応答までの遅延時間を設定することが出来ます。
ここは最大の「120」秒に設定しておくことをおすすめします。
失敗時の応答遅延では、ログインに失敗した時の応答までの遅延時間を設定することが出来ます。
ここも最大の「10」秒に設定しておけばOKです。
ログインページの変更では、文字通りWordPressログイン時のURLを変更することが出来ます。
通常WordPressでは、サイトのドメイン名の末尾に「/wp-login.php」と記述すれば、誰でもログイン画面までは辿り着けるような仕様になっています。
例: https:plusoneweb.net/wp-login.php
これでは、悪意あるユーザーに少なくともログインをさせるチャンスを与えてしまっているようなものなので、ここは「ログインページの変更」にチェックを入れ、「ログインファイル」の箇所に任意の項目を記述し、ログインページを変更することをおすすめします。
なお、仮に以下のように記述した場合は、ログイン画面のURLは以下のように変更されます。
ログインページのURL: https://plusoneweb.net/test.php
ただし、ここで変更したログインページのURLを忘れてしまうと、ログイン画面に入れなくなってしまうので、必ずどこかにメモをしておく等して覚えておくようにしましょう。
ログインIDの種類では、ログインする際にIDとして使用出来る項目の種類を設定することが出来ます。
こちらはプルダウンメニューを開くと「ユーザー名またはメールアドレス(デフォルト)」「ユーザー名のみ」「メールアドレスのみ」の3つの選択肢から選ぶことが出来ますが、仮にユーザー名のみにすると以下のように、ログインIDとしてメールアドレスは使用出来なくすることが出来ます。
メールアドレスなどであれば、どこかで知られ場合も多いかと思いますので、念の為「ユーザー名のみ」を選択しておくと良いかもしれません。
ログイン言語制限では、ログインを許可するブラウザの言語設定を指定することが出来ます。
なお、この設定に関してはWordPressの管理画面からは設定することが出来ず、「wp-config.php」に別途コードを追記する必要があります。
ここでは詳しい方法については割愛しますが、気になった方は以下のページを参考にして頂けるとよく分かるかと思います。(「XO_SECURITY_LANGUAGE_WHITE_LIST」と書かれた箇所を見て下さい。)
ログインエラーメッセージでは、ログインに失敗した際に表示されるエラーメッセージの文言を設定することが出来ます。
ここではプルダウンメニューから「デフォルト」と「簡略化」のどちらかを選択出来るのですが、「デフォルト」を選択している場合、仮にユーザー名は当たっている場合、「ユーザー名 – – – のパスワードが間違っています。」といった文言が表示され、ユーザー名が当たっていることを教えてしまうことになります。
その為、ここでの設定は「簡略化」にしておいた方がより安全です。
(ログイン)CAPTCHAでは、ユーザーが本当に人間であり、ボットではないかどうかを判断する為にCAPTCHAテストを追加する為の設定をすることが出来ます。
設定項目は「無効」「英数字」「ひらがな」の3つがあり、仮に「ひらがな」を選択すると、ログイン画面に以下のような認証項目が追加されるようになります。
なお、当サイトでは「ひらがな」を選択しています。
パスワードリセットリンクでは、WordPressログイン画面ßに「パスワードをお忘れですか?」というリンクが付いた文言を表示するか、非表示にするかの設定をすることが出来ます。
こちらは「有効」か「無効」の2つが選択出来、「有効」にしておくと以下のようなパスワードリンクが表示されます。
ログイン情報をきちっと管理できていれば、特に表示する必要もないので、こちらは「無効」にしておくと良いかと思います。
サイトへ移動リンクでは、WordPressログイン画面に「『サイトのタイトル』へ移動」というサイトのトップページへのリンクが付いた文言を表示するか、非表示にするかの設定をすることが出来ます。
こちらもパスワードリセットリンクと同様、「有効」か「無効」の2つが選択出来、「有効」にしておくと以下のようなサイトへ移動リンクが表示されます。
こちらは正直どっちでも良いので、当サイトでは「無効」にしています。
ログインアラートでは、誰かがサイトにログインした時にメールでログインがあったことを知らせるかどうかの設定が出来ます。(また、「オン」にするとメールの件名や本文等を設定することが出来ます。)
こちらを「オン」にすると自分がサイトにログインしたときもメールが送られてくるので、当サイトでは「オフ」にしています。
次は、「コメント」タブで設定出来る項目についてをご紹介します。
コメントに関する設定のおすすめ設定は、以下の写真の通りです。
(コメント)CAPTCHAでは、コメントスパム対策としてコメント欄にもCAPTCHAテストを設置することが出来ます。
こちらも(ログイン)CAPTCHA同様、設定項目は「無効」「英数字」「ひらがな」の3つがありますが、当サイトでは「ひらがな」を選択しています。
なお、こちらを設定するとコメントが貰いにくくなるといった意見もあるので、もし記事に対するコメント等が貰いたいといった方はこちらを「無効」と設定しておくと良いかと思います。
スパム保護フィルターでは、日本語を含まないコメントが書き込まれた場合に、そのコメントの投稿を拒否するかどうかの設定をすることが出来ます。
基本的に日本語のブログ、サイトに外国語だけで書かれたコメントがつくことは少ないと思うので、「オン」にしておくと良いかと思いますが、もし、運営しているサイトが英語で、英語でのコメント等がよくあるといった場合などは、「オフ」しておいた方が良いでしょう。
また、コメントフィードの下に表示する文言等も下のボックスで設定することが出来ます。
ボット保護チェックボックスでは、「私はロボットではありません」と記載されたチェックボックスを表示させるかどうかの設定をすることが出来ます。
ここでフォームを表示してから1秒以内に応答があった場合や、このチェックボックスがチェックされていないといった不審な挙動があった場合はそのアクセスはボットと見なされ、コメントが拒否されます。
ちなみに当サイトではこちらを「オフ」にしていますが、これはコメント欄にセキュリティ関連の項目が増えすぎると少しくどいかなと思った為です。
「XML-RPC」タブで設定出来る項目についてです。
XML-RPCに関する設定のおすすめ設定は、以下の写真の通りです。
XML-RPCとは、WordPressなどのようなWebサービスで管理画面にログインしなくてもリモートで操作することが出来ることを可能にする非常に便利な仕組み、機能のことを言います。
このXML-RPCをコントロールする為のプログラムがWordPressを構成するPHPファイル「xmlrpc.php」に記載されているのですが、こちらはセキュリティ的に弱い部分があり、ブルートフォースアタックなどのようなサイバー攻撃に利用されてしまうことがあります。
その為、外部システムと通信が無いサイトの場合は無効化を「オン」にしておくのが良いでしょう。
WordPressのピンバック機能とは、自分のウェブサイトのURLが他サイトなどに貼り付けられた際に通知してくれる機能のことを言います。
ですが、このピンバック機能はしばしばDDoS攻撃と呼ばれるサイバー攻撃に悪用されることがあります。
ですので、XML-RPCピンバックは基本的に「オン」にして無効化しておくと良いです。
DDoS攻撃とは、ウェブサイトやサーバーに対して過剰なアクセスやデータを送付することで、ウェブサイトやサーバーをダウンさせようとするサイバー攻撃のことを言います。
「REST-API」タブで設定出来る項目についてご紹介します。
WordPress REST APIとはWordPressのバージョン4.7以降から標準で搭載されるようになったもので、WordPressのデータベースの情報をJSON形式で取得できるAPIのことを言います。
これは、WordPressのあるサーバーとは別ドメインのウェブサイト等で投稿記事などの表示、操作が出来るようになるといったような利点があるのですが、以下のような文字列をドメインの後ろに記載すると、飛んだ先のページでユーザー名がバレてしまうといったデメリットがあります。
例: https://plusoneweb.net/wp-json/wp/v2/users
ですので、少なくとも「/wp/v2/users」と「/wp/v2/users/(?P<id>[\d]+)」の2つは無効化しておいて、ユーザー名は外部から見られないように設定しておくと良いです。
なお、「/wp/v2/users」と「/wp/v2/users/(?P<id>[\d]+)」にチェックを入れるには、まず上のオン・オフ切り替えスイッチを「オン」にしてからでないと選択出来ないようになっているので、この点注意しましょう。
REST API URLの変更では、以下のように「wp-json」と書かれた文字列を変更することが出来ます。
例: https://plusoneweb.net/wp-json/wp/v2/users
当サイトでは、上で「/wp/v2/users」と「/wp/v2/users/(?P<id>[\d]+)」の2つを保護する設定をしているので、特に変更していません。
「秘匿」タブで設定出来る項目についてご紹介します。
投稿者スラッグの編集では、プロフィール画面で投稿者スラッグ項目を追加し、編集出来るようにするかどうかの設定が出来るようになります。
なお、この投稿者スラッグは投稿者アーカイブページの URL などに使用されます。
当サイトでは投稿者アーカイブを無効化にしている為、こちらは「オフ」にしています。
投稿者アーカイブの無効化では、投稿者アーカイブページを表示するかどうかの設定をすることが出来ます。
WordPressではデフォルトで、ドメイン名の末尾に「/?author=1」と記載すれば投稿者アーカイブが表示され、スラッグにユーザー名が表示されてしまうという仕様になっている為、ここは「オン」にして無効化しておくことをおすすめします。
例: https://plusoneweb.net/?author=1
コメント投稿者クラスの削除では、コメント投稿にデフォルトで付与されるようになっているユーザー名が入ったクラス名を削除するかの設定をすることが出来ます。
ブログなどではコメント機能を使用してコメントしてくれた人に対して返信を書くといったこともあると思うので、こちらは「オン」にして、削除しておくようにしておくことをおすすめします。
RSS/Atomフィードの無効化では、文字通りRSS/Atomフィードを無効化することが出来ます。
当サイトではRSSを利用している為、こちらは「オフ」にしています。
バージョン情報の削除では、WordPressの現在お使いのバージョン情報の記載をソースコード上から削除するかどうかの設定をすることが出来ます。
当サイトでは、こちらも「オフ」にしています。
最後に「環境」タブで設定出来る項目についてご紹介します。
IPアドレスの取得方法では、ログインログに表示されるIPアドレスの取得方法を設定することが出来ます。
IPアドレスの取得方法は基本的に「自動」でOKです。
なお、ログインログを確認するには、WordPressの管理画面から「ユーザー」→「ログインログ」を開いた画面で確認することが出来るようになっています。
ログインログの自動削除では、ログインログを何日前まで保存しておくかを設定することが出来ます。
こちらはプルダウンメニューを開くと、「自動削除しない」「30日以前」「365日以前」の3つから選択出来るのですが、ログインログが溜まるとサイトが重くなってしまうので、当サイトでは「30日以前」を選択しています。
まとめです。今回はWordPressのセキュリティ対策プラグイン「XO Security」の使い方・設定方法についてをご紹介しました。
WordPressはサイバー攻撃が特に多いことでも知られている為、WordPressを使ったウェブサイトを運用する際はセキュリティ対策をしっかりと施しておかなければなりません。
セキュリティ対策プラグインはいくつかありますが、設定がシンプルでかつ日本語対応している国産のセキュリティ対策プラグインを探している方は、是非「XO Security」を導入されることをご検討してみて下さい。
今回は以上になります。最後までご覧頂き、ありがとうございました。
この他にも当サイトではサイト運営で役立つオススメのプラグインを紹介しています。
気になった方はこちらも併せてご覧下さい。
元日本語教師。2020年12月にフリーランスのWeb制作者・SEOライターとして独立。
ポートフォリオ: https://ryouslashweb.com/
詳細は運営者情報ページに記載。