WordPressの管理画面で「403 Error」が発生したときの対処方法

WordPress

WordPressでいろいろカスタマイズしているときに突然「403 Error」が発生し、作業を進めることができなくなったことがあります。

同じような現象が発生し困っている人もいるのではないかと思い、その原因と対処の方法について説明します。

403Error

WordPressの管理画面からカスタマイズを行い、変更した内容を保存しようとすると、突然、以下のような画面に切り替わり、それ以降は同じ設定を保存しようとしても同じ症状になってしまいます。

サイト自体の閲覧、記事の投稿などはできるのですが、テーマや設定などを変更しようとするとこの症状になってしまいます。

誰がエラーを出してるの?

このエラーは「WAF」と呼ばれるレンタルサーバー側のセキュリティ機能が出しています。

WAF(ワフ)とは、Web Application Firewallの略で、Webアプリケーションの脆弱性を悪用する攻撃からWebサイトを保護するセキュリティ対策の名称です。

つまり、自分のサイトを管理者が更新しようとしたのにWAFが悪意のある攻撃だと判断し、アクセスを拒否している状態です。おいおい。。

対処方法

以下の二つの対処方法があります。

  • WAFを無効にする
  • WAFに除外を設定する

WAFを無効にする

WAFを無効にすればこのエラーはすぐに解消されます。各レンタルサーバーの管理ページに有効/無効を切り替える設定が用意されていると思います。

ただし、WAFを無効にすれば悪意ある攻撃から守ってくれません。推奨できない対処方法です。

ちなみにロリポップの場合、WAFの設定は「セキュリティ」-「WAF設定」から行います。

また、「ログ参照」をクリックすれば、ログが表示されます。

無効は推奨しないので、必ず有効にしてください。

WAFに除外設定する

サイトの管理者だけWAFの攻撃判定を除外してもらえば、管理者はサイトを更新できます。管理者以外からの攻撃は守ってくれます。

除外設定は「.htaccess」ファイルに記述を追加します。

「.htaccess」ファイルの変更の仕方は以下の記事を参考にしてください。ロリポップ前提なので、他のレンタルサーバーの場合は同じような方法で修正してください。

ロリポップのアクセス制限のやり方 -htaccsess編集-
前回の記事でロリポップのアクセス制限のやり方を説明しましたが、ロリポップ設定→パーマネント設定→パーマネント再設定と少し面倒ですよね。もう少し単純な方法を説明したいと思います。 ロリポップメニューでアクセス制限 まずは、前回記事...

修正した「.htaccess」ファイルは以下のようになります。

赤枠の部分が新たに追加した記述です。

この部分のテキストを抜き出すと以下です。

<IfModule mod_siteguard.c>
  SiteGuard_User_ExcludeSig ip(XXX.XXX.XXX.XXX)
</IfModule>

赤字のXXX.XXX.XXX.XXXに、WAFから除外するIPアドレスを記述します。管理者のIPアドレスを記述すれば、管理者からのアクセスは攻撃と見なされず有効なアクセスとなります。

管理者アドレスの特定方法

管理者アドレスは先ほどの「ログ参照」で確認できます。(ロリポップの場合)

WAF検知ログの「アクセス元IP」がアクセスを拒否されたIPアドレスです。自分がWordPressの設定を変更しようとして403Errorが発生しているので、このIPアドレスが自分(管理者)のIPアドレスになります。(時刻などを確認して自分だと断定できるIPアドレスを見つけてください)

注意点

管理者のIPアドレスは、極まれに変更される場合があります。利用しているネット環境のプロバイダがIPアドレスを各ユーザに割り振るため、モデムや光ファイバの端末をリセットするとIPアドレスが変更される場合があります。

電源再投入やリセットしても必ずIPアドレスが変更される訳ではないので、再度403Errorが発生したときにIPアドレスが変わっていないかを確認すればいいと思います。

 

また、WordPressを簡単にインストールできるレンタルサーバの情報は以下の記事を参考にしてください。

無料ブログから独自ドメインとレンタルサーバー移行時に気をつけること
今まで無料ブログのはてなブログから、独自ドメインとレンタルサーバーを用いたブログへ移行しました。過去記事でも書きましたが、制約の多い無料ブログから有料だけど自由度の高い構成に変更しました。 今回は、移行時に気をつけておきたいこ...

コメント