MENU
WP-Search
WP-Search
SEOキーワードツール
SEOキーワードツール
note
WP-Search

XO Securityの設定方法と不具合対処【初心者/SWELL向け】

この記事では、WordPressプラグイン「XO Security(エックスオー セキュリティ)」の初期設定と使い方を、画像を用いてわかりやすくご紹介します。

WordPress(ワードプレス)で必ず最初にインストールするのが、セキュリティ対策プラグインです。

無料で簡単にセキュリティ対策ができるので、XO Security」は初心者におすすめです。

suya

ログインページのURL変更は定番ですね。

なるほどくん

なるほど!大切なサイトを乗っ取りから守りたいですね。

ログインできないとき、変更したログインURLを忘れた場合の復旧方法についても記載しています。

この記事でできること
  • XO Security」の初期設定が完了できる
  • 設定項目の重要度がわかる
  • 管理画面にログインできないときの対処法がわかる

この記事を最後まで読めば、WordPress(ワードプレス)で不正アクセス対策がすぐ完了します。

ぜひ最後まで進めてみてください。

すでに途中まで進めている人は、目次から該当箇所に飛ぶこともできます。

目次

セキュリティ対策プラグイン「XO Security」は必要か?

セキュリティ対策プラグインは、以下のような目的で必要になります。

セキュリティ対策プラグインを利用する目的
  • 自分の個人情報漏洩を防ぐため
  • 顧客の個人情報漏洩を防ぐため(ビジネスサイト)
  • サイトの改ざんや乗っ取りを防ぐため
  • 踏み台にされて、第三者を攻撃しないため

公開されたサイトは、気づいていないだけで、悪意のあるロボットから毎日攻撃を受けています。

suya

踏み台にされると、海外から警告が届いたりします。

WordPress(ワードプレス)を利用する場合は、必ずインストールするようにしてください。

以下のような対策も合わせて実施してください。

WordPressの最低限のセキュリティ対策

セキュリティ対策をしていないとどうなるか?

例えば、よくあるパスワードリストを使った辞書攻撃をブロックすることができません。

suya

時間はかかりますが、いずれ突破されます。

なるほどくん

なるほど!対策が必要ですね。

例えば、自分以外の誰かがログインしても、気づくことができません。

suya

設定しておけば、ログイン通知メールが届きます。

なるほどくん

なるほど!すぐ気づけますね。

例えば、コメントスパムが毎日のように届きます。

suya

ロボット判定機能でスパムを防止できます。

なるほどくん

なるほど!余計な通知が減りますね。

例えば、トップページURLに「/wp-login.php」や「/wp-admin/」を追加すると、誰でもログインページにアクセスできます。

WordPress(ワードプレス)のログイン画面
「/wp-login.php」や「/wp-admin/」
suya

ログインURLの変更で対策できます。

なるほどくん

なるほど!攻撃されにくくなりますね。

プラグイン「XO Security」とは

XO Security」は、初心者向けのセキュリティ対策プラグインです。

「XO Security」でできること
  • ログイン試行回数などを制限(プラグイン「Limit Login Attempts」が不要)
  • CAPTCHA(画像認証)でログイン認証
  • ログインURLの変更(管理画面と分けることができる)
  • コメントスパム対策(プラグイン「Akismet」が不要)
  • 投稿者スラッグの秘匿(プラグイン「Edit Author Slug」が不要)

XO Security」と同様のセキュリティ対策プラグインで、.htaccessを使用する「SiteGuard WP Plugin」もあります。

「XO Security」と「SiteGuard WP Plugin」の比較

セキュリティ対策プラグイン「XO Security」と「SiteGuard WP Plugin」の違いを比較してみましょう。

重要度項目XO SecuritySiteGuard
ログイン障害の少なさ(.htaccess不要)×
管理ページアクセス制限×
ログインURLの変更
ログインCAPTCHA(画像認証)
コメントCAPTCHA(画像認証)
コメントチェックボックス×
コメント日本語のみ制限×
ログインエラーメッセージの簡略化
ログインロック(試行回数制限など)
メールアドレスのログイン拒否×
ログインアラート(メール通知)
ログインログ(履歴)
フェールワンス(必ず一回ログイン失敗)×
XML-RPC の無効化
REST API の無効化
投稿者スラッグの秘匿×
投稿者スラッグへリダイレクト禁止(ユーザー名漏えい防御)×
WordPressバージョン情報の秘匿×
バージョンアップの更新通知(メール通知)×
SiteGuard WAFのチューニング設定×
設定内容の保持×
  • 二段階認証が必要な場合は、「Two-Factor」がおすすめです。

XO Security」は.htaccessファイルを改変しないため、設定ミスなどでログイン障害になりにくいです。

これだけでも「XO Security」がおすすめですが、他にもかゆいところに手が届くようになっています。

「XO Security」がおすすめの理由
  • 設定画面がシンプルでわかりやすい
  • コメント荒らし(コメントスパム)をCAPTCHA(画像認証)なしでも対策できる
  • メールアドレスでのログインを拒否できる
  • プラグインを無効化しても設定が保存されている
suya

XO Securityは初心者向け、SiteGuardは技術がわかる人向けです。

.htaccessとは、サーバーでディレクトリ単位に格納できるテキストファイルで、アクセス制限などが可能です。

ApacheやApache互換のLiteSpeedなどのWebサーバーで利用できます。

「XO Security」で不要になるプラグイン

XO Security」を利用すると、機能が重複する以下のプラグインは不要になります。

プラグイン名説明
Limit Login Attemptsログイン試行回数の制限
Akismet Spam Protectionコメントスパム対策
Edit Author Slug投稿者スラッグの秘匿
suya

アンインストールしてしまいましょう。

セキュリティ対策プラグインとして「Wordfence Security」も有名ですが、初心者にはおすすめしません。

  • 動作が重いため、サイト高速化(ページ表示速度)の妨げとなる
  • WAF機能による不具合やログイン障害が増える

プラグイン「XO Security」を導入する流れ

WordPress(ワードプレス)の管理画面から「XO Security」プラグインをインストールします。

プラグインを有効化したら「ログインページ変更」などの設定を確認・変更していきます。

「ログインページURL」を変更した場合は、必ずブックマークしておきましょう。

1) プラグイン「XO Security」をインストール

作業を開始する前に、サーバーでバックアップを取得しておくことをおすすめします。

WordPress(ワードプレス)にログインしたら、左メニューの[プラグイン][新規追加]をクリックして、[プラグインの検索]をします。

WordPress(ワードプレス)のプラグインを検索して新規追加
[プラグイン]→[新規追加]から、[プラグインの検索]

[プラグイン][新規追加]から「XO Security」を検索して、[今すぐインストール]した後に[有効化]します。

WordPressプラグイン「XO Security」のインストール
「XO Security」をインストール・有効化

2) プラグイン「XO Security」の設定方法

XO Security」は、デフォルト設定がすべてOFFのため、必ず設定変更するようにしてください。

時間のない方は、画像だけ見ながら設定作業をしてみてください。

事前) ステータス

左メニューの[設定][XO Security]をクリックして、「XO Security 設定」を開きます。

WordPressプラグイン「XO Security」のステータス(初期設定)
「XO Security 設定」を開く

ステータス」を見ると、まだ何も設定されておらず、ログインログ(履歴)だけ記録が開始されています。

1) ログイン設定

タブメニューの[ログイン]をクリックして、「ログイン設定」画面を開きます。

WordPressプラグイン「XO Security」のログイン設定(初期)
「ログイン設定」を開く

試行回数制限応答遅延ログインページの変更ログインIDの種類ログインエラーメッセージを変更します。

WordPressプラグイン「XO Security」のログイン設定(変更)
試行回数制限、応答遅延、ログインページの変更、ログインIDの種類、ログインエラーメッセージを変更
重要度設定項目説明
試行回数制限ロボット試行回数でログインロック
12時間で4回までリトライ可能に設定
ブロック時の応答遅延ログインロック時に応答遅延
→ 最大(120秒)に設定
失敗時の応答遅延ログイン失敗時に応答遅延
→ 最大(10秒)に設定
ログインページの変更ログインURL(wp-login.php)の変更
変更したら必ずブックマーク
ログイン ID の種類ユーザー名とメールアドレスから選択
→ 公開するメールアドレスログイン拒否
ログイン言語制限ログインする言語を制限
→ PHP(プログラミングコード)の編集が必要
ログインエラーメッセージログイン失敗時のエラー表示
簡略化してログイン失敗理由を秘匿

ログインページの変更を設定した場合、必ず変更したログインページのURLをブックマークしておいてください。

WordPressプラグイン「XO Security」のログイン設定(ログインページのブックマーク)
変更したログインページのURLをブックマーク

ログインページからでないと、管理画面やダッシュボード(/wp-admin/)にアクセスできなくなります。

最後に復旧方法をまとめているので、もしログインできなくなった場合は参考にしてください。

SWELLテーマを使用している場合に、ログインURLを変更すると勝手にログアウトすることがあります。

以下の記事を参考に、Prefetchの除外設定をしてください。

  • ログインURLの変更は、他の技術的な対策をしっかりやっているなら不要な場合もあります。

ログイン ID の種類は、メールアドレスのログインを拒否するため、「ユーザー名のみ」にするのがおすすめです。

悪意のある人物・ロボットが、公開されているメールアドレスを収集して、不正ログインに用いる恐れがあります。

ログインエラーメッセージは、存在するユーザー名を秘匿するため簡略化するのがおすすめです。

WordPress(ワードプレス)では、以下のようにユーザーが存在するかどうか、エラーメッセージで判別できてしまいます

ユーザーが存在しない場合

WordPressプラグイン「XO Security」のログイン画面(ユーザー名のエラーメッセージ)
ログインユーザーのエラーメッセージ

ユーザーが存在する場合

WordPressプラグイン「XO Security」のログイン設定(パスワードのエラーメッセージ)
ログインパスワードのエラーメッセージ

このエラーメッセージを同じにすることで、ユーザー名やメールアドレスが特定されるのを防止します。

CAPTCHAログインアラートを変更して[変更を保存]をクリックします。

WordPressプラグイン「XO Security」のログイン設定(ログインフォーム、ログインアラート)
CAPTCHA、ログインアラートを変更
重要度設定項目説明
CAPTCHAログインフォームに画像認証を設置
→ 海外ロボットが対応しにくい「ひらがな」を選択
パスワードリセットリンク「パスワードをお忘れですか?」のリンク表示
→ 本当に忘れたときのために「有効」のまま
サイトへ移動リンク「← デモサイト へ移動」のリンク表示
→ ドメイン同じなら「有効」のまま
ログインアラート誰かがログインしたときのメール通知
→ 自分以外のログインに気づくためにON

画像認証(CAPTCHA)は、日本語サイトであれば、「英数字」ではなく「ひらがな」に設定することをおすすめします。

日本語対応のロボットは少ないため、日本語にするだけで強力なロボット対策になります。

画像認証(CAPTCHA)を「ひらがな」に設定すると、以下のようなログインページになります。

WordPressプラグイン「XO Security」のログイン画面(CAPTCHAひらがな)
CAPTCHA「ひらがな」設定のログインページ

画像認証(CAPTCHA)は、キャッシュプラグインやCDNなどを利用している場合、ログインできなくなる恐れがあります。

キャッシュプラグイン(高速化プラグイン)としては、以下のようなものがあります。

タブを切り替える前に[変更を保存]しないと、変更内容が破棄されるため注意してください。

2) コメント設定

タブメニューの[コメント]をクリックして、「コメント設定」画面を開きます。

WordPressプラグイン「XO Security」のコメント設定(初期)
「コメント設定」を開く

CAPTCHAを「ひらがな」に設定して[変更を保存]をクリックします。

WordPressプラグイン「XO Security」のコメント設定(CAPTCHA)
CAPTCHAを「ひらがな」に設定
重要度設定項目説明
CAPTCHAコメントフォームに画像認証を設置
→ ユーザーはひらがなで画像認証を入力
スパム保護フィルターコメントフォームを日本語のみに制限
→ ユーザーは気にならないが、bot増加
スパムとして保存されているコメントのメールアドレススパム設定したコメントのメールアドレス制限
→ コメント手動承認でないならON
スパムコメントスパムコメントをどうするか
→ ブロック/ スパムとして保存 / ゴミ箱 から選択
ボット保護チェックボックス「私はロボットではありません。」チェックボックスを追加
→ ユーザーはチェックボックスをチェック

スパム保護フィルター」では、日本語タイトルをコピペするBotに突破されました。

ユーザー操作が必要になりますが、「CAPTCHA(画像認証)」か「ボット保護チェックボックス」のどちらかを設定するのをおすすめします。

両方設定してしまうと、ユーザビリティが損なわれるため、必ず片方だけ設定するようにしましょう。

ボット保護チェックボックス」をONにすると、以下のようにコメント入力の際にチェックボックスに同意が必要になります。

WordPressプラグイン「XO Security」のコメント設定(ボット保護チェックボックス )
私はロボットではありません。

これは、人とロボットプログラムの挙動を判別するためのものです。

XO Security」を導入していれば、スパム対策プラグインAkismet」が不要になります。

プラグインを減らせば、それだけ不具合が減り、サイト表示速度も速くなるためSEO対策にもなります。

3) XML-RPC 設定

タブメニューの[XML-RPC]をクリックして、「XML-RPC設定」画面を開きます。

WordPressプラグイン「XO Security」のXML-RPC設定(初期)
「XML-RPC設定」を開く

XML-RPC ピンバックの無効化のトグルをONに変更して[変更を保存]をクリックします。

WordPressプラグイン「XO Security」のXML-RPC設定(XML-RPCピンバックの無効化)
XML-RPC ピンバックの無効化をON

XML-RPCとは、プログラム開発に利用する通信方式(プロトコル)の一種です。

ブルートフォースアタック(総当たり攻撃)などの攻撃に悪用されることがあります。

ただし、XML-RPCを無効にすると、プラグインが動かなくなってしまうことがあります。

そのため、DDoS攻撃(過負荷攻撃)に悪用されるXML-RPC ピンバックだけ無効化します。

XML-RPCがONのままだと、アクセスログにたくさん攻撃のログインログが残るはずです。

それが嫌な場合は[XML-RPCの無効化]をONに変更してください。

ただし、プラグインが動かなくなる不具合の可能性があるため、必ずサイトの動作確認を行います。

4) REST API 設定

タブメニューの[REST API]をクリックして、「REST API設定」画面を開きます。

WordPressプラグイン「XO Security」のREST API設定(初期)
「REST API設定」を開く

REST API の無効化を設定して[変更を保存]をクリックします。

WordPressプラグイン「XO Security」のREST API設定(REST APIの無効化)
REST API の無効化を設定

REST APIとは、プログラム開発に利用する通信方式(プロトコル)の一種です。

これまでに、サイト改ざんなどの脆弱性を悪用する攻撃が行われています。

ただし、REST APIを無効にすると、プラグインが動かなくなってしまうことがあります。

そのため、ユーザー名の秘匿に関わる以下の項目のみ無効化するのをおすすめします。

/wp/v2/users
/wp/v2/users/(?P<id>[\d]+)

WordPress(ワードプレス)の脆弱性を悪用されないように、定期的にアップデート(更新)して最新のバージョンに保ちましょう。

5) 秘匿設定

タブメニューの[秘匿]をクリックして、「秘匿設定」画面を開きます。

WordPressプラグイン「XO Security」の秘匿設定(初期)
「秘匿設定」を開く

投稿者スラッグの編集コメント投稿者クラスの削除バージョン情報の削除をONにして[変更を保存]をクリックします。

WordPressプラグイン「XO Security」の秘匿設定(投稿者スラッグ、RSSフィード、WordPressバージョン)
投稿者スラッグの編集、コメント投稿者クラスの削除、バージョン情報の削除をON
重要度設定項目説明
投稿者スラッグの編集投稿者アーカイブ(著者ページ)URLに含まれるIDの変更
ユーザー名を秘匿するためONに変更
投稿者アーカイブの無効化投稿者アーカイブ(著者ページ)のアクセス制限
→ 記事一覧を表示するためOFFのまま
コメント投稿者クラスの削除コメント投稿者に含まれるIDの削除
ユーザー名を秘匿するためONに変更
oEmbed ユーザー名の削除oEmbed JSONデータに含まれるIDの削除
ユーザー名を秘匿するためONに変更
RSS/Atom フィードの無効化RSSフィードの無効化
→ 「要約」配信ならOFFのまま
バージョン情報の削除WordPressバージョン情報の削除
→ 古い脆弱性を狙われないようにONに変更
  • 3.3.0から「oEmbed ユーザー名の削除」の機能が追加されました。(2022/7/28)

WordPressの「表示設定」で、「フィードの各投稿に含める内容」を[要約]に設定している場合は、RSS/Atom フィードの無効化をする必要はありません。

WordPress(ワードプレス)の表示設定(フィード要約)
フィード設定を変更

その他のWordPress(ワードプレス)の初期設定については、以下を参考にしてください。

投稿者スラッグの編集をONにした場合、投稿者スラッグをデフォルト設定(ユーザー名)から変更する必要があります。

左メニューの[ユーザー][プロフィール]もしくは右上のアイコンから、「プロフィール設定」画面を開きます。

ページ下部の「投稿者スラッグ」をユーザー名以外に変更して[プロフィールを更新]をクリックします。

WordPressプラグイン「XO Security」の投稿者スラッグ(ユーザープロフィール設定)
「投稿者スラッグ」をユーザー名以外に変更

投稿者スラッグを「空白」にしてしまうと、ユーザー名(ログインID)が設定されるため注意してください。

投稿者アーカイブとは、投稿者ごとに記事一覧を表示するアーカイブページです。著者ページとも呼びます。

suya

私(suya)の投稿者アーカイブは以下です。

https://manuon.com/author/suya/

投稿者スラッグとは、投稿者アーカイブページのURLのユーザー名(例:suya)を表す部分です。

WordPressでは、この「ユーザー名=ログインID」になっているため、簡単にログインIDがわかってしまいます。

suya

以下のURLにアクセスしてみてください。

https://manuon.com/?author=1

ユーザー名を知らなくても、上記のURLからリダイレクトされるので、簡単にユーザー名がわかります。

そして、不正ログイン攻撃は、ほぼこのユーザー名を特定して行われます。

そのため、投稿者スラッグからログインIDを推測できないような対策を行うわけです。

このサイトでは、投稿者スラッグ=ニックネームに変更していますのでご安心ください。

XO Security」を導入していれば、プラグインEdit Author Slug」が不要になります。

プラグインを減らせば、それだけ不具合が減り、サイト表示速度も速くなるためSEO対策にもなります。

6) 環境設定

「環境設定」画面は、デフォルト設定(自動)のままで大丈夫です。

WordPressプラグイン「XO Security」の環境設定(初期)
「環境設定」を開く
重要度設定項目説明
IP アドレス取得方法接続IPアドレスの取得方法
→ デフォルト設定(自動)のまま
ダッシュボード
ログイン情報ウィジェット
ダッシュボード表示
→ ご自由に
ログインログ
自動削除
ログインログ(履歴)の保存期間
→ デフォルト設定(365日以前)のまま
ログインログ
デフォルトで表示する結果
ログインログのデフォルト表示
→ ご自由に

CDN、ロードバランサー、プロキシサーバーなどを使用している場合は、IPアドレス取得方法を変更することがあります。

CDN(コンテンツ配信ネットワーク)とは、サイトデータを複製・配信して高速化するキャッシュサーバー群です。

以上で、セキュリティ対策プラグイン「XO Security」の設定は完了です。

タブを切り替える前に[変更を保存]しないと、変更内容が破棄されるため注意してください。

ログインページの変更を設定した場合、必ず変更したログインページのURLをブックマークしておいてください。

WordPressプラグイン「XO Security」のログイン設定(ログインページのブックマーク)
変更したログインページのURLをブックマーク

ログインページからでないと、管理画面やダッシュボード(/wp-admin/)にアクセスできなくなります。

参考)フッターやサイドバーのログインリンクを非表示にする方法

WordPressのバージョンアップで、ログインリンク(メタ情報)はデフォルトで削除されるようになりました。

WordPress(ワードプレス)では、最初サイドバーフッターにログインページへのリンクが表示されています。

WordPressウィジェットのメタ情報(ログイン)
メタ情報

デザインテーマによって、サイドバーフッターのどちらに表示されているかは異なります。

このままでは、せっかく変更したログインURLが公開されてしまいます。

suya

忘れないうちに、ログインURLを非表示しておきましょう。

左メニューの[外観][ウィジェット]から、サイドバーフッター[メタ情報]ブロックを[削除]してください。

参考) ログインログの確認

左メニューの[ユーザー][ログインログ]をクリックすると、「ログインログ(ログイン履歴)」を確認することができます。

WordPressプラグイン「XO Security」のログインログ(ユーザープロフィール設定)
ログインログ(ログイン履歴)を開く

3) URLを忘れたとき / 管理画面にログインできないときの対処法

やり方を忘れそうな人は、本ページをブックマークしておきましょう。

STEP
サーバーディレクトリ(ファイル管理)にアクセス

FTPソフトやレンタルサーバーのファイルマネージャーでサーバーディレクトリにアクセスします。

STEP
プラグインフォルダの名前を変更

/public_html/サイト/wp-content/plugins/xo-security/を「xo-security2」などに変更します。

/サイト/public_html/wp-content/plugins/xo-security/などの場合もあります。

STEP
WordPressにログイン

プラグイン「XO Security」が無効化された状態でログインできるはずです。

STEP
ログインできたらフォルダ名を元に戻してブラウザを更新(F5)

/public_html/サイト/wp-content/plugins/xo-security2/を「xo-security」に戻します。

/サイト/public_html/wp-content/plugins/xo-security2/などの場合もあります。

STEP
「XO Security」の設定を確認・変更する

必ず変更したログインページのURLをブックマークしておきましょう。

画面が変わらない場合は、Cookie(クッキー)やブラウザキャッシュをクリアするか、別のブラウザでアクセスしてみてください。

4) その他の対処法

404エラーページ(Not Found)が表示されるときの対処方法

ログアウトした状態で、間違ったログインページや管理画面にアクセスしようとすると、「404 Not Found」などと表示されます。

ブックマークなどから、変更したログインページURLにアクセスしてください。

変更したログインページURLがわからなくなった場合は、1つ上の「3) URLを忘れたとき / 管理画面にログインできないときの対処法」をご覧ください。

認証画像が表示されない場合

キャッシュプラグインやCDNを利用していると、CAPTCHAの認証画像が表示されない場合があります。

キャッシュ側で除外設定が必要ですが、よくわからない場合は画像認証をOFFにして使用しましょう。

ログインする前ですので、キャッシュクリアすることはできません。

よくある質問(FAQ)

管理画面にログインできないのはなぜですか?

ログインURLを変更したことが原因です。

詳しい対処法は、こちらをご覧ください。

404エラーが表示されるのはなぜですか?

間違ったログインURLにアクセスしようとしていることが原因です。

詳しい対処法は、こちらをご覧ください。

この記事のまとめ

プラグイン「XO Security」の初期設定と管理画面にログインできなくなったときの復旧方法を見てきました。

重要度の高いところは、必ず設定するようにしてください。

なるほどくん

設定忘れてました。

セキュリティプラグインとしては、「BBQ Firewall」もおすすめです。

WordPress(ワードプレス)で最初に入れるその他の基本プラグインは、以下を参考にしてください。

さらに二段階認証でセキュリティを強化したい場合は、以下を参考にしてください。

WordPress(ワードプレス)の初期設定がまだの場合は、以下を参考にしてください。

XMLサイトマッププラグイン
SSLプラグイン
PHPカスタマイズプラグイン

この記事の参考情報

XO Security公式サイト

読者の声を紹介させてください

この記事をご紹介いただいた方がいらっしゃいましたら、読者の声として掲載させていただきます。

ぜひご連絡いただければと思います。

  • 当サイトで紹介した商品を購入すると、売上の一部が当サイトに還元されることがあります。(消費者庁資料
  • 当サイトで掲載しているコンテンツは独自のものであり、広告主は一切関与していません。(コンテンツポリシー
この記事が役に立ったらご紹介ください!

コメント

コメントする

目次