WordPress管理画面のアクセス拒否は IP Geo Block を疑ってみる
久しぶりに WordPress プラグインの設定画面を開いたところ、次のようなエラーがでて画面が表示されませんでした。
Sorry, your request cannot be accepted. |
んー?
ダッシュボードに戻って、プラグインの設定画面を…やはり同じエラーがでます。WordPress 管理画面のメニューを見ていくとプラグインの設定画面はほぼ全滅。他にも開けない画面があります。
ただ、記事の投稿や編集はできたんですよね…それでしばらく、気づかなかったようです。
このようなエラーが出た場合は、何らかの理由で表示しようとしたページへのアクセスが拒否されている可能性が高いです。サーバー上のアプリケーションが正常に動作していない場合にも出たりしますが、WordPress のブログサイトではまずないでしょう。
この記事では、「アクセスが拒否された」場合の原因と対処方法をご説明いたします。
アクセス拒否の原因は「IP Geo Block」だった
アクセス拒否が発生した場合は、まずいくつか疑ってみるところがあります。
- レンタルサーバーのIPアドレスブロック設定
- .htaccess などのアクセス制御ファイルの設定
- WordPressプラグインでファイアウォール機能のあるもの
レンタルサーバーのIPアドレスブロック設定を確認
今ではレンタルサーバーにも、簡単にIPアドレスブロックの機能が使えるところが多いですね。
WEBサイトへの攻撃は海外から来ることが多いので、海外のIPアドレスで WordPress の管理画面などにアクセスできないようにするために使われたりします。
筆者が利用したことのあるレンタルサーバーの中では、「エックスサーバー」や「wpX」などで、その機能が提供されています。
ちなみにwpXの大本はエックスサーバーなので、中身はだいたい同じっすね。
セキュリティというものは、べつに対処しなくてもブログ運営できたりするのですが、攻撃されたときに非常に面倒なことにもなるので、できる範囲でセキュリティ対策はしておきましょう。

そういった場合は、セキュリティ対策のしっかりしたレンタルサーバーに任せてしまうのがラクですね。
「エックスサーバー」のサイトのように、「セキュリティを向上」みたいに強調しているレンタルサーバーであれば、だいたい、最初から重要なセキュリティ対策はされていたりします。
というわけで、wpXの管理画面(トラブル発生当時はwpXクラウドを使用していました)を確認したのですが、原因となりそうな設定はしていませんでした。
そもそも、アクセスをブロックするような設定を変えた記憶もないのですが…念のための確認です。
.htaccess などのアクセス制御ファイルを確認
次ですが、.htaccess などのアクセス制御ファイルの設定を間違えて、サイトにアクセスできなくなった、ということもよくあるトラブルです。
ですが .htaccess の変更はしていないので、考えにくいかなぁ。今回はひとまず除外しておきます。
WordPressプラグインのファイアウォール機能を確認
そうするとWordPressプラグインなんですが…。
うーん、これもとくに設定を変更した記憶はないんですよね。
調べてみると、「IP Geo Block」というプラグインでアクセス拒否される事例がある、ということが分かりました。
といっても、プラグインの設定画面は開けないので、プラグイン一覧画面からいったん「IP Geo Block」を停止してみました。
はい、アクセスできるようになりました。
思い出した…数日前に「IP Geo Block」プラグインの更新していました。
▼ 今回の教訓 ▼ 何もしてないのに動作しなくなった! と思い込む前によく考えてみましょう。たいてい何かしています(汗 設定変更した場合には、何をやったかのメモを取っておくと後々役立つ場合もあります。 |
対処法:「IP Geo Block」をアンインストールした
さーて、自分でやったことを忘れてたせいで、余計な時間を使ってしまいましたが、反省はのちほど。
原因が分かれば対処のしようはあるので、復旧していきます。
まず、「IP Geo Block」プラグインを再インストールしてみましたが、相変わらずアクセス拒否されます。
プラグインの設定を変更して、筆者がアクセスに使用しているIPアドレスを「許可する」ようにしたいのですが、そもそもプラグインの設定画面が開けません。
IP Geo Block を「停止」した上で、設定ファイルかデータベースかを直接変更することもできそうですが、これは控えめに言って…あれです。

うーん…。
しばし考えて、管理画面がいろいろアクセス拒否されるのは困るので、今回は「IP Geo Block」をアンインストールすることにしました。
代わりに「Wordfence Security」プラグインを入れてみました。
ファイアウォール、ウィルススキャンなどの機能をもったWordPressプラグインで、IP Geo Block の穴は埋めてくれそうです(こっちのが高機能?)。
設定とか機能比較とかサーバー負荷とか、いずれ調べないといけなさそうですが、とりあえず今日はここまででー。
それではまた、機会があれば。