web-dev-qa-db-ja.com

ModSecurityで特定のCookie文字列をホワイトリストに登録する方法

サーバーでサードパーティのソフトウェアを使用すると、多くの誤検知が発生します。彼ら自身はそれを修正することができないようで、私は「CERTAINSTRING_」を含むCookieを許可する方法を模索しています

以下は、禁止の1つの例です。それらはすべて同じルールIDです

www.mysite.com  27.33.154.111   981231  [15/Dec/2013:12:14:36 +1100]

Pattern match: \
"(/\\*!?|\\*/|[';]--|--[\\s\\r\\n\\v\\f]|(?:--[^-]*?-)|([^\\-&])#.*?[\\s\\r\\n\\v\\f]|;?\\x00)" \
at REQUEST_COOKIES: _CERTAINSTRING. \
[file "/usr/local/Apache/conf/modsecurity_crs_41_sql_injection_attacks.conf"] \
[line "49"] \
[id "981231"] \
[rev "2"] \
[msg "SQL Comment Sequence Detected."] \
[data "Matched Data: 1#"
      "description::325,1091,/file-path/file-name/999/1,http://www.mysite.com/file-path/file-name/999/1#"
      "rev found within REQUEST_COOKIES:_CERTAINSTRING: 240,1091,/file-path/file-name/999/1,http://www.mysite.com/file-path/file-name/999/1#"
      "description::325,1091,/file-path/file-name/999/1,http://www.mysite…”] \
[severity "CRITICAL"] \
[ver "OWASP_CRS/2.2.8"] \
[maturity "8"] \
[accuracy "8"] \
[tag "OWASP_CRS/WEB_ATTACK/SQL_INJECTION"] \
[tag "WASCTC/WASC-19"] \
[tag "OWASP_TOP_10/A1"]
4
starchild

SecRuleUpdateTargetByIdを使用してルールを変更できます

SecRuleUpdateTargetById 981231 !REQUEST_COOKIES:/^ _CERTAINSTRING/

これにより、名前が_CERTAINSTRINGで始まるリクエストCookieの問題を引き起こしているルールが無効になります。

更新:

上記のルールは、それが参照するルールが定義された後に配置する必要があります。これは通常、すべてのCRSルールの後に読み取られるファイルを作成することによって行われます。監査ログメッセージで参照されている場所に基づく

/usr/local/Apache/conf/modsecurity_crs_61_customrules.conf

4
user9517