ブログのセキュリティを守るプラグインSiteGuard WP Plugin[WordPress]

シェアしていただけるとうれしいです

ひまわり


インターネット上にあるものは、日々、攻撃の脅威にさらされています。ブログも例外ではありません。

特に、WordPressを使っているサイトは世界中に多数あります。WordPressを使っているサイトが攻撃の対象になる例は頻繁にあります。

  • すべてのWordPressを使っているサイトが共通のプログラムを使っていること
  • プログラムが共通であるがゆえに、サイトの構成も共通であること
  • 一つのサイトの攻撃が成功すれば、他のサイトへの攻撃にも応用できること

これらの理由によって、WordPressを使っているサイトは攻撃の対象になりやすいのです。

よくあるものが、

  • 知らないうちにユーザーが追加されていた
  • 知らないうちに記事が増えていた
  • 知らないうちに記事が改ざんされていた

という被害です。

まろ
知らないうちに○○されていた、てへへ。

というだけなら笑い話で済みますが、知らないうちにユーザーが追加されて記事が増えているこということは、サイトを知らない第三者に乗っ取られる可能性もあるわけですし、知らないうちに記事が改ざんされているということは、読者が詐欺サイトやウイルスをダウンロードさせるようなサイトへ誘導されてしまうという可能性も否定できないわけです。

あなたが今まで積み上げてきた「○○万PV/月」という実績は、一瞬のうちに消え去る可能性があります。

WordPressで作成されたサイトの管理責任は、サイトを運営しているあなたにあります。すこしでも被害を防ぐために、我々ができる対策をしなければなりません。

スポンサーリンク

SiteGuard WP Pluginをインストールする

WordPressで作成されたサイトへの侵入は、入り口である「管理ページ」へのアクセスを厳しく制限することで防ぐことができます。

「管理ページ」へのアクセスを厳しく制限するためのプラグインが「SiteGuard WP Plugin」です。

SiteGuard WP Pluginのインストール

WordPressの管理ページにログインし、「プラグイン」→「新規追加」で「SiteGuard WP Plugin」を検索します。
「プラグイン」→「新規追加」で「SiteGuard WP Plugin」を検索します。

検索して見つかった「SiteGuard WP Plugin」をインストールして有効化します。
検索して見つかった「SiteGuard WP Plugin」をインストールして有効化します。

SiteGuard WP Pluginでできること

「SiteGuard WP Plugin」で実現できる機能は下記のとおりです。

一つ一つ説明しましょう。

管理ページアクセス制限

管理ページアクセス制限
管理ページにログインしていないアクセス元(IPアドレス)から管理ページに関連するフォルダへのアクセスがあっても、404 Not Found(ページが見つかりません)を返却する機能です。

ログインしたらその時のIPアドレスが記録され、通常通りログインすることができます。

つまり、ログインしていないアクセス元から管理ページに関連するファイルへのアクセスを拒絶し、仮に管理ページ関連のプログラムに不具合があって、ログインしなくても管理ページにアクセスできてしまうようなことが起きないようにするための機能です。

除外パスとして、

  • css
  • images
  • admin-ajax.php

この3つのファイルとフォルダへのアクセスはデフォルトで可能になっています。これらのファイルとフォルダへは、通常のページの機能として使われる可能性があるためです。

「admin-ajax.php」は、SNSボタンのシェア数の取得などに使われています。
http(またはhttps)://ドメイン名/wp-admin/
からはログインできなくなりますので、
http(またはhttps)://ドメイン名/wp-login.php
からログインする必要があります。

ログインページ変更

ログインページ変更
WordPressの管理ページへのログインURLは、

http(またはhttps)://ドメイン名/wp-admin/
http(またはhttps)://ドメイン名/wp-login.php
になっていますが、これを

http(またはhttps)://ドメイン名/login_ランダムな数字5桁/

に変更してしまいます。標準の管理ページのURLとは異なるURLにしてしまうことによって、攻撃者から管理ページにアクセスしにくくしてしまおうという機能です。

「管理ページのURLを標準とは違うURLに変更する」ということは、そのURLを覚えておく、または、ブックマークしておかないと、自分がアクセスできなくなってしまうので注意が必要です。

画像認証

画像認証
ログインページに「画像認証」を追加できます。こんな感じです。
ログインページに「画像認証」を追加できます。
画像で表示された「ひらがな」を入力しないとログインできません。

攻撃の多くは海外からの攻撃なので、「ひらがな」を入力させることで攻撃を回避しようというものです。

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

ログイン詳細エラーメッセージの無効化
ログインに失敗したときに、ログインに失敗した理由を詳細に表示するのではなく、すべてのログイン失敗の理由を同じメッセージに変更します。こんな感じです。
ログインに失敗したときに、ログインに失敗した理由を詳細に表示するのではなく、すべてのログイン失敗の理由を同じメッセージに変更します。

攻撃者に対して、ログインに失敗した理由を明らかにしないということで、何が間違っているのかを教えることがないということで、それなりの効果はあると思います。

ログインロック

ログインロック
こちらで設定した「期間」内に、設定「回数」以上ログインに失敗すると、設定した「ロック時間」内は、接続してきたIPアドレスからのログインができなくなります。

いたずらでのログインや、いわゆるブルートフォースアタックを防ぐためには有効な手段です。

ブルートフォースアタックで感染した[WordPress]
ブルートフォースアタックで感染した[WordPress]
ブルートフォースアタックによってWordPressの管理ページに侵入されてしまい、プログラムのソースを書き換えられてしまったようだ。

ログインアラート

ログインアラート
管理ページにログインがあったときにメールで知らせてくれる機能です。

もちろん自分がログインしたときにも知らせてくれます。自分以外のログインがあったということは、別の第三者が管理ページにログインしたということです。

メールは、「ユーザー」→「あなたのプロフィール」のところで設定してあるメールアドレス宛に送られます。できれば、携帯やスマホで受信できるアドレスを設定しておきたいですね。

フェールワンス

フェールワンス
ログインに成功しても、必ず1回は「失敗したこと」にします。2回ログインが必要になります。

攻撃者は「効率よく」攻撃を行いたいので、1ど失敗すれば諦めるだろうということだと思います。

XMLRPC防御

XMLRPC防御
よく攻撃の対象になる「xmlrpc.php」というファイル自体を無効にすることで、「XMLRPC」という機能を無効にし、攻撃を防御しようというものです。

ただし、「XMLRPC」は、ピンバックや外部アプリからの記事の投稿に使われている機能なので、無効にするとそれらの機能が使用できなくなります。

更新通知

更新通知
WordPress本体、プラグイン、テーマのバージョンアップが必要なときに、メールで知らせてくれます。

ただし、WordPressの管理ページからインストールしたプラグイン、テーマに限られます。自分でZIPファイルをFTPなどでアップロードしてインストールしたプラグイン、テーマは通知されません(おそらく)。

WAFチューニングサポート

WAFチューニングサポート
レンタルサーバー自体に「JP-Secure製のWAF ( SiteGuard Lite )」がインストールされている場合に不具合が起きることを防ぎます。

ロリポップには「SiteGuard Lite」がインストールされているようですが、XSERVERでは使用されていないので関係ありません。

実際の設定

実際に、ぼくのWordPressのブログでどのように設定しているか紹介しましょう。

実際に、ぼくのWordPressのブログでどのように設定しているか紹介しましょう。

実際に有効にしているのは、下記の機能のみです。

  • 管理ページアクセス制限
  • ログイン詳細エラーメッセージの無効化
  • ログインアラート
  • 更新通知

あとの残りの機能は無効にしています。

無効にしている機能とその理由

ログインページ変更

ログインページを忘れてしまった、ということが原因です。
確かにログインページを変更することで攻撃から逃れることはあると思いますが、他の機能でカバーできると判断したということもあります。

画像認証

Google2段階認証を導入したので、画像認証は不要になりました。

管理ページにGoogle二段階認証(Google Authenticator)を導入する[WordPress]
管理ページにGoogle二段階認証(Google Authenticator)を導入する[WordPress]
WordPressでサイトやブログを運営する上で、最も怖いのが「乗っ取り」。WordPressの管理ページの「ユーザー名」と「パスワ...

ログインロック

XSERVERの標準の機能として「ブルートフォースアタック」対策がされているので、二重の対策は不要です。
XSERVERの標準の機能として「ブルートフォースアタック」対策がされているので、二重の対策は不要です。

フェールワンス

正直、面倒なのと、「ブルートフォースアタック対策」で十分と考えています。

XMLRPC防御

こちらもXSERVERの標準の機能として対策されていますので無効にしています。
XMLRPC防御もXSERVERの標準の機能として対策されていますので無効にしています。

WAFチューニングサポート

先にも記述しましたが、XSERVERでは「SiteGuard Lite」は使用されていませんので不要です。

必要に応じて対策を!

XSERVERのように、標準でWordPressのセキュリティ設定がされているサーバーはいいのですが、そのような設定がされていないサーバーでは、必要に応じて対策を施す必要があります。

特に、ブルートフォースアタックについては、すべてのWordPressのサイトに対して攻撃が仕掛けられていると考えていいですログインロックフェールワンスの機能は、ブルートフォースアタック対策がされていないレンタルサーバーでは必ず有効にしましょう

それでは、攻撃を回避して楽しいブログライフをヽ(´ー`)

WEBのシステムを作ったり保守したりするSE/プログラマというものをしています。
ブログやってますがブロガーではありません。週末WEB随筆家です。
まろと呼んでください。
スポンサーリンク

シェアしていただけるとうれしいです

フォローしていただけるとうれしいです