Googleタグマネージャーで403 ForbiddenエラーになるのはWAFが原因の可能性
- トラブル
- 投稿者:WEB上手 | 2019年11月23日
この記事を簡単に書くと…
- GoogleタグマネージャーやGoogle広告のコンバージョン測定で403エラー
- WAFの誤検知で403 Forbiddenエラーになってしまう
- SQL(SQLインジェクション)をOFFにすることで回避できる
最近、レンタルサーバーでは、WAF(Web Application Firewall、ワフ)が標準で搭載されていることが多くなりました。WAFを有効にすることで、WEBサイトを不正な攻撃から守ってくれる為、セキュリティの向上に大いに役立ちます。
ところが、このWAFが誤検知を起こしてしまい、正常なアクセスでも「403 Forbiddenエラー」となってしまうことがたまにあるので注意が必要です。
GoogleタグマネージャーやURLパラメータで403エラー
私の使っているエックスサーバーでもWAFが標準で搭載されており、無料でセキュリティを高めることができます。WAFは普通に使おうとすると、月数千円~数万円するようなものなので、この機能が無料で利用できるのは、本当にありがたいですよね。
ただ、エックスサーバーのWAFでは、Googleタグマネージャーのコードを挿入したり、Google広告でコンバージョンを測定(URLパラメータを追加)しようとしたりすると「403 Forbiddenエラー」になってしまいます。(2019年11月23日現在) この件に関してはGoogleも以下のように表記しています。
一部のウェブサイトでは任意の URL パラメータが許可されないため、自動タグ設定がオンになっていると、エラーページが返される場合があります。
・Google 広告の最終ページ URL にタグを設定する(Google 公式サイト)
https://support.google.com/analytics/answer/1033981?hl=ja
以前使っていたロリポップでもWAFが搭載されていましたが、WordPressの管理画面でプラグインの設定を変更しようとすると、WAFが誤検知して「403 Forbiddenエラー」になることが多々ありました。その場合には、サーバーの管理画面で、一度WAFをOFFにしてからWordPressの設定変更を保存し、再度WAFをONにする、というようなことをすれば回避できます。とはいえ、面倒ですよね。。。
有料のWAFであれば、例外などを設定してWAFをチューニングすれば、このような誤検知を避けることができるのでしょうが、無料で使えるものなので個別に例外の設定ができないのは仕方のないところですね。
SQL (SQLインジェクション)をOFFにして回避
ただ、エックスサーバーの場合、WAFの設定は以下のような6種類に分けられています。
・XSS(クロスサイトスクリプティング)
・SQL(SQLインジェクション)
・ファイル(ファイル不正アクセス)
・メール(メールの不正送信)
・コマンド(コマンドアクセス/実行)
・PHP(PHP関数の脆弱性)
今回の403 Forbiddenエラーは、「SQL(SQLインジェクション)」の設定をOFFにすれば回避できるようになります。WAFのセキュリティは少し弱くなってしまいますが、GoogleタグマネージャーやGoogle広告でのコンバージョン測定(URLパラメータを追加)も正常に動作するようになります。
WAFの設定は、エックスサーバーの管理画面(サーバーパネル)にログインをして、「セキュリティ」の「WAF設定」から、設定をする対象のドメインを選択し、以下のようにOFFにすることで変更できます。
まとめ
エックスサーバーも、この事例に関しては把握しているようで、そのうちGoogleタグマネージャーやGoogle広告のコンバージョン設定では、誤検知しないようになるかもしれません。本来なら、有料の機能を無料で使えるので、文句は言えませんね。
コメントする