2026年6月18日

2026年6月18日

WordPressのwp-adminを国別アクセス制限する方法

はじめに

最近では、WordPressを管理する際にセキュリティの重要性が高まっています。特に管理画面(wp-admin)へのアクセスは外部からの攻撃やスパイ行為のターゲットとなりやすい部分です。この記事では、特定の国からのみwp-adminへのアクセスを許可し、他の国からのアクセスを遮断する方法を紹介します。

症状・背景

このテーマが必要になる主な場面:

  • 顧客情報や重要なデータを取り扱うサイトで、セキュリティ対策としてIPベースの制限を検討している場合
  • 特定の国からのアクセスを絶対に許可しない(または一部だけ許可する)必要がある場合
  • ログイン試行回数や他の種類の攻撃に対する防御策を強化したい場合

手順・設定方法

ステップ1: .htaccessファイルへのIP範囲追加

# WordPressのルートディレクトリにある.htaccessファイルを開く
nano .htaccess

# 次のように記述して保存する(例:日本からのみアクセス許可)
RewriteEngine On
Order Deny,Allow
Deny from all
Allow from 240.0.0.0/5 # 日本のIP範囲

ステップ2: cPanelまたは類似ツールを使用する

# cPanelにログインし、ドメイン設定 > IPアクセスをクリック
# "Add Access Rule"を選択して、"Allow/Deny", "Allow access from the following countries or regions:" を選択
# 必要な国(または地域)のチェックボックスをオンにして保存する

ステップ3: ファイアウォールルールの追加

# Linuxサーバーでファイアウォールを使用している場合、特定の国からのアクセスを許可するための規則を作成
# ここではIPsetとiptablesを利用した例を示す(実際のコマンドは環境によって異なる可能性がある)
ipset create japan-iphash hash:net family inet
ipset add japan-iphash 240.0.0.0/5 # 日本のIP範囲

# ファイアウォールルールを追加
iptables -I INPUT -m set --match-set japan-iphash src -j ACCEPT

ステップ4: セキュリティプラグインを使用する

# WordPressプラグインストアからGeoIPプラグインをインストールし、設定画面を開く
# "Country Access Control"セクションでアクセス許可と拒否の国を選択
# 必要に応じて他のオプション(ログイン試行回数制限等)も有効化する

注意事項

  • <実践的な注意点1>: IP範囲は正確な情報に基づいて定義することが重要です。誤った情報を設定すると、不必要なアクセスを許可したり、正当なアクセスを拒否したりする可能性があります。
  • <実践的な注意点2>: これらの方法を使用する際には、テスト環境で事前に動作確認を行うことを強く推奨します。誤って重要なアクセスを遮断しないよう注意してください。
  • <セキュリティ上の注意>: セキュリティ設定は適切に維持することが重要です。IP範囲や国リストは定期的に更新し、新しい脅威に対応できるようにすることをお勧めします。
  • <パフォーマンス/運用上の注意>: 多量のアクセス制限ルールがある場合、サーバーのパフォーマンスに影響を与える可能性があります。必要最小限の規則を設定し、適切な監視を行うことが重要です。

まとめ

1. IP範囲の正確性: 適切なIP範囲を選択・定義することがセキュリティとパフォーマンスを確保する上で非常に重要です。

2. テスト環境での確認: 実際の環境に影響を与えないよう、まずテスト環境で設定を試してみてください。

3. 定期的な更新: 脅威は常に進化しています。IP範囲や国リストは定期的に更新し、新しい脅威に対応できるようにすることが大切です。

4. 適切な監視: アクセス制限設定後も、サーバーの状態を継続的にモニタリングして、必要に応じて設定を調整することが重要です。

5. バックアップとリカバリ: 重要な変更を行う前に必ずバックアップを作成し、万が一の場合の対策を準備しておくことが推奨されます。

関連記事:

お気軽にご相談ください

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