WordPressをインストールした状態では、セキュリティ対策が十分な状態とはいえないです。
このようにセキュリティ対策が実施されていないサイトは、悪意のある第3者から攻撃を受けて、自分のサイトが乗っ取られてしまう可能性が出てしまいます。
サイトが乗っ取られてしまうと最悪、何もしていないために加害者として扱われてしまう可能性まで出てしまいます。
そのため、セキュリティレベルの高い低いはありますが、セキュリティ対策は自分を守るためにも実施しなければなりません。
そのセキュリティ対策を簡単に実施することができるプラグイン「SiteGuard WP Plugin」の導入と設定方法について説明します。

SiteGuard WP Pluginでのセキュリティ対策
「SiteGuard WP Plugin」で実施することのできるセキュリティ対策、WordPressの管理者ページ、コメントページ、パスワード確認ページ、ユーザ登録ページを悪意ある第3者からの攻撃から守るためにセキュリティ対策を行います。
- 管理者ページ
- コメントページ
- パスワード確認ページ
- ユーザ登録ページ
どのような対策が行われるかというと、ログインや、コメントなどを送信する前に、画像認証を行います。

ひらがなの画像とその入力域が追加され、ひらがなの画像を入力することでログイン、またはコメントの送信ができるようになります。
SiteGuard WP Pluginのインストール
「SiteGuard WP Plugin」のインストールを行います。
初めてプラグインのインストールする場合は、【WordPress】プラグインのインストールする方法を確認してください。
まずはプラグインのインストールページを表示します。

プラグインのインストールページの検索キーワードに「SiteGuard WP Plugin」を入力します。

「SiteGuard WP Plugin」が検索されますので、「今すぐインストール」を押してインストールを行います。

しばらくすると、「SiteGuard WP Plugin」のインストールが終わるので、「有効化」を押します。

「SiteGuard WP Plugin」を有効化すると、セキュリティ対策が実施され、WordPressへのログインページや、他のページに画像認証が追加されます。
WordPressのログイン画面のURLが変更され、セキュリティ対策済みのログインページに変更されます。

WordPressへのログインページは、「サイト名/login_1234」というURLへ変更となります。
※1234の部分は、ランダムな数字になります。
ログインページの変更について、WordPressの管理者メールに来ています。
メールは以下の内容で来ています。
以下の新しいログインページURLを、ブックマークしてください。
https://サイト名/login_1234
次回からのログインで必要なので管理者メールの通り、ブックマークしておきましょう。
SiteGuard WP Pluginの設定
「SiteGuard WP Plugin」の設定はメニューの「SiteGuard」を選択して表示します。

ダッシュボードに設定できる内容の一覧が表示されるので、設定したい項目を選択すると各設定ページに遷移します。
ダッシュボードでは、有効になっている設定はチェックのマークが緑色になっています。

それぞれの設定について順番に説明します。
管理ページアクセス制御
「管理ページアクセス制御」では管理ページへのアクセス(サイト名/wp-admin/)のURLでアクセスできなくします。
デフォルトでは、OFFになっているので、「サイト名/wp-admin/」でのアクセスを制御する場合は、ONに設定します。

ログインページ変更
「ログインページ変更」ではのURLを任意のURLへ変更します。
デフォルトでは、この機能は有効になっています。
「SiteGuard WP Plugin」をインストールするとURLが変更されます。
変更前)サイト名//wp-login.php
変更後)サイト名/login_12345
※ 12345の部分は、5桁の乱数で自動的に設定されます。
「login_12345」の部分を変更することができます。

管理者ページからログインページへリダイレクトしないをチェックすると、「サイト名/wp-admin/」でログインページが表示(リダイレクト)されなくなります。
この「ログインページ変更」で変更したログイン用のURLでしか、このサイトのログインページが表示されなくなります。
- 管理者ページからログインページへリダイレクトしないをチェック
- サイト名/wp-admin/でアクセス
- 404エラーとなります
画像認証
「画像認証」では、画像認証する際に表示する文字種、または、使用しない(無効)を設定します。
ひらがなか、英数字、無効から選択します。
デフォルトでは、ONになっています。ちなみにOFFにすると当然、すべて無効を選択した状態と同じになります。
この設定は、折角、「SiteGuard WP Plugin」をインストールしたのでONにしておいてください。

これは、好みで選択してください。日本人対象なので、日本語で設定しています。
ログイン詳細エラーメッセージの無効化
「ログイン詳細エラーメッセージの無効化」では、ログイン時にユーザ名、パスワードなどが違う時に、「ユーザが間違っています」や、「パスワードが間違っています」という詳細なメッセージを表示することをしなくなります。
ログイン時の詳細エラーメッセージの無効化した場合は、「入力内容を確認の上、もう一度送信してください」というメッセージになります。
ログイン時のエラーメッセージを詳細に出してしまうと、悪意ある第3者が、ユーザが違うのかや、パスワードが違うのか、ということがわかってしまい、サイトを攻撃する情報を与えてしまうからです。
ログインロック
「ログインロック」の設定をONにすると、短時間に何回かログインに失敗すると指定した時間、ログインができなくなります。

ロックされるのは
- 「期間」に設定した時間内に
- 「回数」で指定した回数を
- ログイン失敗した場合
- 「ロック時間」に設定した時間
WordPressへのログインが制限されます
ログインアラート
「ログインアラート」では、WordPressへログインした時、WordPressの管理者へメールが送信されます。

ログインした時に、メールが送信されます。
「ログイン履歴」で確認することができるので、念のためという意味で設定しておいたほうが良いです。
気づきやすいというレベルです。
フェールワンス
「フェールワンス」を設定すると、ログインで必ず1度ログインに失敗します。
失敗した後に、再度正しいユーザ、パスワードでログインすると、ログインすることができます。
デフォルトは、OFFになっています。
こちらは、OFFでもよいかなと思います。なれれば、よいのかもしれませんが、少しうっとおしいと思います。

「対象ユーザー」で管理者のみをチェックすると、管理者権限を持っているユーザのみが対象となります。
この機能を有効にするのであれば、「管理者のみ」のチェックは外したほうがよいでしょう。
同じ環境を使うのであれば、機能差はあるにせよ最低限の部分は、同じセキュリティレベルにしておいたほうが良いからです。
XMLRPC防御
「XMLRPC防御」の設定をするとWordPressの「xmlrpc.php」にユーザとパスワードを送信して処理結果を取得する機能を利用することを無効化します。
また、デフォルトではONになっていて、「ピンバック無効化」が設定されています。
「XMLRPC無効化」を無効化すると、「xmlrpc.php」を使用したアプリが当サイト向けでは使用できなくなります。

ピンバックというのは、記事を書いたときに参考にした記事(URL)があった場合は、その参考にした記事(URL)の管理者へ通知するという仕組みです。
更新通知
「更新通知」は、WordPress、プラグイン、テーマの更新があった場合に、管理者へ通知してくれる機能を有効化するか設定します。
好みによって設定してください。デフォルトのままで問題ありません。

プログラムが更新される理由は、不具合の修正と新機能、機能アップになります。
そのため、基本的には最新の状態にすることが望まれます。
ただ、機能アップしたために、そのプログラムを利用していたものが動かなくなることがあるので気を付けてください。
※WordPressでは、あまり気にしなくてもよさそうです。(主観ですが)
WAFチューニングサポート
WAF(SiteGuard Server Edition)が導入されている場合に、403エラー等の誤探知をするのを避けるためのルールを設定できます。

WAFが導入されていて、誤探知がある場合は、「新しいルールを追加」から追加する必要がありますが、それ以外は設定しなくても問題ありません。
詳細設定
「詳細設定」では、IPアドレスを取得する方法を指定します。
デフォルト設定のままでよいです。
ネットワーク構成上、「リモートアドレス」で取得できない場合は、他の取得方法を選択してください。
HTTPヘッダフィールドの1つで、ロードバランサなどの機器を経由してWebサーバに接続するクライアントの送信元IPアドレスを特定するためのヘッダフィールドです。
X-Forwarded-Forのレベル:1、レベル:2、レベル:3というのは、右から何番目の数字が取得したいIPアドレスかを表しています。

ログイン履歴
「ログイン履」では、WordPressにログインした履歴を確認できます。
このページで、だれがいつログインしたか、失敗したかを確認し、必要であれば、その確認をします。

SiteGuard WP Pluginの使い方
「SiteGuard WP Plugin」設定が一通り終わったら、一度、ログアウトしてみてください。
最初、このような感じのログイン画面が

このような感じに変わっています。

一番下に、画像認証の項目が追加になっています。
これを入力しないと、ログインできなくなっています。
デフォルトでは、コメントページ、パスワード確認ページ、ユーザ登録ページも画像認証を要求するようになります。
※設定で解除できます。
ちなみに、コメントページはこんな感じの項目が表示されます。

まとめ
セキュリティ対策は、やればやるだけ効果がありますが、やりすぎたらサイト自体が重くなり、やらなかったら、攻撃されてしまうというバランスが非常に大切だと思います。
ただ、セキュリティ対策をしなかったことにより自分が加害者に知らない間になってしまう危険があります。
そのため、最低限必要なセキュリティ対策は確実に実施することが必要です。
それ以上の高度な対策は、費用対効果などを見て実施してください。
コメント