ワードプレスの管理画面を日本国外からのアクセス禁止について

ワードプレスの管理画面を日本国内からのみ、アクセスしたい。つまり、日本国外、外国からのIPからのアクセスをできないようにしたいという、相談があり、いろいろと方法を調べている方からの相談がありました。

通常は、有料サポートになりますが、TIPSに載せたかったので、無料相談で受け付けました。その方が調べてきた方法が、.htaccessで国内IPのみアクセスを可能にするという方法でした。IPのリストは、ネットで出回っています。
※本記事は、一般的な共有のレンタルサーバーでの使用を前提としております。

あまり現実的ではありません。

ネットの調べると.htaccessに除外IPリストをすべて載せる方法がありますが、インフラエンジニアからすると現実的ではありません。

たしかにその方法はできるとおもうのですが、毎回ページを見るときに(wp-login.phpに限定しても)、記述の内容をサーバーが読み込むので、とてもパフォーマンスが落ちます。つまり、サイト自体が遅くなります。

それではどの様にすればいいのか?

問題は、wp-login.phpがワードプレスの共通のログインアドレスで、そこを意図しないアクセス元から攻撃をされることです。これは、オープンソースや多く使われているCMSやフレームワークでは、致し方ないことです。

ということで、考えを変えてみましょう。ログインアドレスを変えればいいのです。

ログインアドレスを変える

プラグインでワードプレスのログインアドレスを変えることができます。セキュリティー関係のプラグインで「SiteGuard WP Plugin」というものがあります。名前も頼もしそうですね!

簡単にワードプレスのログインアドレスを変えることができます。攻撃はwp-login.phpにされても、サーバーは「404エラー」つまり「ページが見つかりません」を返すだけなので、サーバーにもあまり負荷がかかりませんし、攻撃されてサイトがワードプレスのハッキング(クラック)される可能性が、格段に下がります。

ワードプレスの管理画面を日本国内からのみ、アクセスしたい。つまり、日本国外、外国からのIPからのアクセスをできないようにしたいという、相談があり、いろいろと方法を調べている方からの相談がありました。 通常は、有料サポートになりますが、TIPSに載せたかったので、無料相談で受け付けました。その方が調べてきた方法が、.htaccessで国内IPのみアクセスを可能にするという方法でした。IPのリストは、ネットで出回っています。 ※本記事は、一般的な共有のレンタルサーバーでの使用を前提としております。

セキュリティー機能が満載

「SiteGuard WP Plugin」は、セキュリティー強化のワードプレスプラグインのため、その他にワードプレスのセキュリティーを高くすることができます。

  • ログインページ、コメント投稿に画像認証を追加
  • ログインの失敗を数回繰り返すと、指定した時間をロックをかけます。
  • XMLRPCのセキュリティーの穴の悪用を防ぎます。←結構重要です。
  • 正しいパスワードをいれても1回目はログインができません。

以上の設定をすることによって、ワードプレスの管理画面への攻撃を格段に減らすことができます。

レンタルサーバーの機能を使う

レンタルサーバーの機能で、国外IPからのアクセスを遮断する機能があります。ワードプレスの管理画面を外国IPから遮断する機能もあるところがあります。ここの仕組みは、本記事では割愛しますが、この機能があるのであれば、こちらをまず使うのことが第1選択となり、そして「SiteGuard WP Plugin」を併用すれば、セキュリティーのリスクは格段に下がると考えられます。XSERVERやWPXなどはこの機能が充実しており、丙h差としては多数のお客様におすすめしております。

国外IPの遮断は完璧ではない

IPというものは、簡単に言うとルーティング(経路設定)をすれば、アメリカで割り振られたIPをどこにでも持ってくることはできます。基本的にには、割り振られた国で使うのが一般的ですが。

その他、IPアドレスの割当が変更になったりすると、国が変わる場合もあります。

ですので、世の中に出回っている国内IPリストや外国IPリストは、定期的に更新がかかって言います。

ざっと簡単にいうとこんな感じです。ざっというとです。

ですので、国外IP遮断は完璧ではありませんが、共有サーバーで提供している機能は、それなりに精度が高くはなると思います。もちろん、サーバー会社も1回設定したらずっと終わりではなく、内容についても定期的にアップデートはしていると思います(多分)

おまけ VPSの場合はどうか?

これまでは、共有サーバーの話でありましたが、専用サーバーやVPSやクラウドの様に館権限を持っているサーバーはどうなのかというと、FireWall機能(旧IPTABLES)があるのですが、ここで外国IPを遮断する設定をこまかく入れていく方法もありますが、この機能はサーバーのメモリーを確実に消費するので、計算をしたり、うまくIPのレンジで制限しないといけないなど、細かく計算をしないといけないため、ワードプレスの管理画面を国外IPから遮断するという部分では、プラグインでログイン画面を変えると良いというのが、一番ベストかなと思います。