WordPressへの不正アクセスと対策プラグイン[SiteGuard]
世界のWEBサイトの40%以上で使われているともいわれ、世界最多シェアを誇るCMSのWordpressですが、その圧倒的シェアゆえに不正アクセスの被害に遭うリスクも高いという問題があります。
では、実際に不正アクセスや不正ログインに遭った場合や予防策としてどのような対策を取ればよいのでしょうか?
アクセスログを確認する
レンタルサーバーで運用されている場合アクセスログを確認できる機能を提供しているサービスがあります。Xserverではアクセスログを確認する機能がありますのでサーバーパネルから過去30日分のアクセスログを確認することができます。
ログイン後、アクセス解析->アクセスログから確認したいドメイン及び日付を選択してダウンロードが可能です。
特定の1日のデータを確認してみると、、、
webnation.co.jp ***.***.***.*** - - [12/Jul/2024:10:33:37 +0900] "GET /wp-admin/ HTTP/2.0" 302 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
webnation.co.jp ***.***.***.*** - - [12/Jul/2024:10:33:40 +0900] "GET /wp-login.php?redirect_to=https%3A%2F%2Fwebnation.co.jp%2Fwp-admin%2F&reauth=1 HTTP/2.0" 200 3273 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
ログインを試行し、いくつか失敗している形跡を発見いたしました。
単純な間違いの可能性もありますが、もし実際に不正ログインが発生した場合まずはアクセスログの確認をして原因となった日付等を確認後、それ以前のバックアップデータから復元するなどを行うと良いでしょう。
不正アクセスを対策するためのプラグイン
アクセスログの解析ではどのユーザーでアクセスを試みたのかなどの詳細な情報を得ることができませんので詳細な履歴を閲覧可能なプラグイン「SiteGuard」を導入してみました。
また、こちらのプラグインを導入することでWordpressの仕様である「/author=ユーザーID」にアクセスすることで容易にユーザーネームを特定できてしまう問題を防ぐことも可能です。
プラグイン有効化後左メニューから上記のような設定画面へ移動できるようになります。
不正アクセス対策する機能が複数ありそれぞれ「有効」「無効」を選択することが可能となっています。
今回は以下を設定してみました。
画像認証 | 有効にするとログインページに画像で表示された文字の入力を求めます。 |
ログイン詳細エラーメッセージ無効化 | 有効にするとログインに関するエラーメッセージがすべて同じ内容になります。ユーザー名、パスワード、画像認証のどれを間違えても同じエラーメッセージを表示します。 |
ユーザー名漏えい防止 | 前述の「/author=ユーザーID」からユーザー名を特定されてしまう問題を防ぎます。 |
SiteGuradからログイン履歴を確認
ログイン履歴を確認してみます。
アクセス解析では確認することができなかったどのユーザー名でログインが試行されたかの情報を得ることができているようです!
無料で簡単に実装できるワードプレスですが圧倒的なシェアゆえに不正アクセスの被害に遭うリスクも高いです。
今回紹介したプラグインだけでなく、複雑なパスワードの設定や定期的なパスワードの変更など基本的なセキュリティ対策も忘れずに行っていただければと想います。