2024.11.21
WordPressの管理画面(wp-admin)は、サイト運営者が設定や投稿を管理する重要な部分です。しかし、ログインページは攻撃者に狙われやすく、不正アクセスのリスクがあります。ログイン制限を設定することで、セキュリティを強化し、サイトを守ることができます。
なぜログイン制限が必要なのか?
- ブルートフォース攻撃の防止
攻撃者がパスワードを総当たりで試すブルートフォース攻撃は、ログイン試行回数を制限することで防げます。
- 管理画面への不要なアクセスを制限
特定のIPアドレスや国からのアクセスをブロックし、攻撃リスクを低減します。
- サイトパフォーマンスの保護
大量のログイン試行はサーバーに負荷をかけます。ログイン制限により、このような負担を軽減します。
ログイン制限を設定する方法
1. プラグインを利用する方法
ログイン制限を簡単に実装するには、専用のプラグインを使用するのが最も簡単です。
おすすめプラグイン
- Limit Login Attempts Reloaded
- ログイン試行回数を制限
- ログイン失敗時に一定期間IPをブロック
- 設定がシンプルで初心者にもおすすめ
- Wordfence Security
- 総合セキュリティプラグイン
- ログイン試行の制限機能に加え、ファイアウォールや脆弱性スキャンも可能
- iThemes Security
- ログイン制限だけでなく、管理画面保護、2段階認証など多機能
- セキュリティ全般を強化したい人に最適
設定手順(Limit Login Attempts Reloadedを例に)
- WordPress管理画面で「プラグイン」>「新規追加」を選択。
- 「Limit Login Attempts Reloaded」を検索してインストール&有効化。
- プラグイン設定ページで以下を設定:
- 許可するログイン試行回数: 3~5回程度がおすすめ
- ブロック期間: 20~30分
- ロック解除までの最大時間: 数時間~24時間
2. .htaccessを利用したログイン制限
コードを編集できる場合、.htaccessでアクセス制御を行うことも可能です。
特定IPアドレスからのアクセス制限
以下のコードを.htaccess
ファイルに追加します。
<Files wp-login.php>
Order Deny,Allow
Deny from all
Allow from 123.456.789.0
</Files>
- Deny from all: 全てのIPをブロック
- Allow from [IPアドレス]: 許可したいIPを指定
リダイレクトで偽装する
ログインページに直接アクセスさせないように、リダイレクト設定を行います。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/wp-login.php$
RewriteRule .* /404.html [R=302,L]
</IfModule>
3. IPアドレス制限をサーバー側で設定
使用中のレンタルサーバー(例: ConoHa、エックスサーバー)では、IP制限の設定が管理画面から可能な場合があります。
その他のセキュリティ強化策
- 管理画面URLの変更
- プラグイン(例: WPS Hide Login)を使ってログインURLを変更する。
- デフォルトの
/wp-login.php
や/wp-admin
を別のものにする。
- 二要素認証の導入
- プラグイン(例: Google Authenticator、Wordfence Security)を利用して二要素認証を追加。
- 強力なパスワードの使用
- 長くて複雑なパスワードを使用し、パスワードマネージャーを活用する。
- 不要なユーザーアカウントの削除
- 使用していない管理者アカウントや初期ユーザー(admin)を削除する。
まとめ
WordPressの管理画面ログイン制限を設定することは、セキュリティを向上させる上で重要な対策です。特にプラグインを活用すれば、初心者でも簡単に設定できます。さらに、他のセキュリティ対策と組み合わせることで、より安全なサイト運営が可能です。