用途
本技能用于配置 ModSecurity WAF 与 OWASP Core Rule Set(CRS),实现 Web 应用的审计日志记录。ModSecurity 是开源 WAF 引擎,可与 Apache、Nginx 和 IIS 配合工作。OWASP CRS 提供通用攻击检测规则,覆盖 SQL 注入、XSS、RCE、LFI 以及其他 OWASP Top 10 攻击。ModSecurity 在审计日志中记录完整的请求/响应数据,供取证分析使用,并生成可送入 SIEM 平台的告警。
适用时机
- 在环境中部署或配置 Web 应用日志记录能力时
- 建立与合规要求对齐的安全控制时
- 构建或改进该领域的安全架构时
- 开展需要此实现的安全评估时
前置条件
- 带有 ModSecurity v3 模块的 Web 服务器(Apache 2.4+ 或 Nginx)
- 已安装 OWASP CRS v4.x
- 日志聚合基础设施(ELK、Splunk 或 Wazuh)
主要步骤
- 安装 ModSecurity,并将 SecRuleEngine 配置为 DetectionOnly 模式
- 部署 OWASP CRS v4,并设置偏执级别(PL1-PL4)
- 配置 SecAuditEngine,仅记录相关事件
- 使用 SecRuleRemoveById 和规则排除项调优误报
- 调优期结束后切换到阻断模式(SecRuleEngine On)
- 将审计日志转发至 SIEM 进行关联与告警
预期输出
配置生效后,ModSecurity 会输出类似以下格式的告警:
ModSecurity: Warning. Pattern match "(?:union\s+select)" [file "/etc/modsecurity/crs/rules/REQUEST-942-APPLICATION-ATTACK-SQLI.conf"] [line "45"] [id "942100"] [msg "SQL Injection Attack Detected via libinjection"] [severity "CRITICAL"]
限制
资料未提供具体的安装命令、配置文件路径细节、各偏执级别的差异说明、误报调优的具体规则示例,以及不同 Web 服务器(Apache、Nginx、IIS)的差异化配置步骤。