ブログのセキュリティ対策してますか?
WordPressはバニラ(標準)だとセキュリティが脆弱なので、ハッキングの対象になることも珍しくありません。私も先日ハッキングされそうになって、非常に焦りました。(勘違いでしたが)
そこで、今回はセキュリティを強化するプラグイン「XO Security」を紹介します。大切な資産を守るために、しっかりとセキュリティを強化しましょう。
XO Securityとは
XO SecurityはWordPressのセキュリティを強化するプラグインです。”使いやすくて高機能”なのが特徴となっています。
主な機能
サイト運営者にとって最も怖いのが、サイトの乗っ取り。XO Securityはそんなサイトの乗っ取りを防ぐ「不正ログイン防止」の機能が多く搭載されています。
- ログイン機能を強化
- ログイン失敗時の遅延・ブロック
- ログインページの変更
- その他、CAPTCHAや通知機能の追加など
- スパムコメントの防止
- 外国語の入力禁止
- CAPTCHAの追加
- botの排除アクション
- ブルートフォース攻撃・DDoS攻撃のリスク低減
- XML-RPCやREST APIの無効化
- ハッキングの手助けとなる情報を隠す
- ユーザー名の変更
- RSSの廃止
- WordPressのバージョン情報の隠匿
- ログイン履歴の保存
- 任意の期間失敗・成功したログインログを保存
- ハッキングされたと勘違いした時にも非常に便利です
見ての通り、個人でできるセキュリティ対策としては十分な機能が揃っています。各機能をON/OFFで簡単に切り替えられるのも魅力ですね。
他プラグインより使いやすい
XO Securityは石鷹さん( @xakuro_com) が開発した国産のプラグインです。もちろん言語も日本語で、日本人が使いやすい設計となっています。
セキュリティ系のプラグインといえば「All In One WP Security & Firewall」なども有名ですが、XO Securityの方が設定が分かりやすくシンプル。また、何度か脆弱性が見つかったりしているのも気になります。
※参考:All In One WP Security 4.4.10で脆弱性が発見される
ちなみに、WordPressに標準装備されている「Akismet Anti-Spam」の無料版は商用利用不可です。機能としても、コメントのスパム対策だけなので、まだ入れている人は削除しちゃいましょう。
XO Securityの導入方法
それではXO Securityの導入方法を解説していきます。まずはプラグインの導入から。
管理画面のプラグインから「新規追加」をクリック。”XO Security”で検索して、下図のプラグインをインストール・有効化しましょう。

見つからない方はWordPress公式ページからzip形式のファイルを入手して、手動でアップロードしましょう。
XO Securityの設定方法
プラグインを有効化したら、次は初期設定を行っていきましょう。設定を済ませないとXO Securityは全く仕事をしてくれません。
管理画面の 「設定」>「XO Security」をクリックして、設定ページへと進みましょう。

ここからは各項目(タブ)ごとに解説していきます。
ステータス
ステータスタブでは機能のON/OFFが確認できます。

最初は「ログインログ記録」しかチェックが入っていませんが、設定していけば他の項目もチェックが入ります。設定が終わった後にまた確認しましょう。
ログイン
「ログイン」のタブではWordPressのログイン時の設定ができます。
ログイン

試行回数制限 | ログインの試行回数(リトライ回数)の設定 自分が入力ミスすることも考慮して、できる範囲で強固な設定にしましょう おすすめは「12時間の間に5回」ぐらい |
---|---|
ブロック時の応答遅延 | ログインをブロックした際の応答遅延時間 最大の120秒に設定しましょう |
失敗時の応答遅延 | ログインに失敗した時の応答遅延時間 長く設定することで連続での入力が防げます 最大の10秒に設定しましょう |
ログインページの変更 | ログインページを「/wp-login.php」から変更できます ONにして自分しか知り得ないURLに設定しましょう(変更時には表示されたURLを必ずブックマークしておくこと) 基本的にはランダムな文字列を混ぜるのがおすすめです |
ログインIDの種類 | ログインIDに使用するパラメーターを設定できます メールアドレスはお問い合わせなどから露呈しやすいので「ユーザー名のみ」に設定しましょう |
ログインエラーメッセージ | ログインに失敗した際のエラーメッセージを変更できます デフォルトではログイン失敗時に何を間違えたか表示されてしまうので、「簡略化」に変更しましょう |
「ログインエラーメッセージ」はデフォルトでは以下のようになっています。

メッセージからユーザー名が推測されやすくなるため、「簡略化」に設定しましょう。
ログインフォーム・ログインアラート

CAPTCHA | ログインフォームに文字入力のアクションを追加します 日本人しか分からず、入力しやすい「ひらがな」がおすすめです |
---|---|
パスワードリセットリンク | パスワードを忘れた際に使用するリセットのリンクの有無 万が一に備えて「有効」のままにしておきましょう |
サイトへ移動リンク | トップページへのリンクの有無 あれば便利なのでデフォルトのままで(セキュリティ上はどちらでも構いません) |
ログインアラート | 誰がいつログインしたかをメールで通知します 普段からログインしたままにする人はONにしておきましょう(毎回律義にログインする人はメールが鬱陶しいのでOFF) |
ログインについての設定は以上です。
自動保存はされないので、タブを移動する前には必ず変更を保存をクリックしましょう。
コメント
「コメント」のタブでは、スパムコメントを防ぐ機能が追加できます。コメントフォームを使用していない場合、設定の必要はありません。

CAPTCHA | コメント送信前に文字入力のアクションを追加します 追加する場合は「ひらがな」がオススメ |
---|---|
スパム保護フィルター | 外国語だけのコメントをブロックします 海外からのスパムコメントが多い場合はONにしましょう |
スパムコメント | スパム判定されたコメントの処理方法 ゴミ箱に入れておくこともできますが、残しておく意味もないので「ブロックする」で問題ありません |
ボット保護チェックボックス | 「私はロボットではありません」の確認フォームが表示されます botによるスパムを多少は軽減できるので、ONにしておくといいでしょう |
あまりガチガチに設定してもユーザが不便になるので、現在のスパム率を考慮に入れて設定しましょう。
XML-RPC
XML-RPCとは、xml形式のデータを利用する通信プロトコルの一種です。スマホでWordPressを扱う場合などに利用します。

XML-RPCの無効化 | スマホによるアプリの利用やリモート機能を用いたプラグインを使用していないなら、無効化するのがオススメです 無効化することで、ブルートフォース攻撃(総当たり攻撃)のリスクを減らせます |
---|---|
XML-RPC ピンバックの無効化 | ピンバック※を利用していないなら無効しましょう 無効化することで、不正なピンバックの大量送信(DDoS攻撃)を防ぐことができます |
XML-RPCを無効化するかどうかは、意見が分かれるところです。今後利用する可能性もあるので、よく分からない場合は無効化しないでおくのが良いでしょう。
ピンバックに関しては無効化しておいても弊害はないと思います。ピンバックは、相手がトラックバックをオンにしていないと機能しないため、現在は利用者がほぼいないオワコン機能と化しています。

よく分からない場合は両方そのままでも大丈夫です
REST API
REST APIは外部との通信を行うための機能です。
REST APIを使用するプラグインもあるので、設定は慎重に行いましょう。(飛ばしてもヨシ)


REST APIの無効化 | REST APIの中から不要な機能を選択して無効化できます ユーザー名を隠すことにも利用できますが、ONにして実際に問題が起きたので、そのまま(OFF)でいいでしょう |
---|---|
REST API URLの変更 | REST API URLを変更できます( “https://ドメイン/wp-json/wp/posts?_embed” でアクセスできなくする ) デフォルトのままで大丈夫です |
秘匿
「秘匿」のタブでは、デフォルトで公開されているWordPressの情報(ユーザー名・RSS・バージョン)を隠すように設定できます。


投稿者スラッグの編集 | 管理画面のプロフィール設定にスラッグの変更フォームが追加されます ONにしておきましょう ※スラッグ:アーカイブのURLに使用される名前 |
---|---|
投稿者アーカイブの無効化 | 投稿者アーカイブ自体を無効化(削除)することができます 1人でサイトを運営している場合はONにしても良いでしょう (私はSEO SIMPLE PACKで無効化しているのでOFFにしています) |
コメント投稿者クラスの削除 | コメントに表示されるユーザー名を削除します コメントで返信などを行う場合はONにしておきましょう |
RSS/Atom フィードの無効化 | RSSフィードを無効化します ONにすることでコピペ対策などにもなりますが、ブログランキングなどに更新が反映されなくなります RSSを利用しているか分からない場合は、デフォルトのままにしておきましょう |
バージョン情報の削除 | ソースコードからWordPressのバージョン情報を削除します バージョンを表示するメリットもあまり考えられないのでONにしましょう |
投稿者スラッグを変更する
「投稿者スラッグの編集」をONにすると、プロフィール設定に「スラッグ」という項目が追加されます。


ここで設定したフレーズがそのままアーカイブページのURLなどに使用されるので、ユーザーIDとは関係のないものに変更しましょう。
ユーザーIDを隠す方法でも解説していますが、投稿者アーカイブを無効化せず投稿者スラッグもそのままだと、ユーザーIDがまる見えなので注意しましょう。




環境
「環境」では、ログイン時のログ(記録)に関する設定が行えます。


IPアドレス取得方法 | IPアドレスの取得方法を変更できます 「自動」に設定しておけば問題ありません |
---|---|
(ログインログの)自動削除 | 設定した期日より前のログインログを削除します 好みにもよりますが、「30日以前」ぐらいで大丈夫でしょう |
デフォルトで表示する結果 | ログインログの画面で最初に表示される項目です よく確認するのは不正ログインの痕跡なので、「失敗」に変更しておくのがおすすめです |
ログインログの確認方法
ログインログは管理画面の「ユーザー」>「ログインログ」から確認できます。


最初は「デフォルトで表示する結果」で設定した項目が表示されますが、画面上のプルダウンから他の項目を選択して表示することも可能です。「ハッキングされたかも?」と思ったら、まずここを見ましょう。


設定を確認
最後に設定した項目がちゃんと機能しているかを、「ステータス」で確認しましょう。





設定は以上です!
設定したのにチェックが入ってない時は
設定を変更後は必ず変更を保存をクリックする必要があります。ボタンをクリックせずにタブを移動すると変更が破棄されてしまいます。
割とよくやりがちなミスなので変更後は「ステータス」タブでの再確認をお忘れなく。
トラブルシューティング
XO Securityを使用して発生することがある問題と対処法を、簡単に解説します。
ログインできなくなった時の対処法
管理画面にログインできなくなった時は、XO Securityを手動で無効化してみましょう。


サーバーのファイルマネージャーかFTPソフトを使って、プラグインのフォルダ名を変更します。これで一時的にプラグインを無効化された状態になります。
ちなみに、プラグインのフォルダはwp-contentの中にあります。WordPressのインストール先によって異なりますが、基本的には以下のような階層にあるはずです。
例: /ドメイン/public_html/wp-content/plugins/xo-security


XO Securityを無効化できたら、ログインページに入れるようになっているはずです。(ログインページのURLは無効化前と同じ)


ログインに成功したら、XO Securityの名前を元に戻して有効化しなおしましょう。
まとめ
ブログ運営で最も疎かにされがちなのが「セキュリティ強化」です。
油断していると足元をすくわれるのがこの世の常。自分は大丈夫だからと思わずに、できる限りの対策をしていきましょう。
また、他にも”これだけは必須”なプラグインを、使いやすさ重視でまとめています。よろしければ参考にしてください。

