2026年9月18日

2026年9月18日

WordPressのユーザー列挙攻撃を防ぐ方法

はじめに

WordPressサイトの安全性を確保するためには、ユーザー列挙攻撃からの防御が非常に重要です。ユーザー列挙攻撃とは、攻撃者が特定のURLを介して存在するユーザー名の一覧を得ようとする試みで、これにより、攻撃者はログイン情報を盗んだり、サイト全体に対する脆弱性を探り出したりすることが可能になります。

この記事では、WordPressサイトでユーザー列挙攻撃からどのように防御できるかについて詳しく紹介します。具体的には、WP Security Audit Logプラグインの活用や.htaccessファイルへのアクセス制限などを通じて、攻撃者による不正な情報取得を防止する方法をお伝えします。

症状・背景

このテーマが必要になる主な場面:

  • ユーザー登録フォームからのフィードバックがユーザー名の一覧に繋がる場合
  • .htaccessファイルの存在や内容が攻撃者によって確認されてしまう場合
  • WP Security Audit Logプラグインが導入されていない場合

手順・設定方法

ステップ1: WP Security Audit Logプラグインのインストールと設定

# WordPress管理画面からWP Security Audit Logプラグインをインストールします。
/wp-admin/plugins.php?action=activate&plugin=wp-security-audit-log%2Fwp-security-audit-log.php

# プラグインの設定ページを開き、ユーザー登録の追跡機能を有効にします。
/wp-admin/admin.php?page=wpsal_main&action=settings

ステップ2: .htaccessファイルへのアクセス制限

# .htaccessファイル内の以下の行を追加することで、特定のIPアドレスからのみアクセスを許可することができます。
Order Deny,Allow
Deny from all
Allow from 192.0.2.1

# もしくは、以下のようにユーザー名やパスワードを用いた基本認証を有効にすることもできます。
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /path/to/your/.htpasswd
Require valid-user

ステップ3: WordPressのデフォルトユーザーと管理者アカウントの変更

# wp-cliを使用して、デフォルトの管理者ユーザー名を変更します。
wp user update 1 --user_login=new_admin_username

# 新しいユーザー名に対して強力なパスワードを設定します。
wp user update 1 --user_pass=strongpassword123!

ステップ4: ユーザー登録フォームからのフィードバックの制御

# wp-cliを使用して、ユーザー登録エラーメッセージをカスタマイズします。
wp rewrite structure '/%year%/%monthnum%/%postname%/'

注意事項

  • WP Security Audit Logプラグインは最新版に保つことが重要です。
  • .htaccessファイルへの変更はバックアップを取り、テスト環境で確認することを推奨します。
  • IPアドレスやユーザー名・パスワードの情報は安全な場所に保管し、漏洩しないように注意してください。

まとめ

1. WP Security Audit Logプラグインの設定: ユーザー登録やログインに関するすべての操作を追跡します。

2. .htaccessファイルへのアクセス制限: 特定のIPアドレスからのみアクセスを許可することで、無差別な攻撃から保護できます。

3. デフォルトユーザー名の変更: WordPressの管理者ユーザー名をデフォルト以外に変更し、強力なパスワードを設定します。

4. ユーザー登録エラーメッセージのカスタマイズ: ユーザーが存在しない場合や既存のユーザーと重複している場合などのメッセージを詳細に制御します。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ
▲