前回,WordPressを取り上げた記事を書いたのが2023年8月。当時のバージョンは6.3。いま最新のバージョンが6.7.2。月日を経つのは早い。
さて,Paso-Lab.も含め,ホスティングには,さくらのレンタルサーバ
を使っている。さくらのレンタルサーバ
を一番最初に契約したのが2004年。Infoseekの無料サービスからの乗り換えだった。最初はHTMLファイルの公開であったものが,WordPressになり…と,フェーズが上がるとともに,プランもランクアップ。思い出話は尽きないが,それ以来,さくらインターネット
との契約が続いている。
本題に戻ろう。
Paso-Lab.では,WordPressのテーマにCocoonを利用している。
ふと,Cocoonの設定画面で設定を変更して,「変更をまとめて保存」というボタンを押したところ,次のような画面が出るようになった。
Forbidden
The server refuse to browse the page.
The URL or value may not be correct. Please confirm the value.TIME: XXXXXXXXXX.XXXXXX (YYYY-MM-DD HH:MM:SS (+0900))
METHOD: POST
PATH_QUERY: /wp-admin/admin.php?page=xxxxxxxxxxxxxxx
SAKURA Internet Inc.
一瞬,なにかのバグなのかと頭をよぎったが,すぐに思い出すことができた。以前にも同様の画面が出てきて,対処したことがあったのだ。
もし,この画面が出てきたのであれば,さくらのレンタルサーバ
のコントロールパネルにあるセキュリティ > WAF設定ドメインの画面を見てみると,当該ドメインのWAFの利用状況がオンになっているはずだ。
このエラーの原因は,WAFがオンになっていることにある。すぐにできる解決法はWAFをオフにすることだ。
案の定,WAFをオフにしてから,Cocoonの設定画面で設定を変更して,「変更をまとめて保存」をクリックしたところ,正常に更新することができた。
要は,WAFをオフにしていれば,この問題は起こらない。
しかし,そんな安易には考えてはいけない。
まず,WAFが一体何者であるかを,理解する必要がある。WAFとは,「Webアプリケーションファイアウォール」の略称である。そのWAFはどんな役割を担うかというと,Webアプリケーション,つまりWordPressなどの脆弱性をついた攻撃に対して保護してくれる役割を担っているという。具体的には,次の動作をしてくれるようだ。
シグネチャ検査・セッション管理などの検査を実施しており、攻撃にあたると判断したアクセスを遮断いたします。
このように,運営するWebサイトを保護してくれていると聞くと,安易にWAFをオフにするということは避けたいという気持ちが芽生えるところだろう。
しかし,WAFをオフにしなければ,設定を更新することができない。なので,一時的な回避策として,私は設定を更新する間だけWAFをオフにするという方法で回避している。
長時間,WAFをオフにしていれば,それだけリスクが増大する。そのため,必要な項目を更新するときだけ,WAFを一時的にオフにするのだ。変更する内容さえ決まっているのであれば,WAFをオフにする時間は10分にも満たないだろう。
しかし,気をつけなければいけないのは,先述のように,セッション管理の検査をWAFでしていることから,WordPressにログインしている状態でWAFの設定を変えると強制ログアウトとなってしまうので注意が必要だ。
さて,恒常的な解決方法を見つけたいが,これがなかなか見つからない。というのもWAFの設定自体もONかOFFの二択しかなく,いまのところ一時的な回避策を繰り返すしか方法はなさそうだ。さくらインターネット
にはこの解決法を見いだしていただきたい。
ただ,気になるのは,こちらの環境においては,しばらく起こっていなかったのだ。具体的には,昔,起こっていた。そのため,エラー画面に見覚えがあったのだ。しかし,ここのところ,WAFがオンでも起こっていなかったように思う。ところが,最近になって,再びエラー画面が出るようになった。
再発に関しては,こちらの勘違いかもしれない。この間,Cocoonの設定画面からロゴを変えたり,いろいろ触ったものの,エラーはでなかったのだ。いずれにせよ,いまは間違いなく出ている。
ちなみに,ここまでCocoonの設定画面で起こると言ってきたが,同じくWordPressテーマであるSWELLの設定画面でも同様の現象が発生していることが分かっている。
しばらく様子を見ていきたい。