2026年5月20日

2026年5月20日

WordPressのwp-login.phpへのアクセスをブロックする方法

はじめに

WordPressの wp-login.php は世界中のボットから常に攻撃対象にされています。アクセスログを確認すると、1日数百〜数千回の不正ログイン試行が記録されていることも珍しくありません。適切な対策でサーバー負荷を下げつつセキュリティを強化しましょう。

対策の種類と効果

| 対策 | 難易度 | 効果 |

|------|--------|------|

| IPホワイトリスト | 簡単 | 高(指定IP以外完全遮断) |

| ベーシック認証 | 簡単 | 高(二重認証) |

| ログインURLの変更 | 簡単 | 中(ボットが発見しにくい) |

| ログイン試行回数制限 | 普通 | 中(ブルートフォース対策) |

解決手順

方法1:.htaccessでIPホワイトリスト(最も強力)

# .htaccess — wp-login.php へのアクセスを自分のIPのみ許可
<Files "wp-login.php">
    Order Deny,Allow
    Deny from all
    Allow from 203.0.113.1    # 自分のIPアドレス
    Allow from 198.51.100.0/24 # オフィスのIPレンジ
</Files>

固定IPがない場合は、アクセスのたびに .htaccess を更新するか、ベーシック認証を使います。

方法2:ベーシック認証で二重ロック

# .htaccess
<Files "wp-login.php">
    AuthType Basic
    AuthName "Restricted"
    AuthUserFile /home/user/.htpasswd
    Require valid-user
</Files>
# .htpasswd を生成(Apache ツール)
htpasswd -c /home/user/.htpasswd admin-user

方法3:Nginxでブロック

# nginx.conf
location = /wp-login.php {
    allow 203.0.113.1;
    deny all;
}

# wp-admin ディレクトリも保護
location /wp-admin/ {
    allow 203.0.113.1;
    deny all;
}

方法4:ログインURLをカスタマイズ(WPS Hide Login)

「WPS Hide Login」プラグインをインストールすると、wp-login.php を任意のURLに変更できます。

設定 → WPS Hide Login → ログインURL: /my-secret-login

URLを変更した後も元の wp-login.php にアクセスすると404になります。

方法5:functions.phpでログイン試行を制限

// 3回失敗したら60分ロック
add_filter('authenticate', function($user, $username, $password) {
    $lockout_key = 'login_lockout_' . md5($_SERVER['REMOTE_ADDR']);
    $attempts    = (int) get_transient($lockout_key);

    if ($attempts >= 3) {
        return new WP_Error(
            'too_many_attempts',
            'ログイン試行回数が多すぎます。60分後に再試行してください。'
        );
    }

    if ($user instanceof WP_Error) {
        set_transient($lockout_key, $attempts + 1, HOUR_IN_SECONDS);
    }

    return $user;
}, 30, 3);

注意事項

  • IPホワイトリストを設定する場合は、自分のIPを必ず確認してから設定すること(締め出しに注意)
  • ログインURLを変更した場合は必ずメモしておく(忘れるとアクセス不能になる)
  • wp-cron.php や REST APIへのアクセスは別途考慮が必要

まとめ

最も効果が高いのはIPホワイトリストによる制限です。固定IPがない場合はベーシック認証とログインURL変更を組み合わせて、ボットからの攻撃を大幅に減らせます。

お気軽にご相談ください

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