みなさん、こんにちは!
ブリュの公式ブログ.netにお越しいただきまして、ありがとうございます。
このサイトでは、ITについて特化したサイトを運営しています。
今回はhetemlレンタルサーバーを使っていて起こった不具合について紹介します。
hetemlでは、「海外アタックガード」と「コンテンツキャッシュ機能」を搭載し、細かい仕様変更が行われました。
この不具合は、仕様変更後に生じているので、何かしらの関係があるのかもしれません。
目次
WordPressのIPアドレス制限
以前、当サイトでも、WordPressのログイン画面にIPアドレス制限を行うことで、外部からの攻撃を防ぐ方法について紹介しました。
→WordPressのログイン画面にIPアドレス制限を行う方法
具体的には、以下のコードを.htaccessファイルに追記することで、ログイン画面に自分以外がアクセスできないように制限を加えます。
1 2 3 4 5 |
<Files "wp-login.php"> order deny,allow deny from all allow from ご自身のIPアドレス </Files> |
ご自身のIPアドレスは、IPアドレスのチェックツールで確認できます。
私自身は、60から始まるIPアドレスになっています。
この方法で、今まではWordPressのアクセス制限が可能になっていました。
しかし、急に自分自身のアクセスでも403を返すようになったので、理由がわからず、ひとまずIPアドレス制限を解除していました。
しかし、SiteGuardプラグインによって、その理由が判明しました。
SiteGuardプラグインでログイン履歴のチェック
SiteGuardプラグインで、ログイン履歴のチェックを行ってみました。
すると、、、
なんと、サーバーが認識しているIPアドレスが、60から始まるものではありません!
2行目、3行目においては、60から始まるIPアドレスになっています。
しかし、最新のデーターである1行目は、10から始まるものになっていました。
サーバーがローカルIPを取得している!?
この謎の10から始まるIPアドレスが何なのかというと、ローカルIPアドレス専用となるIPアドレスです。
具体的には、
- 10.0.0.0~10.255.255.255
- 172.16.0.0~172.31.255.255
- 192.168.0.0~192.158.255.255
は、ローカルIPアドレスで用いるIPアドレスとなっており、やはりサーバー内部のローカルIPアドレスの様です。
なぜサーバー内部のローカルIPアドレスが、WordPress内で影響しているのでしょうか・・・
グローバルIPアドレスとローカルIPアドレス
グローバルIPアドレスとローカルIPアドレスについて簡単に説明しておきます。
世界にはグローバルIPアドレスという、インターネット上の住所があります。
このグローバルIPアドレスによって、インターネットの通信が成立しています。
しかし、グローバルIPアドレスは、世界人口に対して少なすぎるため、IPアドレスの枯渇問題が生じました。
そこで、企業などの組織に対して1個だけのグローバルIPアドレスを与え、企業内のローカルなネットワークでは、そのネットワークでのみ使うことのできるIPアドレスで構築します。
この、ローカルな空間内でのみ使えるIPアドレスが、ローカルIPアドレスです。
皆さんのパソコンやスマートフォンも、家庭内のWiFiにつないでいるときには、ローカルIPアドレスによって動作しています。
世界につながるインターネットの出入り口であるのがルーターで、ルーターを親としてパソコンやスマートフォンにローカルIPアドレスを与え、情報の分配を行っています。
これによって、家族全員でグローバルIPアドレスを共有しながらも、それぞれ個別の端末がデーターの送受信を行えるようになっています。
最近のhetemlの仕様変更
なぜローカルIPアドレスを取得しているのかがわかりませんが、最近のhetemlの仕様変更も関係しているのかもしれません。
主な変更内容は、
- 海外アタックガード
- コンテンツキャッシュ機能
です。
しかし、コンテンツキャッシュ機能に関しては、ログインページはキャッシュを行わないとなっているので、影響を受けている可能性は低いでしょう。
海外アタックガードは、海外からのIPアドレスをブロックするものです。
もしかしたら、この部分で独自のアルゴリズムを用いており、何かしらの操作を行っているのかもしれません。
ただ、最近とはいえ1か月以上も前のことです。
直近1週間は正常にログイン出来ていたので、もっと他に原因があるのかもしれません。
本当の原因の特定はまだですが、症状については特定できたので、少しずつ解明していこうと思います。
WordPressのIPアドレス制限でログインできなくなった。hetemlの不具合か仕様変更でローカルIPを取得している?のまとめ
ここまで、WordPressのIPアドレス制限で、自分自身がログインできなくなってしまう不具合について紹介してきました。
本来であれば自分以外のアクセスをブロックするはずが、自分自身までブロックしてしまうという不思議な不具合です。
しかし、その理由はサーバーがローカルIPアドレスを取得して判定していることが原因のようです。
SiteGuardプラグインのログイン履歴から、サーバーが認識しているIPアドレスの情報を引き出すことができるので、動揺の不具合でお悩みの場合には、参考にしてください。