Far*_*han 3 mod-security apache-2.2
我想要一个 ModSecurity 规则,如果它包含特定字符串,它会阻止对任何 url 或任何正文请求 Post/Get 的访问。
例如我想阻止这个字符串:“km0ae9gr6m”
我有这个规则,但它似乎不起作用。
SecRule ARGS "km0ae9gr6m" "log,deny,msg:'Access Denied'"
您使用的是哪个 ModSecurity 版本?ARGS变量仅包含版本 1.X 中的QUERY_STRING+ POST_PAYLOAD。如果您运行的是 2.X 版,则按照上述规则,使用以下请求进行测试:
http://domain.com/a?b=km0ae9gr6m
Run Code Online (Sandbox Code Playgroud)
您会在以下内容中看到类似的内容audit_log:
[modsecurity] [client x.x.x.x] [domain domain.com] [302] [/20120813/20120813-1226/20120813-122624-70QXqH8AAAEA
AEucDbkAAAAA] [file "/etc/httpd/modsecurity.d/modsecurity_crs_10_config.conf"] [line "305"] [msg "Access Denied"] Access denied with code 403 (phase 2). Pattern match "km0ae9gr6m" at ARGS:b.
在 ModSecurity 2.x 中,ARGS扩展到单个变量。所以,试试这个:
SecRule REQUEST_URI|ARGS|REQUEST_BODY "km0ae9gr6m" "log,deny,msg:'Access Denied'"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15571 次 |
| 最近记录: |