【WordPress】「閲覧できません(Forbidden access)」というエラーの解決法

原因

ズバリ、レンタルサーバーのWAFの設定が原因。

解決法

レンタルサーバー「ConoHa Wing」を例に解決法をまとめてみる。ある程度は同じ手順で解決できるはずだが、レンタルサーバーごとに多少の差異はあるのでそこはご注意を。

1. サイト管理画面にアクセス

ConoHa Wingの管理画面にログイン

まずConoHa Wingの管理画面にログイン。

左のメニューから「サイト管理」を選択する

そしたら左のメニューから「サイト管理」を選択する。

2. サイトセキュリティ画面にアクセス

メニューから「サイトセキュリティ」を選択する

目当てのドメインを選択したら、メニューから「サイトセキュリティ」を選択する。

3. WAFの利用設定をOFFにする

WAFの設定をOFFにしてあげる

すると上に「WAF」のタブがあるのでそれに切り替え、WAFの設定をOFFにしてあげる。

これで「閲覧できません(Forbidden access)」と保存できない事象は無くなるはず。 が、設定の反映に少し時間がかかる場合もあるので、中々反映されない時は1時間ぐらいは様子を見てみる。

※プラグインなどでの作業を終えたらWAF設定をONに戻しておくことに注意

そもそも原因の「WAF」とは?

WAFとは、Webサーバの前面に配置して通信を解析し、Webアプリケーションの脆弱性を突いた攻撃からWebサイトを守るためのセキュリティ対策です。ネットワークF/WやIPS/IDSでは対応できない攻撃を検知・遮断することができます。

引用元:WAF(Webアプリケーションファイアウォール)とは | クラウド型WAFサービス Scutum【スキュータム】

要はWordPressで作ったサイトを色々な攻撃から守ってくれる防御壁の様なもの。

今回はそのWAFに引っ掛かり「閲覧できません(Forbidden access)」と表示されうまく保存できなかった、というカラクリ。

※もしかしたら「サーバーを他社のものに移行してからこのエラーが出るようになった」という方もいるかもしれないが、それは弾く項目がレンタルサーバーによって異なることが影響している可能性が高い。

除外はできないのか?

余談ではあるが、今回の「閲覧できません(Forbidden access)」というエラーは、WAFで「クロスサイトスクリプティング」であると捉えられてのものである。

「じゃあその攻撃のみを除外対象にすればよくない?」とも思ったが、WAFで弾かれるクロスサイトスクリプティングの種類はいくつもあり、それを全種類除外するのは非常に骨が折れる。

そこで今回はWAFの設定そのものを一時的にOFFにする方法をとった。