2026年10月5日
2026年10月5日
WordPressのwp-login.phpへのアクセスを制限する方法
はじめに
WordPressサイトの管理画面は、攻撃者にとって魅力的な標的です。特にwp-login.phpへの不正アクセスを防ぐことは重要であり、これによりログインページ自体に対するスパムやハッキングからの保護が可能になります。
症状・背景
このテーマが必要になる主な場面:
- WordPressサイトの管理画面への不審なアクセスが多く報告される
- ログインページがDDoS攻撃を受けている可能性がある
- セキュリティスキャンにより、wp-login.phpに対する脆弱性が指摘された
- 他のセキュリティプラグインでは十分な保護が得られない
手順・設定方法
ステップ1: .htaccessファイルを編集してアクセス制限をかける
# WordPressのルートディレクトリに移動します。
cd /var/www/html/wordpress/
# 現在の.htaccessファイルをバックアップとして保存します。
cp .htaccess .htaccess.backup
# 新しいアクセス制限を含む新しい.htaccessファイルを作成または編集します。
nano .htaccess
ステップ2: 主要オプション/設定
# wp-login.phpへのアクセスを特定のIPアドレスに限定するルールを追加します。
Order Deny,Allow
Deny from all
Allow from 192.168.1.50 # 特定のIPアドレスのみ許可
# 上記の設定でIPアドレスが変更された場合、再び適用するために.htaccessファイルを保存します。
Ctrl+O > Enterキー
ステップ3: 応用/組み合わせ
# wp-login.phpへのアクセスを特定の時間帯に制限するルールを作成します。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{TIME_HOUR} >=0 [OR]
RewriteCond %{TIME_HOUR} <23
RewriteRule ^wp-login\.php$ - [F,L]
</IfModule>
# 上記の設定を保存します。
Ctrl+O > Enterキー
ステップ4: 実践/トラブルシュート/監視
# 既存のアクセス制限が適切に機能しているか確認するためにApacheエラーログをチェックします。
tail -f /var/log/apache2/error.log | grep wp-login.php
注意事項
- IPアドレスベースのアクセス制限は、固定IPからしかアクセスできない場合にのみ有効です。
- 時間帯によるアクセス制限では、スタッフがログイン可能な時間帯を指定する必要があります。
- 定期的にセキュリティスキャンを行い、新しい脅威に対応できるようにします。
- ログファイルは定期的に監視し、異常なアクセスパターンがないか確認してください。
まとめ
1. IPベースの制限: 特定のIPアドレスからのみwp-login.phpへのアクセスを許可できます。
2. 時間帯による制限: 定時勤務の場合、夜間や休日中にログインページへの不必要なアクセスを防ぐことができます。
3. セキュリティスキャン: 定期的なスキャンにより、潜在的な脅威を見つけることが可能になります。
4. ログファイルの監視: アクセスパターンに変化があるかどうかを確認し、異常な動きがあれば即座に対応します。
関連記事: