htaccessでWAF(Site Guard Lite)の除外設定を行う

PHPでパラメーターにURLを渡してリダイレクトする処理を行うページがWAF(Web Application Firewall)に引っかかり、403 forbiddenになってしまう現象が発生した。

WAFはSite Guard Liteというもので、wordpressのプラグインや、レンタルサーバーのコントロールパネルから除外設定を行うことが出来る場合もあるが、今回はそのどちらも出来なかった。

ただ、WAFのログを見ることは出来たので確認したところ、”url-php-rfi”と記録されていた。

url-php-rfi とは“リモートファイルインクルード”というサーバーを攻撃する手法の一つらしい。

リモートファイルインクルード(RFI)攻撃とは
http://securityblog.jp/words/483.html

WAFを無効にするのは勿体無いので、htaccessを利用して該当のページが攻撃と判定されないように設定する。

<IfModule mod_siteguard.c>
  <Files ファイル名.php >
    SiteGuard_User_ExcludeSig url-php-rfi
  </Files>
</IfModule>

これで403エラーにならず、問題なくページを表示する事が出来た。