【WordPress】「閲覧できません(Forbidden access)」というエラーの解決法
原因
ズバリ、レンタルサーバーのWAFの設定が原因。
解決法
レンタルサーバー「ConoHa Wing」を例に解決法をまとめてみる。ある程度は同じ手順で解決できるはずだが、レンタルサーバーごとに多少の差異はあるのでそこはご注意を。
1. サイト管理画面にアクセス
まずConoHa Wingの管理画面にログイン。
そしたら左のメニューから「サイト管理」を選択する。
2. サイトセキュリティ画面にアクセス
目当てのドメインを選択したら、メニューから「サイトセキュリティ」を選択する。
3. 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にする方法をとった。