2026年7月24日
2026年7月24日
WordPressのwp-adminディレクトリを保護する方法
はじめに
ウェブサイトの管理者として、WordPressのwp-adminディレクトリを適切に保護することは非常に重要です。この記事では、wp-adminディレクトリへのアクセスを制限することで、不正な操作や攻撃からサイトを守る方法について解説します。
症状・背景
このテーマが必要になる主な場面:
- <管理者アカウントのパスワードが漏洩した場合>
- <特定のIPアドレスからのアクセスを制限したい場合>
- <サイト全体のセキュリティレベルを高めたい場合>
手順・設定方法
ステップ1: .htaccessファイルを使用してIPアドレスでアクセス制御を行う
# wp-adminディレクトリにアクセスできるIPアドレスを指定する(例:192.168.1.100)
<FilesMatch "wp-login\.php|wp-admin">
Order Deny,Allow
Deny from all
Allow from 192.168.1.100
</FilesMatch>
# wp-adminディレクトリのサブフォルダへのアクセスも制限する(例:admin.php)
<Directory /path/to/your/site/wp-admin>
Order Deny,Allow
Deny from all
Allow from 192.168.1.100
</Directory>
ステップ2: wp-login.phpへのアクセスを特定のIPアドレスに限定する
# wp-login.phpへの直接的なアクセスも制限するために、さらに追加するコード
<FilesMatch "wp-login\.php">
Order Deny,Allow
Deny from all
Allow from 192.168.1.100
</FilesMatch>
ステップ3: wp-adminディレクトリへのブラウザアクセスを制限する
# ブラウザからのwp-adminディレクトリの直接的なアクセスを無効にする
<FilesMatch "wp-login\.php|wp-admin/.*">
Order Allow,Deny
Deny from all
</FilesMatch>
ステップ4: .htaccessファイルへの変更を反映させる
# .htaccessファイルに上記の設定を追加した後、ブラウザでwp-login.phpやwp-adminディレクトリへのアクセスを試みる
# 通常であれば、ログイン画面が表示されるはずですが、この設定ではアクセスが拒否されるはずです。
注意事項
- <実践的な注意点1>: IPアドレスの変更に伴い、.htaccessファイルも更新する必要がある場合があります。固定IPアドレスを使用することを強く推奨します。
- <実践的な注意点2>: リモートからwp-adminディレクトリへのアクセス制御を行う際は、他の安全な方法(SSH経由など)でログインできるようにしておくことが重要です。
- <セキュリティ上の注意>: .htaccessファイルの編集を誤ると、サイト全体がダウンしてしまう可能性があります。必ずバックアップを取った上でテスト環境などで試すことをおすすめします。
- <パフォーマンス/運用上の注意>: 構成の複雑さによっては、アクセス制御の設定が意図しない結果をもたらすことがあります。詳細なテストとモニタリングが必要です。
まとめ
1. <キー1>: IPアドレスベースのアクセス制御を使用してwp-adminへの直接的なアクセスを遮断する。
2. <キー2>: .htaccessファイルを通じて、wp-login.phpに対する特定IPからのみのアクセス許可を設定する。
3. <キー3>: ブラウザからのwp-adminディレクトリへのアクセスを完全に拒否することも可能である。
4. <キー4>: 定期的に.htaccessファイルをチェックし、セキュリティポリシーの変更に対応する。
5. <キー5>: セキュアな設定を適切にテストすることで、不意な問題が発生しないようにする。
関連記事: