■ルールの作成ルールに関しては、少し勉強しないと書けそうにないので、ここはおとなしくこちらを参考に設定することにしました。参照先のままではうまく行かないのと、多少チューニングしないと正規のコンテンツでも引っかかってしまうことがあるので、いきなり実機に投入するのは危険と思います。テスト機で試験してからのほうがいいでしょう。おやじの場合、CGIとPHP関係で結構な問題がでましたので、ルールを修正しました。そのまま使用とは書きましたが、参照先にもあるようにBBS等で改行コードについては問題がでるので対処が必要です。参照先のコンテンツをコピペすると、行頭が全角の空白になっているおりエラーになるので注意が必要です。xss.rules[i]を押す。◆snort用ルールの流用mod_securityのサイトにもありますが、snort用のルールを流用できるようです。snortのルールを利用して作成しますが、最新のルールはweb-attackのルールが入っていない等がありましたので、snortrules-snapshot-2_2.tar.gzを落としてきました。こちらも、CGIやPHPで引っかかるものが結構出てくるので対処が必要です。参照先のように同一ディレクトリ内で同一名称での変換はできませんので、注意してください。ディレクトリ配下に置き、Includeするようにしました。ルールのほうも同様にmodsec.confからIncludeしました。参照先のコンテンツをコピペすると、行頭が全角の空白になっているおりエラーになるので注意が必要です。/etc/apache2/conf.d/modsec.conf[i]を押す。設定は完了したので、Apacheを再起動し動作確認をします。ルールはそのままではうまくいかないので、バックアップ機などでしっかり試験してから組み込まないとエラーが出まくり、運用に支障がでると思います。当然ながら、問題が出るのはCGIやPHP等のPOST系が非常に多いです。おやじが修正した一例を示しますので、各自の環境に合わせて修正してください。エッ!こんなものが?と思われるものが結構引っかかってしまうので、地道に設定していく必要があります。設定には正規表現が使えます。xss.rulesの改行コードは、掲示板や日記系のCGIでは記事内容に出てくるのでまず引っかかる。ユーザが多いと結構大変であり、CGI名かペイロードの特徴で正規のものは許可する。(赤字を追加して、正規のものは除外した。wf_reg.cgi/wforum.cgi以外で改行コードがあったら規制する。POST_PAYLOAD中に「message=」という記述があるもの以外で改行コードがあったら規制する。"\x0a"同様におやじが引っかかった例をあげておく。上記と類似の方法で除外して行けばよい。あまりにも単純なものはコメントアウトしてもよいかもしれない。