NoriakiSaeki portfolio

WordPress 管理画面のログイン制限とは?

2024.11.21

WordPressの管理画面(wp-admin)は、サイト運営者が設定や投稿を管理する重要な部分です。しかし、ログインページは攻撃者に狙われやすく、不正アクセスのリスクがあります。ログイン制限を設定することで、セキュリティを強化し、サイトを守ることができます。


なぜログイン制限が必要なのか?

  • ブルートフォース攻撃の防止
    攻撃者がパスワードを総当たりで試すブルートフォース攻撃は、ログイン試行回数を制限することで防げます。
  • 管理画面への不要なアクセスを制限
    特定のIPアドレスや国からのアクセスをブロックし、攻撃リスクを低減します。
  • サイトパフォーマンスの保護
    大量のログイン試行はサーバーに負荷をかけます。ログイン制限により、このような負担を軽減します。

ログイン制限を設定する方法

1. プラグインを利用する方法

ログイン制限を簡単に実装するには、専用のプラグインを使用するのが最も簡単です。

おすすめプラグイン
  1. Limit Login Attempts Reloaded
    • ログイン試行回数を制限
    • ログイン失敗時に一定期間IPをブロック
    • 設定がシンプルで初心者にもおすすめ
  2. Wordfence Security
    • 総合セキュリティプラグイン
    • ログイン試行の制限機能に加え、ファイアウォールや脆弱性スキャンも可能
  3. iThemes Security
    • ログイン制限だけでなく、管理画面保護、2段階認証など多機能
    • セキュリティ全般を強化したい人に最適
設定手順(Limit Login Attempts Reloadedを例に)
  1. WordPress管理画面で「プラグイン」>「新規追加」を選択。
  2. 「Limit Login Attempts Reloaded」を検索してインストール&有効化。
  3. プラグイン設定ページで以下を設定:
    • 許可するログイン試行回数: 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制限の設定が管理画面から可能な場合があります。


その他のセキュリティ強化策

  1. 管理画面URLの変更
    • プラグイン(例: WPS Hide Login)を使ってログインURLを変更する。
    • デフォルトの/wp-login.php/wp-adminを別のものにする。
  2. 二要素認証の導入
    • プラグイン(例: Google Authenticator、Wordfence Security)を利用して二要素認証を追加。
  3. 強力なパスワードの使用
    • 長くて複雑なパスワードを使用し、パスワードマネージャーを活用する。
  4. 不要なユーザーアカウントの削除
    • 使用していない管理者アカウントや初期ユーザー(admin)を削除する。

まとめ

WordPressの管理画面ログイン制限を設定することは、セキュリティを向上させる上で重要な対策です。特にプラグインを活用すれば、初心者でも簡単に設定できます。さらに、他のセキュリティ対策と組み合わせることで、より安全なサイト運営が可能です。

関連記事