contactform7で設定を保存すると403エラーになる件
さくら→mixhostにサーバー乗り換えを行ったときにお問い合わせフォームの確認で送信先メールアドレスを変えようと「保存」を押したら403エラーになって焦った時に調べたメモ
原因 + WAFとは
結果的には、WAF(Webアプリケーションファイアウォール)が有効になっていることが原因だった。
WAFとは「Webアプリケーションファイアウォール」の略称でセキリュティー対策で用いられる。
webサイトなどで不正アクセスによるサイトの改ざんや情報漏洩を防ぐ機能だそうです。
WAFを設定することでWordpressの脆弱性への攻撃をブロックすることができるので極力設定はしておいた方がいいです。
参考
▼WAF(ワフ)とは何か
https://jpn.nec.com/infocage/siteshell/waf.html
WAFは必要か?
基本的にWAFは設定をしておいた方がいいけどプラグインによっては403エラーがでたりする。
レンタルサーバーによっては.htaccessなんかでプラグインごとにWAFを解除なんかできたりする。
(ファーストサーバーの「zenlogic」なんかがそうだった気がする)
wordpressだったら「SiteGuard WP Plugin」を使えば、WAFのエラーログからシグネチャを確認して個々に無効化の設定ができたりする。
以下のサイトが参考になるかも
参考
▼403 Forbidden誤認対策、WAFチューニングサポートのルール追加!WordPressサイトガードの設定
https://bibabosi-rizumu.com/siteguard-waf-tuning-support/
mixhostでのWAFの解除方法
今回はWAFが原因でcontactform7のお問い合わせフォーム編集画面で「保存」を押すと403エラーになるので解除をします。
せっかくなので「SiteGuard WP Plugin」を使って、シグネチャを設定してcontactform7を除外をしようとしたらWAFのエラーログが見当たらず、mixhostにWAFのエラーログを確認する方法を聞いてみたら、「WAFのエラーログについては確認できない仕様になっている」と返事が来たからmixhostでは、WAFを「オフ」にするしか方法が無さそう…
他に確認方法があるのだろうか?これがわからない…
【設定方法】
「cPanel(サーバー管理画面)」にログイン → 「ModSecurity」をクリック → 「オン/オフ」とステータスがあるので「オフ」にすると無効化できる。
まぁ、さくらのレンタルサーバー使ってた時はWAFオフだったけど特に何もなかったしあまり気にしなくてもいいっかなー