Basic認証を入れたらbotスキャンが消えた|WordPressに届く前にブロックされる仕組み【Security Log #20】

WordPressサイトのログを見ていると、/wp-admin//wp-login.phpへのアクセスが頻繁に記録されていることがあります。

そこで、Basic認証を設定したところ、それまで毎日のように記録されていたアクセスが、突然ほぼゼロになりました。

「攻撃やbotスキャンが止まったのか?」と思いきや、実際にはそうではありません。

この記事では、Basic認証を導入するとスキャンログが消えたように見える理由と、その裏で何が起きているのかを、実際のログをもとに解説します。

Basic認証を入れたらログイン画面スキャン系ログが消えた現象

Basic認証を設定する前は、以下のようなアクセスがログに記録されていました。

/wp-admin/
/wp-login.php
/xmlrpc.php

いわゆるログイン画面を狙ったスキャンや、ブルートフォースの前段階のアクセスが確認できる状態でした。

また、/wp-admin/setup-config.php(初期設定画面に関連するURL)へのアクセスも、1日あたり数回程度(約3〜5回)発生していました。

これは特定のサイトを狙った攻撃というより、ボットによる定期的なスキャンと考えられます。

しかし、Basic認証を設定した直後から、これらのアクセスはほとんど記録されなくなりました。

/wp-admin/配下に含まれるsetup-config.phpへのアクセスも同様にブロックされるようになり、ログ上からほぼ消えています。

一見するとスキャンが止まったように見えますが、実際には到達する前にブロックされている状態です。


基本的なWordPressのセキュリティ対策については、以下の記事でも解説しています。

WordPressのセキュリティ対策は何からやるべきか│初心者向けに最低限の設定を解説


実際には攻撃やスキャンは止まっていない|見えなくなっただけの正体

ここで重要なのは、攻撃やスキャン自体は止まっていないという点です。

WordPressサイトは公開された瞬間から、自動スキャンの対象になります。

これはサーバーを変えても、ドメインを変えても避けられません。

つまり、攻撃が減ったのではなく、見えなくなっただけという状態です。


WordPressに到達しない仕組みを図解で理解

Basic認証が効いている場合、アクセスの流れは以下のように変わります。

通常の流れ

bot
 ↓
/wp-admin/にアクセス
 ↓
WordPressが処理
 ↓
ログに記録

Basic認証あり

bot
 ↓
/wp-admin/にアクセス
 ↓
Basic認証で拒否
 ↓
WordPressに到達しない

この時点で、WordPress側では一切処理が行われません。

そのため、404ログや、セキュリティプラグインのログなどには何も記録されなくなります。

サーバーのかなり手前でブロックされている

Basic認証は、WordPressではなくWebサーバー(ApacheやNginx)の段階で動作します。

つまり、

  • PHPが実行される前
  • WordPressが読み込まれる前

にアクセスが遮断されています。

この「手前で止める」というのが非常に重要です。


なぜBasic認証は今でも有効なのか

Basic認証は古い機能というイメージを持たれがちですが、ログイン画面の保護という点では非常に強力です。

理由はシンプルで、

  • 攻撃者は認証画面すら突破できない
  • WordPressに到達できない
  • 攻撃対象としての価値が下がる

ためです。

特に、自動スキャンを行うBotに対しては非常に有効です。


ログが消える=安全ではない理由

注意点として、ログが消えたからといって攻撃やスキャンがなくなったわけではありません。

あくまで

  • 見えなくなっただけ
  • 手前でブロックされているだけ

です。

そのため、

  • WAF
  • 2段階認証(2FA)
  • ログインURL変更

など、複数の対策を組み合わせることが重要です。


Basic認証の簡単な設定方法

Basic認証は、レンタルサーバーの管理画面から簡単に設定できます。

例えばエックスサーバーの場合は、

  1. サーバーパネルにログイン
  2. アクセス制限(Basic認証)
  3. /wp-admin/ディレクトリに設定

といった流れで数分で設定可能です。

詳細な手順は公式マニュアルを参照してください。


まとめ|Basic認証はWordPressにアクセスされる前に止める

Basic認証を導入すると、botスキャンログが消えたように見えます。

しかし実際には、攻撃やスキャンは続いているが、WordPressに届いていないという状態です。

ログに出てこないことで不安になるかもしれませんが、これはむしろ正常な動作です。

ログに現れるスキャンよりも前の段階でブロックできているという意味で、Basic認証はシンプルながら非常に有効な対策と言えます。



このブログの運営環境

  • WordPress
  • GeneratePress
  • エックスサーバー

エックスサーバー公式サイト