XO Security:WordPressサイトのセキュリティを簡単に強化できる

2017年10月12日

セキュリティ対策というと大まかに分けると 2 種類の方法があります。
一つ目は、使わない機能は無効にしたり、
WordPress 本体やプラグインでセキュリティパッチが公開されたら適用して、
脆弱性などが無いような状態を維持するという方法。
もー一つは、サイト内に侵入されてコードを改ざんされていないかをチェックする方法。

どちらも重要ですが、個人的には入られたことを考えるよりも、
入られないようにするほうが Web サイトでは重要だと思っています。

何故かと言うと後者に該当するプラグインにアンチウイルス系がありますが、
個人で所有するパソコンやスマホと違って、
共有サーバーが多いので、サーバー負荷の観点からリアルタイム検索をしていません。
なので、侵入され改ざんされてから数時間経過してからウィルス検索されても遅すぎます。
※アンチウイルス系プラグインが必要ないとまでは言いません。

したがって、共有サーバーでは侵入されないような状態にしておくのがより重要です。
そのような時に便利な WordPress 用プラグインがあります。
それは「XO Security」です。
そのインストール手順から日本語化・使い方と設定などを解説していきます。

XO Security

Screenshot of ja.wordpress.org

XO Security は、WordPress サイトのセキュリティを簡単に強化できる国産のプラグインです。
htaccess ファイルを必要としないので、Nginx でも動作可。
各機能は簡単に ON/OFF できるので、同様の機能を持つ他のプラグインとの併用可。
各機能の設定状況も一覧表示してくれるので一目で確認できます。

主な機能は、以下のとおりです。

  • ログイン試行回数の制限(ブルート フォース アタック対策)
  • ログインログ(成功と失敗時)の取得と表示
  • ログインページを任意のページに変更可
  • ログイン時のメール送信とログインできる言語を制限可
  • CAPTCHA 機能をログインページとコメントフォームに追加
  • XML-RPC の無効化
  • XML-RPC ピンバックの無効化
  • REST API の無効化と URL 変更
  • 作成者アーカイブページ(?author=1)の無効化
  • コメント投稿者クラスの無効化「comment-author-xxx」クラスの除去

記事を作成もしくは更新時点でのバージョン:v 1.9.0
マルチサイトでの利用:可

インストール手順

下記の URL から ZIP ファイルを入手して、管理画面からアップロードして有効化するか
XO Security – WordPress.org

もしくは、WordPress.org の公式プラグインディレクトリにリリースされているので、
管理画面から入手できます。

ダッシュボードから「プラグイン」メニューの「新規追加」を選択し、
プラグイン追加画面右上の検索窓に「XO Security」と入力します。

WordPressプラグイン「XO Security」のスクリーンショット

検索結果の一番左上に表示されると思うので、「今すぐインストール」をクリックします。
※一番左上に表示されない場合は、上記の画像から探して下さい。
インストールが完了したら、プラグインを「有効化」します。

プラグインのインストールに慣れていない方は、
下記の記事にて詳しく解説していますので、御覧ください。

WordPressプラグインのインストール手順を解説 – WordPress活用術

日本語化

XO Security は、国産プラグインなので日本語化を気にしなくても大丈夫です。

専用テーブル

下記のテーブルを XO Security 専用のテーブルとして作成し利用します。
テーブル作成時に $wpdb->prefix も使用しているので、マルチサイトにも対応。

main.php から CREATE TABLE 文を抜粋(記事用に一部修正)。

CREATE TABLE `xo_security_loginlog` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`success` boolean NOT NULL,
`login_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`ip_address` varchar(35) DEFAULT NULL,
`lang` varchar(5) DEFAULT NULL,
`user_agent` varchar(255) DEFAULT NULL,
`user_name` varchar(255) DEFAULT NULL,
`failed_password` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
);"

専用メニュー

WordPressプラグイン「XO Security」のスクリーンショット

ダッシュボードの「設定」メニューの中に追加されています。

使い方

設定画面を開いて必要な設定をしていきます。

設定状況

WordPressプラグイン「XO Security」のスクリーンショット

各機能の設定状況を一覧表示で確認できます。

ログイン

ログインに関するセキュリティ設定ができます。

WordPressプラグイン「XO Security」のスクリーンショット

  • 試行回数制限
    ログイン試行回数に制限を掛けたい時に使用します。1/ 12/ 24/ 48 時間以内から選択可。
  • 回までリトライを許可する
    上記の設定時間内で許可するリトライ回数を指定します。
  • ブロック時の応答遅延
    ログインをブロックした際の応答遅延速度を指定します。
  • 失敗時の応答遅延
    ログイン試行失敗時の応答遅延速度を指定します。

WordPressプラグイン「XO Security」のスクリーンショット

ログインページの変更と誰かがログインした際にメールで通知できます。
ログイン発生時のメール通知は管理者だけに送信することもできます。

WordPressプラグイン「XO Security」のスクリーンショット

  • ログイン CAPTCHA
    ログインフォームで CAPTCHA 機能を有効にするかどうか。
  • ログイン言語制限
    HTML 表示言語でのログイン制限を掛けることができます。
    wp-config.php への記述が必要です。
  • ログインログの自動削除
    ログインログの自動削除をするかどうか。

コメント

WordPressプラグイン「XO Security」のスクリーンショット

  • コメント CAPTCHA
    コメント欄で CAPTCHA 機能を有効にするかどうか。

XML-RPC

XML-RPC の無効化と XML-RPC ピンバック機能の無効化ができます。

WordPressプラグイン「XO Security」のスクリーンショット

  • XML-RPC の無効化
    XML-RPC を無効にするかどうか。
  • XML-RPC ピンバックの無効化
    XML-RPC ピンバック機能を無効にするかどうか。

REST API

REST API の無効化と REST API URL のプレフィックスを変更できます。

WordPressプラグイン「XO Security」のスクリーンショット

  • REST API の無効化
    REST API を無効にするかどうか。
  • 除外
    REST API を無効にした際に除外するプラグインなどを指定できます。
  • REST API URL の変更
    REST API URL の変更をするかどうか。
  • プレフィックス
    REST API URL のプレフィックスを入力します。

秘匿

作成者アーカイブの無効化(作成者アーカイブページの非表示化)とコメント著者クラスの無効化ができます。

WordPressプラグイン「XO Security」のスクリーンショット

  • 作成者アーカイブの無効化
    作成者アーカイブを無効にするかどうか。
  • コメント著者クラスの無効化
    コメント著者クラスを無効にするかどうか。

ログインログの確認

WordPressプラグイン「XO Security」のスクリーンショット

ログインログ(成功と失敗時)の確認をするには、
「ユーザー」メニューの中に追加された「ログインログ」メニューから確認できます。

WordPressプラグイン「XO Security」のスクリーンショット

ログ発生日時・ログイン結果・ログイン操作を行った IP アドレス・言語・ユーザーエージェントなどが確認できます。

WordPressプラグイン「XO Security」のスクリーンショット

また、ダッシュボードではログインをブロックしている件数などが表示されます。

URL

XO Security – WordPress.org
XO Security – 作者さんの解説ページ

本ページはアフィリエイトプログラムによる収益を得ています

サイト保護

Posted by 管理人