メールフォーム定番プラグインのContact Form 7で新規フォームの作成や既存データの編集を行おうとすると403エラーが発生する現象に見舞われました。
はじめに気がついたのはヘテムルでしたが、ロリポップなど、他のレンタルサーバでも見受けられるようです。
どうやらこれはサーバ側で順次導入が進んでいるWAFの影響のようです。
WAFとその弊害
WAFはウェブアプリケーションファイアウォールの略で外部ネットワークからのWebアプリケーションへの不正侵入を防御するもので、アプリケーションのレベルで管理が行えることが特徴です。
要するにContact Form 7の編集行為がWAFにより不正アクセスと見なされてしまったということです。
場合によってはWordPressでのダッシュボード(管理画面)上での他の動作でも引っかかることがあるようです。
もちろん、WAFを使わなければ、この403エラーは回避できます。
それでは無効にしてしまえばよいのでしょうか?
対処方法
WordPressではサイト改ざんや乗っ取りは本当に後を絶ちません。
日本国内に限定しても、ひとつの通信業者内で1日に8,000件以上の改ざんが確認された例もあります。
セキュリティ強化のためにせっかくサーバ側で用意したWAFを安易に切ってしまうというのはお勧めできません。
一時的にWAFを無効にする
わたしの場合はContact Form 7のフォーム編集という一時的な作業であったこと、また、管理画面をIP制限していることから、保存時のみ、WAF設定をオフにして対処するという方法をとりました。
多くのレンタルサーバでWAFの設定はコントロールパネル上で行えます。
例外処理を設定する
ヘテムルではWAF導入後、このような事例が頻発しているようで、下記のようにトラブルシューティングが公開されています。
こちらにはhtaccessで特定操作の除外記述の方法が書かれています。