「IP GEO BLOCK」のデータベースが取り込めない時には…

皆様こんにちは。

ブログを育てていくのは楽しいものですね!

例えば、アクセスを伸ばすにはどうしたらいいか思案したり、サイト訪問者の導線を考えたり、同じようなテーマで運営をしているライバルたちとの差別化をはかるにはどうしたらいいか…とかね(^_^;)

…そして、そうした作業の中にサイトのセキュリティ対策も含まれます。

というわけで、今回はwordpressへの不正アクセス対策のお話です。

不正アクセス対策に絶大な効力を発揮するプラグイン!

WordPressのサイトに関していえば、悪意ある輩の不正アクセス対策としては「IP GEO BLOCK」というプラグインが予想以上のポテンシャルを発揮してくれています。

このプラグインの作者が日本人というのも何か心強いですし、作者のブログもとても勉強になります!

さて、「IP GEO BLOCK」というプラグインは…「MaxMind」と「IP2Location」の二つの外国IPデータベースを取り込んで、指定した国以外のIPアドレスからのアクセスをブロックしてくれます!

…「MaxMind」「IP2Location」の両者とも毎月データが更新されるのですが…、その更新ファイルを自動的に取り込むことができるという、至れり尽くせりの機能が備わっています。

手を変え品を変え、IPアドレスも変え、不正アクセスを無限にチャレンジしてくる悪意のある輩たち(主に外国のIP)を自分のサイトからシャットアウトするには、定期的に最新状態にアップデートされた外国のIPアドレスのデータベースは必須のアイテムといえそうです!!

ところで、「IP GEO BLOCK」の土台となる二つのデータベースのうち、「MaxMind」のデータベース(GeoIP Legacy)が2018年4月1日付で提供を終了するという事なので、次の一手はどうなるのか?という話題もありますね!(2019年1月現在ではMaxMind社の「GeoLite2」という新たなデータベースを取り込んでいます。さすがですね!)

「IP GEO BLOCK」はプラグインの作者による、きめ細やかな対応を反映してかアップデートが頻繁にあり、ちょっとした不具合が出ても次のアップデートで修復されているケースが結構ありますよ~!

しかしながら、アップデートを待っても、サポートを確認しても解決方法が不明な問題もあったりします。

…ここから先は私の場合だけかもしれませんが、もしかしたら同じような問題で悩んでいる人がいるかもしれないので記事にしました。。

  「IP2Location」データベースがダウンロードできない!?

「IP GEO BLOCK」のプラグインは「MaxMind」と「IP2Location」という二つのデータベースをダウンロードすることは上述しましたね!

環境によっては「IP2Location」の方のデータベースがダウンロードできないという事態が発生するかもしれません。。

自動ダウンロードに設定しているにもかかわらず更新されていないようですし、「…それなら手動ダウンロードだ~!」…ということでプラグインの設定画面の「ダウンロード」ボタンを押してもエラーになってダウンロードできないという事態が実際に起こったのです!

エラーのインストラクションを確認すると…フムフム…

  • 「IP2LOCATION-LITE-DB1.BIN」
  • 「IP2LOCATION-LITE-DB1.IPV6.BIN」

…というファイルに「書き込みができない」とか「パーミッション変更して!」とか書いてありますね!…ちなみに、このフォルダのパーミッションを「777」にしても問題は解決しませんでした…(^_^;)ナニソレ~!?

いろいろ試してみた結果の解決方法は!?

いろいろ試した結果ですが…

PHPのバージョン「7」世代だと、私の環境では「IP2Location」のデータベースが取り込めないことが判明したのでした~!

…私の環境はといえば、GMOクラウドVPSサーバーでウェブサーバーはNGINX、PHPのバージョンは「7」世代、サーバー管理ツールはPlesk Onyxでの運用ですよ~(2018年2月現在。)

Pleskを使っていると、ウエブサーバーをApacheにしたりNginxにしたりPHPのバージョンを変えることが自由に簡単にできるのですが…

PHPを「5」の世代に戻し、ウエブサーバーをNginxに設定することで「IP2Location」のデータベースの取り込みが可能になります。

最新のデータベースを取り込んだ後は、もちろんPHPのバージョンを「7」世代にもどすわけです。。

…うーむ、こうして記事にしてみると、毎月一定の時期にPHPのバージョンを戻してデータベースをアップロードしなくてはならないのはちょっとだけ面倒な気もしますが…「IP GEO BLOCK」の不正アクセス遮断効果は絶大なので、原因と対処法さえわかってしまえば、それくらいの労力は何でもないと思えてきたりもします(^_^;)

ちなみに、プラグインのサポートページ(英語)では、PHP「7」世代には対応していると作者は言っていますので、この問題で引っかかっていたのは私だけかもしれませんね…

…でも、もし「IP2Location」のデータベースがダウンロードできない状況が発生したら、PHPをいったん前の世代に戻してトライしてみるといいかもしれませんよ~

…というお話でした。。

ではまた!