| name | implementing-web-application-logging-with-modsecurity |
| description | 配置带有 OWASP 核心规则集(CRS)的 ModSecurity WAF,实现 Web 应用程序日志记录, 调整规则以减少误报,分析审计日志进行攻击检测,并为应用程序特定威胁实现自定义 SecRules。 分析师配置 SecRuleEngine、SecAuditEngine 和 CRS 偏执级别,以在安全覆盖范围和运营稳定性之间取得平衡。 适用于涉及 WAF 配置、ModSecurity 规则调整、Web 应用审计日志或 CRS 部署的场景。
|
| domain | cybersecurity |
| subdomain | web-application-security |
| tags | ["modsecurity","waf","crs","owasp","web-security","audit-logging","rule-tuning"] |
| version | 1.0 |
| author | mahipal |
| license | Apache-2.0 |
使用 ModSecurity 实现 Web 应用程序日志记录(Implementing Web Application Logging with ModSecurity)
概述
ModSecurity 是一个开源 WAF(Web 应用防火墙)引擎,可与 Apache、Nginx 和 IIS 协同工作。OWASP
核心规则集(CRS)提供通用攻击检测规则,覆盖 SQL 注入、XSS、RCE、LFI 及其他 OWASP Top 10 攻击。
ModSecurity 在审计日志中记录完整的请求/响应数据以供取证分析,并生成可接入 SIEM 平台的告警。
前置条件
- 带有 ModSecurity v3 模块的 Web 服务器(Apache 2.4+ 或 Nginx)
- 已安装 OWASP CRS v4.x
- 日志聚合基础设施(ELK、Splunk 或 Wazuh)
步骤
- 安装 ModSecurity 并在 DetectionOnly 模式下配置 SecRuleEngine
- 部署 OWASP CRS v4 并设置偏执级别(PL1-PL4)
- 为仅相关日志配置 SecAuditEngine
- 使用 SecRuleRemoveById 和规则排除调整误报
- 调整期结束后切换到阻断模式(SecRuleEngine On)
- 将审计日志转发到 SIEM 进行关联和告警
预期输出
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"]