SiteGuard WP:WordPressサイトのセキュリティを簡単に強化できる
WordPress サイトのセキュリティを簡単に強化できる国産の WordPress 用プラグインの紹介です。
それは「SiteGuard WP」です。
そのインストール手順から日本語化・使い方と設定などを解説していきます。
SiteGuard WP
SiteGuard WP は、WordPress サイトのセキュリティを簡単に強化できる国産のプラグインです。
以下の機能を搭載しています。
- 管理ページアクセス制限
- ログインページ変更
- 画像認証
- ログイン詳細エラーメッセージの無効化
- ログインロック
- ログインアラート
- フェールワンス
- XMLRPC 防御
- 更新通知
- WAF チューニングサポート
- ログイン履歴保存
詳しい使用方法については、公式サイトで公開していますので、そちらを御覧ください。
使用方法 – jp-secure.com(公式サイト)
記事を作成もしくは更新時点でのバージョン:v 1.4.3
マルチサイトでの利用:可
Gutenberg エディターでの動作
Gutenberg エディターに追加される機能は無いので、気にする必要は無いです。
インストール手順
下記の URL から ZIP ファイルを入手して、管理画面からアップロードして有効化するか
SiteGuard WP – WordPress.org
もしくは、WordPress.org の公式プラグインディレクトリにリリースされているので、
管理画面から入手できます。
ダッシュボードから「プラグイン」メニューの「新規追加」を選択し、
プラグイン追加画面右上の検索窓に「SiteGuard WP」と入力します。
検索結果の一番左上に表示されると思うので、「今すぐインストール」をクリックします。
※一番左上に表示されない場合は、上記の画像から探して下さい。
インストールが完了したら、プラグインを「有効化」します。
プラグインのインストールに慣れていない方は、
下記の記事にて詳しく解説していますので、御覧ください。
WordPressプラグインのインストール手順を解説 – WordPress活用術
日本語化
SiteGuard WP は、国産プラグインなので日本語化を気にしなくても大丈夫です。
専用テーブル
下記のテーブルを SiteGuard WP 専用のテーブルとして作成し利用します。
テーブル作成時に $wpdb->prefix も使用しているので、マルチサイトにも対応。
classes/siteguard-login-history.php から CREATE TABLE 文を抜粋(記事用に一部修正)。
CREATE TABLE siteguard_history(
id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
login_name VARCHAR(40) NOT NULL DEFAULT '',
ip_address VARCHAR(40) NOT NULL DEFAULT '',
operation INT NOT NULL DEFAULT 0,
time datetime,
type INT NOT NULL DEFAULT 0,
UNIQUE KEY id (id)
)CHARACTER SET 'utf8';
有効化すると
SiteGuard WP を有効化すると、ログイン URL が自動的に変更されます。
「新しいログインページ URL」のリンクをブックマークする等しておきましょう。
万が一、ブックマークやメモ書きする前にログアクトされたとしても、
管理者宛にメール(件名「WordPress: ログインページURLが変更されました」)でも通知されています。
また、ログインページの URL は、「ログインページ変更」メニューから任意の URL に変更できます。
専用メニュー
ダッシュボードの「設定」メニューの下に追加されています。
使い方
デフォルトの設定のままでも動作しますが、必要に応じて設定画面から設定を行いましょう。
詳しい設定方法については、公式サイトにて確認してください。
設定
ダッシュボード
専用のダッシュボードでは、各機能の簡単な説明と有効・無効の状態を確認できます。
管理ページアクセス制限
管理ページアクセス制限とは、管理ページ(/wp-admin/以降)に対する攻撃から防御するための機能。
ログインが行われていない接続元 IP アドレスで、
管理ページにアクセスがあった場合には、404(Not Found)を返します。
ログインユーザーの場合には、接続元IPアドレスが記録され、
管理ページのアクセスを許可されます。
24 時間以上ログインが行われていない接続元 IP アドレスは、記録から順次削除されます。
ここでは、この機能を除外する URL(/wp-admin/以降)を指定することができます。
複数指定する場合には、1 行につき 1 URL になるので、
改行して 1 URL ずつ入力します。
ログインページ変更
不正ログインを試みる各種攻撃(ブルートフォース攻撃やリスト型攻撃等)を受けにくくするための機能です
このプラグインの有効化時に自動的に「login_<5桁の乱数>」に変更されます。
WordPress 標準のログインページ(wp-login.php) URL を変更する事ができます。
英数字、ハイフン、アンダーバーが使用できます。
画像認証
ログイン画面などで画像認証の機能を有効にすることができます。
不正アクセスの多くが海外から行われているので、
有効にする場合には「ひらがな」にしておくと良いでしょう。
ログイン詳細エラーメッセージの無効化
リスト型攻撃などでユーザー名があるかないかを調べにくくするための機能です。
ログインに関するエラーメッセージが全て同じ内容になります。
ユーザー名、パスワード、画像認証のどれを間違えても同じエラーメッセージが表示されます。
WordPress 標準の状態もしくは、この機能を無効にしていると、
上のようなエラーメッセージが表示されます。
この機能を有効にしておくと、ユーザー名、パスワード、画像認証のどれを間違えても、
上のようなエラーメッセージが表示されるようになります。
ログインロック
ブルートフォース攻撃やリスト型攻撃等の攻撃を受けにくくするための機能です。
ログインの失敗が指定した期間中に指定した回数に達すると、
その接続元 IP アドレスを指定した時間のあいだは、ブロックすることができます。
※ユーザーアカウント毎のロックは行いません。
ログインアラート
万が一、不正なログインが起きた場合に気づきやすくするための機能です。
ログインがあると、ログインしたユーザーのメールアドレスにメールが送信されます。
管理者だけが受信できるようにすることもできます。
ここでは、そのメール通知の内容を編集できます。
サブジェクト(件名)とメール本文には、以下の変数が使用できます。
サイト名:%SITENAME%
ユーザ名:%USERNAME%
日付:%DATE%
時刻:%TIME%
IPアドレス:%IPADDRESS%
ユーザーエージェント:%USERAGENT%
リファラー:%REFERER%
※XML-RPC によるアクセスはメール通知されません。
フェールワンス
リスト型攻撃を受けにくくするための機能です。
正しいログイン情報を入力しログインしても、必ず 1 回だけログインが失敗します。
失敗後 5 秒以降かつ 60 秒以内に再度正しいログイン情報を入力しログインするとログインは成功します。
この機能を管理者だけ有効にすることができます。
XMLRPC 防御
ピンバック機能の無効化もしくは XMLRPC 機能全体( xmlrpc.php )を無効化することができます。
XMLRPC 機能全体を無効化すると、
XMLRPC 機能を利用しているプラグインやアプリの使用ができなくなるるので、
基本的には、ピンバック機能を無効化しておくと良いでしょう。
更新通知
WordPress 本体・プラグイン・テーマのアップデートの有無を 24 時間毎に自動確認し、
更新の必要がある場合には、管理者にメール通知してくれます。
WAF チューニングサポート
この機能を使用するには、
WAF (SiteGuard Lite)が、サーバーにインストールされている必要があります。
詳細設定
IP アドレスの取得方法を設定します。
通常はリモートアドレスを選択しておけば問題はないでしょう。
Web サーバーの前段にプロキシーサーバーやロードバランサーが存在して、
リモートアドレスでクライアントの IP アドレスが取得できない場合は、
X-Forwarded-For を選択すると IP アドレスを取得できます。
ログイン履歴
サイトにログインを試みたユーザーを含む訪問者の IP アドレスなどが履歴で確認できます。
履歴は、最大 10,000 件まで記録され、10,000 件を超えると古いものから削除されます。