前回記事(初期プラグイン設定2回目)では「Site Kit by Google」を使用し、Google Serch CosoleとGoogle Analyticsを導入しました。
今回は次のステップ、XO Security と BBQ Firewall を設定していきます。
WordPressを始めたら最初に入れておきたい セキュリティプラグイン (無料) を最短で導入する方法
導入マップ
今回の位置づけはこちら

今回は次の2つ
- XO Security 優先度:高
- 不正ログインや乗っ取りなどから防御
- BBQ Firewall
- インストールして有効化するだけで様々な攻撃から防御
ブログを始めたばかりの人ほど、セキュリティ対策は軽視しがち。
でも、WordPressは世界中で使われているから攻撃対象にもなりやすい…
だからこそ、初期段階で必要なセキュリティプラグインを入れておくと安心です

今回もキャプチャ画像たっぷりでお伝えします。
では、順番にご紹介していきます。
XO Security の導入
XO Securityの特徴(できること)
まず、XO Security の大枠を押さえましょう。
こんなイメージを持っておけばOKです。
XO Security の概要
- 目的:「ログイン画面を守る」「不正アクセスを防ぐ」
- できること:ログイン試行回数制限、ログインURLの変更、管理者ログイン通知など
- イメージ:家の玄関の鍵を強化する
- 不審者が何度も鍵をガチャガチャ回しても、中に入れなくする
- SWELL公式でも推奨プラグインとして紹介
(相性の良さ◎)
プラグイン追加(XO Security)
では、実際に導入していきます。


プラグイン→プラグインを追加


「XO Security」と入力し検索。→今すぐインストール


有効化


「設定」をクリック。


ここでは設定する項目はありません。
(はじめはステータスタブが選択されており、「ログインログ記録」にだけチェックが付いているはず)
(他のタブで各種設定を済ませるとその内容が反映される仕組み)
【参考】今回の設定を全て済ませると、最後はこんな感じに
※クリックで開きます


「ログイン」タブの設定【最重要】



特に重要度の高い箇所になります
オススメ設定


- 試行回数制限重要:「12時間」の間に4回までリトライを許可
- ログインの試行回数を制限
(当然、自分も対象。誤入力の際の利便性も考慮し「12時間・4回」程度で。セキュリティを高めたいなら、更に厳しめでもOK) - ブルートフォース(総当たり)攻撃の対策として有効
- ログインの試行回数を制限
- ブロック時の応答遅延:120秒
- ログインに制限がかかった際、その旨を表示するまでの時間
- 遅い方が効果が高いので最大値で
- 失敗時の応答遅延:10秒
- ログインに失敗した際、その旨を表示するまでの時間
- 遅い方が効果が高いので最大値で
- ログインページの変更重要:ONにする
- ログインファイル:任意の文字列を入力
デフォルトのログインページURL(=サイトURL末尾に/wp-admin/
を追加したもの)が、次のURLに変更されます。
https://サイトURL/●●●●●.php
※ログインファイル=●●●●●(任意の文字列)の場合
変更後のURLを忘れるとログインできなくなります!



必ずブックマークを
【参考】万が一、ログインできなくなった場合
※クリックで開きます
ログインURLを忘れてしまった場合や、何らかのエラーによりログインができなくなった場合は、XO Securityを強制的に無効化することでログインできます。


サーバーの管理画面(以下はConoHa Wingの例)にログインし、ファイルマネージャにアクセス
/public_html/サイト名/wp-content/plugins/xo-security/
を選択


右クリック→リネーム


xo-security2
など、任意の名前に変更します。
これで強制的にXO Securityが無効化されます。
サイトURL/wp-admin
にアクセスするとログインできると思います。
最後に、xo-security2
とした部分をxo-security
に戻します。
- ログインIDの権限:ユーザー名のみ
- WordPressのデフォルトでは、ログインIDとして「ユーザ名」と「メールアドレス」の2種類が使えます。
この設定で「両方使えるようにするのか」、「どちらかしか使えないようにするのか」を選びます。 - 悪意のある者がメールアドレスを収集して、不正ログインを試みる可能性があるため「ユーザー名のみ」がオススメ。
- WordPressのデフォルトでは、ログインIDとして「ユーザ名」と「メールアドレス」の2種類が使えます。
- ログイン言語制限:無効
- 変更するにはPHPの編集が必要。無効のままでOK
- ログインエラーメッセージ:簡略化
- デフォルトのままだと、エラーメッセージの内容からユーザー名の「存在の有無」がわかってしまう。
「簡略化」にすべき
- デフォルトのままだと、エラーメッセージの内容からユーザー名の「存在の有無」がわかってしまう。
- CAPTCHA:ひらがな
- 海外ロボットが対応しづらい「ひらがな」を選択
【参考】CAPCHA:こういうやつ
※クリックで開きます


- パスワードリセットリンク:有効
- 「パスワードをお忘れですか?」のリンクを表示するもの
- 念のため「有効」が安心
- サイトへ移動リンク:有効
- 「(サイト名)へ移動」のリンクを表示するかどうかの設定
- 正直、どっちでもOK
- ログインアラート:ON
- ログインしたときのメール通知を設定
- 不審なログインに気づくためにON推奨
※ただし、ログインごとにメールが届く。どうしても嫌な場合はOFFに
設定したら、「変更を保存」
「コメント」タブの設定
コメント欄を開けている場合は、とりあえず次の設定でOK
おすすめ設定


【参考】コメント欄の閉じ方
(外観→カスタマイズ→投稿・固定ページ・記事下エリア→コメントエリアの設定)
※クリックで開きます
「外観→カスタマイズ→投稿・固定ページ→記事下エリア→コメントエリアの設定」の順に進め「コメントエリアを表示」のチェックを外す。
(最後に「公開」ボタンを押す)


「XML-RPC」タブの設定
XML-RPCは、WordPressを外部から操作するための仕組み(通信方式)の一種。
かつてはスマホアプリや外部ツールから記事投稿するときに使われていたが、今はほとんど使われていない。
(代わりに、REST APIが主流)
不正ログインやブルートフォース(総当たり)攻撃に悪用されやすいので無効化します。
(今は 通常のブログ運営では「XML-RPC」は使わないので無効化でOK )
オススメ設定


- XML-RPC の無効化:ON
- XML-RPC ピンバックの無効化:ON
「変更を保存」
「REST API」タブの設定
REST APIは、(先ほど出てきた)XML-RPCと同様、WordPressを外部から操作するための仕組み(通信方式)の一種。今の主流です!
そのため、ユーザー名に関わる項目のみ無効化するのが、オススメ
オススメ設定


- REST API の無効化:ON
- /wp/v2/users:チェックをつける
- /wp/v2/users/(?P[\d]+):チェックをつける
「変更を保存」
「秘匿」タブの設定
オススメ設定


- 投稿者スラッグの編集:ON
- 投稿者スラッグとは、投稿者アーカイブ(投稿者ごとの記事一覧ページ)のURLの一部
WordPressではhttps://example.com/author/ユーザー名/
のように、投稿者アーカイブURLからログインユーザー名がそのまま表示されることがあります - これが不正ログインの手掛かりになるため、投稿者スラッグを編集しておくのがオススメ
- 投稿者スラッグとは、投稿者アーカイブ(投稿者ごとの記事一覧ページ)のURLの一部
【参考】投稿者スラッグを編集方法
※クリックで開きます
投稿者スラッグの編集:ON で「変更を保存」した後、左側「ユーザー」→「プロフィール」の順に進めて、下までスクロール。


投稿者スラッグの欄ができているので、任意の文字列を設定してください。
(デフォルトではユーザー名のままで、セキュリティ的に無意味なので、ユーザー名以外の文字列に変更)
- 投稿者ベースの編集:ON
- ONにすると「author」部分(例:
/author/
)を自由に変更できるようになる - つまり
https://example.com/author/投稿者スラッグ/
の 「author」部分そのものを変えられる
- ONにすると「author」部分(例:
- 投稿者アーカイブの無効化:ON
- 投稿者アーカイブ(投稿者ごとの記事一覧ページ)を無効化する設定
- 複数ユーザーでの運営でない場合や、使用しない場合は、「ON」がおすすめ
- ONにすれば「404エラーページ」を表示するため、ユーザー名の漏洩防止に
- コメント投稿者クラスの削除:ON
- コメント欄のHTMLからユーザー名を削除する設定
- WordPressではコメントが表示されるときに、投稿者のユーザー名がHTMLに自動で含まれる場合があるため、ON推奨
- oEmbed ユーザー名の削除:ON
- oEmbedとは 記事や動画などのURLを貼り付けるだけで、タイトル・アイキャッチ画像・概要文などを自動的にカード形式で表示する設定
- WordPressではoEmbed埋め込み機能があり、そのページ概要にユーザ名が含まれる場合があるため、ON推奨
- RSS/Atom フィードの無効化:OFF
- RSS/Atomフィードを無効化すると、ブログの更新情報を配信する仕組みそのものが止まってしまう
(読者がRSSリーダーで記事をチェックしている場合や、外部サービスと連携している場合は情報が届かなくなってしまう) - そのため、基本的には 無効化せず、そのまま有効にしておくのがオススメ
- RSS/Atomフィードを無効化すると、ブログの更新情報を配信する仕組みそのものが止まってしまう
- バージョン情報の削除:ON
- 利用しているWordPressのバージョン情報を削除する設定
- 外部から特定できないようにすべきなのでON推奨
- readme.html の削除:ON
- 古いバージョンのWordPressを使用している場合、readme.html内にWordPressのバージョン情報が表示されてしまうのでON推奨
「変更を保存」
「メンテナンス」タブの設定


OFFのままでOK
【参考】ONにすると「メンテナンスモード」に
※クリックで開きます


「環境」タブの設定


環境タブの項目はセキュリティに何ら影響しないのでデフォルトのままでOK



これでXO Securityの設定が完了!
お疲れさまでした
BBQ Firewall の導入
BBQ Firewallの特徴(できること)
BBQ Firewall の大枠を押さえましょう。
こんなイメージを持っておけばOKです。
BBQ Firewall の概要
- 目的:「悪意のあるリクエストを防ぐ」
- インストールして有効化するだけで使えるセキュリティプラグイン
- イメージ:家の網戸
- 小さな隙間(窓)から入ろうとする虫を事前にシャットアウト
- SWELL公式でも推奨プラグインとして紹介
(相性の良さ◎)
プラグイン追加(BBQ Firewall)
では、実際に導入していきます。


プラグイン→プラグインを追加


「BBQ Firewall」と入力し検索。→今すぐインストール


有効化


「プラグインを有効化しました。」と表示されればOK
すぐに防御が開始されます。(設定不要
)これで今回の作業は全て完了。
お疲れ様でした!
最後に(次回予告)
今回は基本的なセキュリティプラグインを導入しました。
再掲
(今回:コチラが設定完了 )


次回の記事では
「運営サポート」を設定
といったところで、今回はこのあたりで。
お疲れ様でした!