[セキュリティ]ログインページ変更!SiteGuard WP Pluginの使い方/設定

WPノウハウ

セキュリティプラグイン SiteGuard WP Pluginとは?

管理画面・ログイン画面を保護することが可能に

SiteGuard WP Pluginはログインページを簡単に変更できるプラグインとして有名です。

WordPressのデフォルトのログインページは「http(s)://ドメイン名/login」ですが、

これではログインページが誰にでも丸わかりなわけです。

ログインページがわかっても当然ながらパスワードが分からないとログインすることはできませんが、サイト攻撃者はあらゆる手を使ってログインを試みようとします。

ログインされてしまった場合、個人情報を悪用されたり、サイトを削除されてしまったりと甚大な被害を被ることになります。

お客様のデータがある場合は会社へのダメージも計り知れないでしょう。

まず、こうした攻撃をかけられるリスクを減らすためログインページを変更してリスク低くする必要があります。

無料なのに高性能!セキュリティ対策への万能なプラグイン

ログインページを変更するだけではございません。

もし、ログインページを見つけてしまってかつ、本当のパスワードを入力されてしまっても一度わざと失敗するフェールワンスといった機能まであります。

高性能だからjetpackみたいに重くなるんじゃないかって懸念されそうですが、こちらのプラグインは軽量ですのでサイト運用もしやすくなっています。

迷ったらこれ!ってくらい有名なプラグインですね。

まずはSiteGuard WP Pluginのインストールと有効化

検索窓に「SiteGuard WP Plugin」と入力すると表示されますので、そちらをインストールと有効化お願いします。

SiteGuard WP Pluginの公式サイト

SiteGuard WP Plugin
SiteGurad WP Plugin is the plugin specialized for the protection against the attack to the management page and login.

有効化すると「ログインページURLが変更されました」の表示

プラグインを有効化すると下記の文言が緑色で表示されます。

ログインページURLが変更されました。 新しいログインページURLをブックマークしてください. 設定変更はこちら.」

クリックするとログイン画面に遷移されますので、遷移先のURLを保存しておいて下さい。

忘れるとログインできなくなるため注意です。

ログイン画面に新しく日本語入力の項目が追加されてますね。

有効化しただけで基本的なセキュリティ機能は有効化されていますが、ここにみていく必要があります。

SiteGuard WP Pluginの機能解説

SiteGuard WP Pluginの機能一覧

管理画面したに盾のマークが出ていきます。そこのダッシュボードを開いて個別設定を見ていきましょう。

ダッシュボードを開くと表の画面がでてきます。これがSiteGuard WP Pluginの機能一覧です。

それでは一つずつ紹介していきますね。

 管理ページアクセス制限ログインしていない接続元から管理ディレクトリ(/wp-admin/)を守ります。
 ログインページ変更ログインページ名を変更します。
 画像認証ログインページ、コメント投稿に画像認証を追加します。
 ログイン詳細エラーメッセージの無効化ログインエラー時の詳細なエラーメッセージに変えて、
単一のメッセージを返します。
 ログインロックログイン失敗を繰り返す接続元を一定期間ロックします。
 ログインアラートログインがあったことを、メールで通知します。
 フェールワンス正しい入力を行っても、ログインを一回失敗します。
 XMLRPC防御XMLRPCの悪用を防ぎます。
 更新通知WordPress、プラグイン、テーマの更新が必要になった場合に、
管理者にメールで通知します。
 WAFチューニングサポートWAF (SiteGuard Lite)の除外ルールを作成します。
詳細設定IPアドレスの取得方法を設定します。
ログイン履歴ログインの履歴が参照できます。

管理ページアクセス制限

WordPressの管理ページへの攻撃から保護する機能です。初期設定では「OFF」になっています。

通常、Wordpressの管理画面のアクセスは「http://ドメイン名/wp-admin」と設定されています。

この機能をOnにすることでログインされてないIPアドレス(接続元)からのアクセスを404(ページ不明)で返すことができます。

具体例(管理ページアクセス制限)

例えば、自宅でログイン後、作業していたとします。

場所をカフェなどに移して、作業再開しようとするとそのまま作業できずログインを再度求められます。カフェからログインはしてなかったからですね。

新規の接続元でも再度ログインすればWordpressへアクセスできなくなることはございません。

24時間経過後再度ログインを求められる

新しい接続元でログインすると24時間はその接続元からアクセス可能になります。

ただ、ログイン後24時間立つと接続元情報が一度リセットされてしまい。

再度アクセスを求められるので、それだけに堅牢になりますが少々手間のかかる設定です。

ログインページ変更

これは既にご存知かと思いますが、リスト攻撃やブルートフォース攻撃などのログインを試みる攻撃者からサイトを保護するための機能です。

通常のWordpress管理画面のログインURL「http(s)://ドメイン名/login」を変更することが可能です。

技術的にはログインページ(wp-login.php)の名前を変更しています。

実は数字以外にも設定可能

デフォルト値は「login_<5桁の乱数>」ですが、この数字忘れてしまうこともありますよね。

それでログインできなくなってしまうケースもよくあります。

メールでログイン変更された時は通知されていますので、そちらも確認していただきたいのですがデフォルト値を自分の覚えやすい値に変更しておくと良いかと思います。

画像認証機能の設定

サイト攻撃者は基本的にBotを呼ばれるプログラムを使って、無作為にサイトを攻撃してきます。多くのボットは画像の文字列を認識できないため画像認証による対策は効果的です。

画像認証を有効化すると管理画面へログインする前に文字列を入力することが求められるようになります。コメントを投稿する際に求められるのでスパム対策としても活用できます。

画像の文字列を日本語で指定することで、海外の人に攻撃しにくくさせることができます

ログイン詳細エラーメッセージの無効化

ユーザー名の存在を分かりにくくするための機能です。

ログインに関するエラーメッセージがすべて同じ内容になるため、そのユーザがいるかどうか判別しにくくなります。

ログインロック

ログインの失敗がある一定の期間中で設定した回数を超えた場合、接続元のIPアドレスを一定時間ブロックします。

IPアドレスでブロックするため、ユーザーを変更してログインされるといったことはありません。

ログインアラート

ログインすると、ログインユーザーに設定したメールアドレスにメールが送信されます。

これによって、不正なログインに気づきやすくなります。

ログインした心当たりがないのにメールを受信した場合は、他の人がログインしたということですから、悪質なユーザのログインを疑ってください。

サブジェクトとメール本文には変数が使用できます

  • サイト名:%SITENAME%
  • ユーザ名:%USERNAME%
  • 日付:%DATE%
  • 時刻:%TIME%
  • IPアドレス:%IPADDRESS%
  • ユーザーエージェント:%USERAGENT%
  • リファラー:%REFERER%

フェールワンス

リスト攻撃を受けにくくするための機能です。

正しいアカウント名やパスワードを入力しても、一度ログインが失敗します。

5秒経った後、60秒以内に再度正しいアカウント名やパスワードを入力すると、次はログインが成功します。

XMLRPC防御

Pingback機能を無効化 or XMLRPC全体を無効化することによって悪質なユーザから保護します。

XMLRPC全体を無効化すると、XMLRPCを使用したプラグインやアプリの使用ができなくなりますので注意です。

技術的にはxmlrpc.phpを無効化します。

更新通知

WordPress・使用中プラグイン・テーマの更新が必要になった際に、メールで通知してくれます。

更新の確認は、24時間毎に実施されるため常に確認しておくと、脆弱性のあるバージョンがあった際でも対応しやすくなります。

WAFチューニングサポート

WebサーバーにWAF ( SiteGuard Lite ) が導入されている場合に有効な機能です。

WordPress内での誤検知を回避するための自分のルールを作成することができます。

WAFはWebサーバーに対する外部からの攻撃を防ぐ標準的に備わっている機能です。

WordPressの機能やプラグインの機能の仕様によりますが、攻撃でないのに攻撃と判断してその機能をWAFがブロックする場合があります。

自分で除外ルールを作成して設定することで、誤検知を防止しながらWAFの防御機能を活かすことができます。

詳細設定(IPアドレスの取得方法)

IPアドレスの取得方法を設定する機能です。

通常はデフォルトで設定されているリモートアドレスで大丈夫です。

技術的な話になりますがWebサーバーにアクセスする前の前段階としてプロキシーサーバーやロードバランサーを経由しているとリモートアドレスでIPアドレスが取得できません。

そういった際でも設定を変更することで、X-Forwarded-ForをからIPアドレスを取得できます。

ログイン履歴

管理画面へのログインの履歴が参照できます。

履歴は最大10,000件記錄することができます。10,000件を超えると古いものから削除されますがそうそう運用上は超えることがなさそうです。

まとめ

今回は高性能セキュリティプラグインSiteGuard WP Pluginをご紹介いたしました。

いろいろな設定があった困惑されるかもしれませんが、とりあえずインストールしてログインページ変更と画像認証は有効化しておくと良いと思います。