WordPressでブログを立ち上げたら、日を置かずに真っ先にやっておきたいのがセキュリティ対策。
「XO Security」というプラグインは、人気テーマSWELL公式でも推奨プラグインとしても紹介されています。
でも「セキュリティの事はよく分からないから、どう設定したらいいの?」と困惑しますよね。
この記事を読めば「XO Security」の設定の仕方だけでなく、SWELLの推奨プラグインのページでXO Securityと一緒に紹介されていた「BBQ Firewall」プラグインの導入も一緒に完了できます。
- XO Securityはどんなセキュリティ対策ができるプラグインなのか
- XO Securityのインストール方法と設定方法
- BBQ Firewallプラグインのインストール方法と設定方法
- XO Securityの他に入れておいた方がいいプラグイン、不要なプラグイン
手順通りに進めるだけなので、大丈夫です
SWELLユーザーでなくても
前置きはいいから、早く設定方法が知りたい方はココからジャンプ!
XO Securityはどんなプラグインなの?
XO Securityとは
「XO Security」はログイン周りのセキュリティを強化できるプラグインです。
- 主にログイン周りのセキュリティを強化するプラグイン
- 日本人開発者(石鷹さん(@xakuro_com))
- インストール数が1万件突破(※2023年1月20時点)
- テーマSWELLを使っている場合、推奨されているプラグイン
- これまで「SiteGuard WP Plugin」を使っていた方は、代わりに使える
私はこれまで「SiteGuard WP Plugin」を使っていたのですが、SWELLを使っている場合は相性が悪いようなので「XO Security」を導入しました。
実際に導入してみたらめちゃくちゃ使いやすい!
しかも不要になったプラグインもあるんだろ?
そうなんだよ!
プラグインは少ないに越したことはないからね
ちなみに、SWELLを使っている場合「Wordfence Security」もおすすめのセキュリティプラグインとして紹介されていますが、個人的にはおすすめしません。
実際に導入しようとすると分かりますが、完全に英語です。英語オンリーです。
プラグインのバージョンアップで登録画面や設定画面が変わってしまう事があり、こうなるとググっても古い情報しか出てこなくて設定が出来なくなってしまいます。
私が導入に挑戦した時は登録画面が変わったタイミングだったのか、記事情報が古くて無理だった…
日本語だったらまだなんとかなったかもな…
XO Securityの主な機能
XO Securityは、主にログイン機能を強化してくれるプラグインです。
- ログインページのURLをデフォルトから変更
- 一部の機能を無効化
- ハッキングの手助けになる情報を隠す
このようにして、ブログの乗っ取りリスクを低減してくれます。
不正アクセスによりブログが乗っ取られると、あなたのブログを根城にして悪用利用されてしまいます。
悪用しようとする人はブログの規模を問わないため、「立ち上げたばかりで全然アクセスがない」「収益化できていない」ことは関係ありません。
しっかり対策しておきましょう
XO Securityの設定方法
まずは「XO Security」をインストールします。
- WordPress管理画面→プラグイン→新規追加
- キーワードに「XO Security」と入力し、検索
- 「XO Security」が表示されたら「今すぐインストール」を押し、「有効化」します
これでXO Securityのインストールと有効化は完了です。
続いて初期設定を行います。
XO Securityの設定は、WordPress管理画面→設定→XO Securityから行います。
- 試行回数制限:1時間~12時間の間でお好みの設定を。
(1時間にした場合、自分でログインに失敗した時に1時間経てばロックが解除されるという事です) - リトライ回数は3~5回くらいにしておくと良いかと。一般的には3回ですね。
自分が入力ミスする事も考えて設定する必要があります。 - ブロック時の応答遅延:120秒(最大)
- 失敗時の応答遅延:10秒(最大)。連続での入力を防ぐ対策です。
- ログインページの変更:有効(右にスライドする)。
デフォルトだとログインページは「ブログのURL/wp-login.php」となっており、ログインページがバレバレなので変更する事をおすすめします。
例えば「AAAA」と入力した場合、ログインページは「ブログのURL/AAAA.php」となります。
ログインページを変更した場合URL部分に新しいログインページのURLが表示されますので、これを必ずブックマークしておきましょう。 - ログインIDの種類:「ユーザー名のみ」がおすすめ。
メアドでのログインを許可すると、メアドが流出した際や公開メアドを使って不正ログインの恐れがあります。 - ログインエラーメッセージ:「簡略化」に。ログインに失敗した理由を隠せます。
- CAPTCHA:ログイン時に画像認証するようにします。お好みでOKですが海外ロボット対策に「ひらがな」がおすすめ。
- ログインアラート:ログインした時にメール通知が来るか来ないかの設定です。お好みですが、有効にしておいた方が自分以外のログインがあった時に気づけるのでON推奨。
- 最後に変更を保存して完了
「サイトへ移動リンク」は好みなので無効にしても問題ないです
- CAPTCHA:「ひらがな」にします。コメントフォームに画像認証が設置されます。
- スパム保護フィルター:「日本語文字を含まない」を有効にします。
- スパムコメント:「ブロックする」にしますが、好きな設定でOKです。
- ボット保護チェックボックス:「私はロボットではありません」のチェックボックスが追加されます。
よりスパム対策を強固にしたい場合は有効にしますが、CAPTCHAもあるのでどちらか一方のみにした方がユーザビリティを損なわなくて済みます。 - 最後に変更を保存するのを忘れずに。
ブログのコメント欄全体を閉じる場合はここの設定は飛ばしても大丈夫です
このブログはコメント欄を閉じてるぞ
- XML-RPCの無効化:有効
- XML-RPCピンバックの無効化:有効
- 忘れずに変更を保存。
XML-RPCって?
ここではロボットによる攻撃に悪用されると思っておけばいい
XML-RPCを無効化するとWordPressの場合下記の事が出来なくなります。
- メールやWordからの記事投稿
- ピンバック、トラックバック
- アプリなどからのリモート操作
もしリモート機能を使う場合は①は無効化しないでおきましょう。
よく分からない場合は②だけ無効化、あるいは両方無効化しないでおけばOKです。
私はこれらの機能は一切使っていないので、無効化しました。
ここではユーザー名の秘匿に関する部分だけ無効化し、対策をします。
- REST APIの無効化:ONにします。
- 「/wp/v2/users」と「/wp/v2/users/(?P[\d]+)」にチェック。
- 忘れずに変更を保存。
REST APIも攻撃に悪用されることがあるってこと?
そういうこと
- 投稿者スラッグの編集:ONにする
(ユーザー名(ログインID)を隠すため。管理画面のプロフィール設定から後ほど変更を行う) - 投稿者アーカイブの無効化:ONにする
(複数人で運用している場合は、その人が書いた記事一覧を表示できるためOFFのままでも。一人で運用している場合はほぼ不要) - コメント投稿者クラスの削除:ONにする(ユーザー名を隠すため)
- oEmbedユーザー名の削除:ONにする(ユーザー名を隠すため)
- バージョン情報の削除:ONにする
SWELLを使っている場合、テーマ側の設定でも秘匿できます。どちらかで設定すればOKです。 - 最後に変更を保存する
投稿者スラッグをユーザー名(ログインID)以外に変更する方法は一番最後に説明します
先にXO Securityの設定をすべて終わらせよう
- 自動削除:「30日以前」にする
- デフォルトで表示する結果:「すべての結果」にする
- 最後に変更を保存する
デフォルトのままでも大丈夫ですが、ログをそんなにためてもしょうがないので短く変更しました。
これでXO Securityの設定は終わりです!
最後に、投稿者スラッグの編集を忘れずに
XO Securityの秘匿タブで「投稿者スラッグの編集」をONにした場合、「ユーザー」→「プロフィール」にスラッグの項目が追加されています。
ユーザー名(ログインID)とは違った名前をここに記入し、更新しておきましょう。
空白のままだとユーザー名(ログインID)が表示されてしまうためご注意ください!
ログインIDが分かるってことは、あとはパスワードが分かればログインできちゃうってことだ
ちゃんと変更しておこう!
ここまでお疲れ様でした!
「BBQ Firewall」の導入についてはこちらで説明しています(クリックで該当箇所までジャンプ)
XO Security導入後の使い方
XO Securityを有効化し、設定が済んだら基本的には放置で大丈夫です。
XO Securityを使うことがあるとしたら、ログインログの確認です。
ログインログの確認方法
WordPress管理画面の「ユーザー」→「ログインログ」から確認できます。
ログインに成功・失敗した日時、IPアドレスなど詳細を確認する事が可能です。
また、ログインの失敗件数はダッシュボードで確認できます。
WordPress管理画面の「ダッシュボード」→「ホーム」にある「ログイン情報」です。
ブログを開設してまだ1ヶ月も経っていない時点で、181回も不正ログイン攻撃されていました…
「ブログを作ったばかりだから」「全然収益化できていないブログだから」は一切関係ありません。
きちんとセキュリティ対策をしておきましょう。
XO Securityの他に必要または不要なプラグイン
XO Securityを有効化している場合不要なプラグイン
XO Securityを有効化する場合、下記のプラグインは機能が重複するため不要です。
- SiteGuard WP Plugin(ログイン周りのセキュリティ強化)
- Edit Author Slug(投稿者スラッグを編集)
- Akismet(スパムコメント対策)
- Limit Login Attempts(ログイン試行回数の制限)
私は長い事SiteGuard WP Pluginにお世話になっていましたが、現時点ではXO Securityを使った方がプラグインの数を減らせていいなと思います
XO Securityと一緒に使おう「BBQ Firewall」
「BBQ Firewall」は名前の通りファイアウォールのプラグインです。
ファイアウォールは攻撃者からの攻撃やアクセスを守ってくれるもので、XO Securityのログイン周りの防御とはまた違った働きをしてくれます。
こちらはプラグインを「今すぐインストール」して「有効化」するだけでOKです!
設定いらずとか、ありがたすぎる
セキュリティ対策が終わったら、次に入れておきたいプラグイン
これでWordPressのセキュリティ対策は完了です。
初期のうちに入れておきたいプラグインで、まだ導入していないプラグインがあれば以下の記事を参考になさってください。
1.SEO SIMPLE PACKでSEO対策をしよう
SWELLを含めmetaタグを生成・出力する機能はあえてプラグイン側に任せているテーマも多いです。
SWELL利用者は必須のプラグインです。セキュリティ対策が終わったら次に入れておきたいプラグインです。
なお、SWELL利用者でなくてもおすすめのプラグインです。
2.XMLサイトマップを設置しよう
ブログの構成、各記事のURL、更新日、更新頻度などの情報を検索エンジンに伝えるためにXMLサイトマップが必要です。
ブログを立ち上げたばかりの時はあった方がいいので、設置しておきましょう。
ブログにXMLサイトマップを設置しよう(XML Sitemap & Google Newsプラグイン使用)
3.無限に増えるリビジョンを管理しよう
放置しているとリビジョンデータが延々と蓄積され、ブログが重くなる原因に。
記事を書き始める前に対策しておきましょう。
「WP Revisions Control」プラグインを入れてリビジョン管理をしよう
4.お問い合わせフォームを設置しよう
1~3ほど急いで導入する必要はありませんが、最低でもアドセンス審査を出す前には設置しておきましょう。
「ContactForm7」を使ってお問い合わせフォームを設置しよう
優先度が高いのは1~3!
目安としては、記事を書き始める前にやっておきたいかな
お問い合わせフォームは記事を書き始めたあとでもOK。
でもなるべく早めにな!