ModSecurity规则编写笔记

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ModSecurity规则编写笔记相关的知识,希望对你有一定的参考价值。

参考技术A 一、ModSecurity的规则

基本格式

二、ModeSecurity规则例解

规则1:防XSS攻击

规则2:设置白名单

说明:phase编号规定如下:

规则3:

规则4:拒绝上传非图片格式文件

规则5:拒绝上传含有空字符文件名

ModSecurity 审核日志规则限制

【中文标题】ModSecurity 审核日志规则限制【英文标题】:ModSecurity audit log rule limit 【发布时间】:2016-08-29 17:13:52 【问题描述】:

有没有办法使用 ModSecurity 限制每个日志条目中出现的规则数量?

--173fad2e-A--
[27/Apr/2016:17:15:25 +0530] VyCmVMCoAwUAAAohwTgAAAAA 127.0.0.1 33330 127.0.0.1 80

[...]

--173fad2e-H--
Message: Warning. Pattern match "^5\\d2$" at RESPONSE_STATUS. [file "/etc/modsecurity/activated_rules/modsecurity_crs_50_outbound.conf"] [line "53"] [id "970901"] [rev "2"] [msg "The application is not available"] [data "Matched Data: 503 found within RESPONSE_STATUS: 503"] [severity "ERROR"] [ver "OWASP_CRS/2.2.9"] [maturity "9"] [accuracy "9"] [tag "WASCTC/WASC-13"] [tag "OWASP_TOP_10/A6"] [tag "PCI/6.5.6"]
Message: Warning. Pattern match "^(?i:0|allow)$" at RESPONSE_HEADERS. [file "/etc/modsecurity/activated_rules/modsecurity_crs_55_application_defects.conf"] [line "151"] [id "981405"] [msg "AppDefect: X-FRAME-OPTIONS Response Header is Missing or not set to Deny."] [data "X-FRAME-OPTIONS: "] [tag "WASCTC/WASC-15"] [tag "MISCONFIGURATION"] [tag "http://websecuritytool.codeplex.com/wikipage?title=Checks#http-header-x-frame-options"]
Message: Warning. Operator GE matched 4 at TX:outbound_anomaly_score. [file "/etc/modsecurity/activated_rules/modsecurity_crs_60_correlation.conf"] [line "40"] [id "981205"] [msg "Outbound Anomaly Score Exceeded (score 4): The application is not available"]
[...]

--173fad2e-Z--

这是一个审核日志条目的示例,我想对其进行配置,使其仅在每个日志条目的日志预告片中显示“消息”,而不是(在示例中)3。

可以这样配置吗?

【问题讨论】:

【参考方案1】:

不确定为什么要这样做?

之所以显示三个是因为这个请求触发了三个不同的规则。

ModSecurity 通常会阻止第一个失败的规则,所以你不会看到这个。没有没有阻止请求(因此阻止其余规则触发)的事实表明了以下两件事之一:

    您要么在DetectionOnly 模式下运行。在这种模式下,查看所有规则特别有用,否则您修复一个规则只是为了发现另一个规则,依此类推。

    您正在运行异常检测模式,该模式运行所有规则,汇总错误,然后在错误数量大于设置限制时阻止。如果异常分数的总和低于限制,这允许一个或多个次要规则(否则可能有很多误报并因此阻止合法流量)通过。再次在此模式下,您需要查看所有失败的规则。

所以,对我来说,ModSecurity 正在做它应该在这里做的事情,不知道为什么你认为它应该只显示一个规则?

【讨论】:

这不是关于>它我 那么,您如何在不了解它失败的所有规则的情况下对威胁进行分类? AFAIK 你不能想要>你

以上是关于ModSecurity规则编写笔记的主要内容,如果未能解决你的问题,请参考以下文章

ini Modsecurity规则修复Wordpress

modSecurity规则学习——指令

modSecurity规则学习——防止SQL注入

modSecurity规则学习——检测模式

在ubuntu16.04中安装apache2+modsecurity以及自定义WAF规则详解

modSecurity规则学习——DDOS攻击检测