blogブログ

MovableTypeの403エラーとWAF

MovableTypeのカスタムフィールド(テキスト(複数行))に、英文を入力していたら、なぜか403エラーが起こる現象がおきました。
お客様から「エラーが出て入力できない」という指摘で気がついたのですが、自分でテストしてみると、文章によってエラーが起きたり起きなかったりします。日本語では一切問題がおきません。

いろいろGoogle検索で調べてみると、気になる記事がありました。
ブログ記事テンプレートの変更保存エラー – MTQ | Movable Type ユーザーコミュニティ

この中の回答にある「403でmt.cgiに飛ばされるんだと、おそらくロリポップ側の「WAF設定を無効」とかで解決するのではないでしょうか。」でピンときました。
今回のMovableTypeが設置してあるサーバーは、ロリポップではないですが、同じペパポ系のヘテムル。やはり不正アクセスを検知する「WAF」が導入されています。

ヘテムルのコントロールパネルで「WAF設定」をみると、ログにMovableTypeの入力からと思われる拒否内容がたくさんありました。
英文内のor、like、and、inなどの単語が、SQLインジェクションと検知されたようです。

WAFのログ画面

WAFのログ画面

「WAF設定」でWAF自体を無効にしてしまうか、.htaccessファイルに除外記述を追記することでエラーを発生しないようにすることができます。

MovableTypeで心当たりのない403エラーが出ている方は、使用サーバーがHetemlやロリポップであれば、WAF設定を確認するといいかもしれません。