一,是否启用防火墙
SecRuleEngine是接受来自ModSecurity-CRS目录下的所有规则的安全规则引擎。因此,我们可以根据需求设置不同的规则。
#SecRuleEngine On:将在服务器上激活ModSecurity防火墙。它会检测并阻止该服务器上的任何恶意攻击。
#SecRuleEngine Detection Only:如果这个规则是在whitelist.conf文件中设置的,它只会检测到所有的攻击,并根据攻击产生错误,但它不会在服务器上阻止任何东西。
#SecRuleEngine Off::这将在服务器上上停用ModSecurity的防火墙。
默认值:
SecRuleEngine DetectionOnly
二,审计日志配置:
1,#配置审计日志引擎的开启与否
SecAuditEngine RelevantOnly
取值:
On - 默认情况下记录所有事务的日志;
RelevantOnly - 默认只记录事务中由warning或error触发的日志,
或者记录一些特意考虑过的状态码
relevant这个单词是有关的/有意义的
2,#记录由规则标记的事务,以及触发服务器错误
将记录所有 5xx 和 4xx 级别的状态代码,404 除外
SecAuditLogRelevantStatus "^(?:5|4(?!04))"
备注:必须将SecAuditEngine 设置为RelevantOnly,这个参数才有意义,
它是一个正则表达式。
#这个指令最主要的目的是允许你配置审计产生特殊HTTP 响应状态码的唯一事务,
这个指令通常用于减少审计日志文件的总体大小。
需要注意的是: 如果使用了这个参数,那么返回状态码是200 的成功攻击事件不会记录。
3,#定义每个事务中记录到审计日志中的部分。
SecAuditLogParts ABIJDEFHZ
可用的审计日志部分:
A:审计日志头(必须配置)
B:请求头
C:请求体(仅在请求体存在并且ModSecurity配置为拦截它时才存在。 这需要将SecRequestBodyAccess设置为On)
D:该值是为中间响应头保留,尚未有任何实际作用
E:中间响应体
(仅当ModSecurity配置为拦截响应体并且审计日志引擎配置为记录时才存在。 拦截响应体需要将SecResponseBodyAccess设置为On)。
除非ModSecurity拦截中间响应体,否则中间响应体与实际响应体相同,
在这种情况下,实际响应体将包含错误消息(Apache默认错误消息或ErrorDocument页面))
F:最终响应头(不包括日期和服务器标题,Apache始终在内容交付的后期阶段添加)
G:该值是为实际响应体保留,尚未有任何实际作用
H:审计日志追踪内容;
I:该部分是C的替代品。除了使用multipart/form-data编码,否则它在所有情况下记录的数据与C相同。
在这种情况下,它将记录一个假应用程序/ x-www-form-urlencoded正文,其中包含有关参数的信息,但不包含有关文件的信息。
如果您不想在审核日志中存储(通常很大)的文件,使用I比使用C更方便。
J:该部分包含有关使用multipart/form-data编码上传的文件的信息。
K:该部分包含了本次访问中所匹配到的所有规则(按每行一个进行记录)。
规则是完全合格的,因此将显示继承的操作和默认操作符。V2.5.0以上支持。
Z:结尾分界线,表示本次日志记录完毕(必须配置)
默认值:ABIJDEFHZ
4,#配置使用审计日志记录机制的类型Serial|Concurrent,Serial
SecAuditLogType Serial
Serial - 所有的审计日志条目都被存储在主审计日志记录文件中,使用时很方便,
但是它很慢,因为任何时候只有一个文件被打开也只能写入一条审计日志条目。
Concurrent - 审计日志条目被存储于不同的文件中,每个事务一个,
如果你要把审计日志数据发送到远程ModSecurity控制主机上就使用Concurrent日志模式。
默认值: Serial
5,#审计日志路径
SecAuditLog /var/log/modsec_audit.log
默认值: /var/log/modsec_audit.log
6,审计日志相关的全部默认值:
# -- Audit log configuration -------------------------------------------------
# Log the transactions that are marked by a rule, as well as those that
# trigger a server error (determined by a 5xx or 4xx, excluding 404,
# level response status codes).
#
SecAuditEngine RelevantOnly
SecAuditLogRelevantStatus "^(?:5|4(?!04))"
# Log everything we know about a transaction.
SecAuditLogParts ABIJDEFHZ
# Use a single file for logging. This is much easier to look at, but
# assumes that you will use the audit log only ocassionally.
#
SecAuditLogType Serial
SecAuditLog /var/log/modsec_audit.log
# Specify the path for concurrent audit logging.
#SecAuditLogStorageDir /opt/modsecurity/var/audit/
标签:审计,log,配置文件,记录,配置,modsecurity,ModSecurity,响应,日志 From: https://www.cnblogs.com/architectforest/p/18473952