BAsixs(ベーシックス)

「あたりまえ」をアップデートしつづける

「SiteGuard WP Plugin」でWordPressサイトのセキュリティ対策

読了目安 : 5

  • 投稿日 :
  • 最終更新日 :

この記事を書いた人

プロフィールアイコン(イラスト):フロントエンドエンジニア 宮本
宮本フロントエンドエンジニア(ビジネス・アーキテクツ)

金融の営業、小売店の店長などを経て、2009年に地元・愛媛県のWeb制作会社に入社。 WebサイトのコーディングやCMSの実装をメインに、大小様々なWeb制作に携わる。 2018年にBAに入社しフロントエンドエンジニアUNITに所属。 引き続きWebサイトのコーディングとCMS実装の他、テクニカルディレクターとしてディレクターと開発との調整や、制作のガイドラインの作成なども行っている。

WordPressは人気が高い反面、攻撃されやすいという弱点があるので、セキュリティ対策は重要です。

その中でもまず注意すべき点は「管理ページへの不正アクセスを防ぐこと」です。

今回は専門的な知識が無くても管理ページのセキュリティ対策ができる「SiteGuard WP Plugin」を紹介します。

「SiteGuard WP Plugin」とは

「SiteGuard WP Plugin」は株式会社ジェイピー・セキュアが開発の主に管理ページのセキュリティ対策を行うWordPressのプラグインです。

日本製のプラグインなので国内サイトとの相性が非常に高く、開発元のジェイピー・セキュアがウェブセキュリティ専門の企業なので安心して利用できます。

「SiteGuard WP Plugin」の機能紹介

SiteGuard WP Pluginにはさまざまな機能があります。各機能はON・OFFボタンをONにすると有効化されます。また設定変更が可能な機能もありますので、要件に応じて調整を行いまししょう。

ここではSiteGuard WP Pluginの主要な機能を説明します。

1.管理ページアクセス制限

「管理ページアクセス制限」はWordPressの管理ページ配下のディレクトリ(/wp-admin)へのアクセスを制限する機能です。有効化するとWordPressにログインしていないIPからのアクセスに対し、404を返します。

ただし制限をかけることでプラグインの動作に影響するため、その場合は「除外パス」に除外したいファイルまたはディレクトリへのパスを入力します。

管理ページアクセス制限設定画面

2.ログインページ変更

WordPressのログインページのURLを変更する機能です。設定するとデフォルトのログイン画面のURLを入力しても404になります。
WordPressへの攻撃は管理ページへのアタックが大半ですので、ログイン画面を分からないようにするだけで、かなりの攻撃を防ぐことができるので、セキュリティ向上に有効です。

またオプションの「管理者ページからログインページへリダイレクトしない」も有効にしましょう。有効にしないとURLを変更しても、「/wp-admin」にアクセスするとログインページにリダイレクトされてしまい、容易にログインページにアクセスされてしまいます。

ログインページ設定画面

3.画像認証

管理ページへのログイン・コメント投稿・パスワード確認・ユーザー登録に画像認証を追加する機能です。

画像認証はブルートフォースアタック※1・辞書攻撃※2・リスト攻撃※3、さらにスパムコメントへの防御に有効です。

画像認証を有効にするには、SiteGuard WP Pluginの「画像認証」で、画像認証をONして、有効化したい項目に対して「ひらがな」または「英数字」にチェックを入れてください。

画像認証設定画面

※1 総当たり攻撃ともいう。考えられるすべてのパターンのパスワードを片っ端から試して不正ログインを試みる攻撃。パスワードの文字列の種類や桁数が少ないと被害を受けやすい。
※2 よく使われるパスワードを辞書として登録し、それを元に不正ログインを試みる攻撃。自分の名前や生年月日、単語など推測されやすい文字列だけのパスワードにしていると被害を受けやすい。
※3 別のサービスから流失したパスワードのリストを用いて不正ログインを試みる攻撃。パスワードを複数のサービスで同じにしていると被害を受けやすい。

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

WordPressへのログインに失敗した際のエラーメッセージをすべて同じ内容にする機能です。
攻撃者にエラー原因を特定させない効果があります。

5.ログインロック

ログインロックは指定した期間に指定した回数のログインを失敗したアクセス元のIPアドレスを一時的にログイン不能にする機能です。不正アクセスを機械的に何度も試みようとする攻撃に対して有効です。

設定画面ではエラーを検知する期間と回数、ロックする時間を選択します。

画像認証設定画面

6.ログインアラート

ログインアラートは、ログインしたユーザー宛にメールでログインしたことを通知する機能です。万が一不正なログインが行われた場合に即時に気づけます。

メールのタイトルと本文は任意の文章に編集できます。また「管理者のみ」にチェックをすると、権限グループが管理者のユーザーがログインした場合のみ通知されるようになります。

ログインアラート設定画面

7.フェールワンス

フェールワンスは正しいユーザー名・パスワードを入力しても、初回は必ずログインに失敗させる機能です。失敗してから5秒以降に60秒以内に再び正しいユーザー名・パスワードを入力しログインするとログインができます。

この機能を有効にすると攻撃者に対して正しいユーザー名・パスワードの組み合わせも間違っているかのように偽装ができます。
対象を管理者権限のユーザーに絞ることも可能です。

8.XMLRPC防御

XMLRPC防御はXMLRPCのPingback機能またはXMLRPC全体を無効化する機能です。
XMLRPCは外部アプリケーションからWordPressを編集するためのプログラムで、たとえばモバイルアプリからWordPressの記事を編集するのに使われていました。

しかし現在はWP REST APIに取って代わられており、使用する機会はほとんどありません。逆に管理ページへのアタックの踏み台にされる可能性の方が高いので、特に支障がなければXMLRPC全体を無効化することをおすすめします。

XMLRPC防御設定画面

9.ユーザー名漏えい防御

この機能は2021年5月に新たに追加された機能で、ユーザー名が外部に知られないようにする機能です。
WordPressサイトは「WordPressサイトのURL/?author=数字」にアクセスすると「WordPressサイトのURL/author/ユーザー名」に自動転送される仕組みになっており、このままだとすべてのアカウントのユーザー名が第三者に容易に把握されてしまいます。
ユーザー名漏えい防御を有効にすると、この自動転送が無効化されユーザー名が漏えいするリスクが低減します。
またユーザー名はWP REST APIでも確認できるようになっており、「WordPressサイトのURL/wp-json/wp/v2/users」にアクセスすると、WordPressに登録されているユーザー情報がJSON形式で表示されます。こちらも併せて防ぐには、オプションの「REST APIを無効化」にチェックを入れます。そうするとWP REST APIにアクセスしても、エラーコードが表示され、情報が取得できないようになります。プラグインの中にはWP REST APIを利用しているものもあるので、それらは除外プラグインに追加しましょう。
ただしプラグイン以外は無効化から除外できないため、プラグイン以外でもWP REST APIを利用していると正常に動作しなくなります。その場合はこのオプションは利用せず、個別にコードを記述してユーザーの漏えいを防ぐことをお勧めします。

ユーザー名漏えい防御設定画面

10.更新通知

WordPress本体、プラグイン、テーマに更新データが発生したとするとその情報をメールで権限グループが管理者のユーザーに対して通知する機能です。

これらのアップデートは自動更新で行うこともできますが、運用の都合により手動で更新を行う場合は常にアップデートの発生に気を配る必要があります。この機能を有効化するとアップデート情報の取りこぼしを防げます。

設定画面では通知するアップデートの内容を選択します。

更新通知設定画面

11.ログイン履歴

ログイン履歴ではWordPressへのログイン履歴を10000件まで確認できます。
ログイン履歴ではログイン日時・ログイン結果・ログイン名・IPアドレス・タイプが記録されます。

ログイン結果が「失敗」が短時間に多数発生していたり、タイプが「XMLRPC」になっていたりすると攻撃されている可能性があります。定期的に確認して不審な操作がないか確認すると安心です。

ログイン履歴一覧画面

まとめ:SiteGuard WP PluginでWordPressのセキュリティ対策は概ねカバー!

SiteGuard WP Pluginを導入すれWordPressの管理ページのセキュリティ対策は概ねカバーできるでしょう。

これに加え、サイトのサーバーやネットワークにセキュリティ対策を実施すると、複数の対策を組み合わさってさらにサイト全体の安全性が向上します。
BAsixsでは、WordPressサイトのセキュリティ設定に役立つ資料もご用意しております。
セキュリティ対策の参考に、ぜひお使いください。それでは!

【決定版・専門知識不要】WordPressのセキュリティ対策セルフチェック資料 | BAsixs(ベーシックス)