一、WAF在企业安全中的角色
Web应用防火墙(WAF)是企业Web安全的第一道防线。不同于网络防火墙工作在L3-L4层,WAF可以深度解析HTTP/HTTPS流量,识别SQL注入、XSS、CC攻击等应用层攻击。本文重点讲解软件WAF的部署和规则调优。
二、ModSecurity + Nginx 部署
2.1 安装ModSecurity
# CentOS/RHEL yum install -y modsecurity nginx-mod-stream # Ubuntu/Debian apt install -y libmodsecurity3 nginx-mod-security3
2.2 集成到Nginx
# nginx.conf 配置
server {
listen 443 ssl;
server_name yourdomain.com;
modsecurity on;
modsecurity_rules_file /etc/nginx/modsec/main.conf;
location / {
proxy_pass http://backend;
}
}
三、OWASP核心规则集
git clone --depth 1 https://github.com/coreruleset/coreruleset.git /etc/nginx/modsec/crs # 规则调优避免误杀 SecAction "id:900005,phase:1,pass, setvar:'tx.blocking_paranoia_level=2', setvar:'tx.dos_counter_threshold=300'" # 排除上传接口的误报 SecRule REQUEST_URI "@beginsWith /api/upload" "ctl:ruleRemoveById=920420"
四、CC攻击防御
4.1 Nginx限速
http {
limit_req_zone $binary_remote_addr zone=web:10m rate=30r/s;
limit_req_zone $binary_remote_addr zone=api:10m rate=100r/s;
server {
limit_req zone=web burst=20 nodelay;
}
}
4.2 连接数限制
limit_conn_zone $binary_remote_addr zone=addr:10m;
server { limit_conn addr 50; }
五、日志分析与告警集成
配置ModSecurity输出JSON格式的审计日志,再通过Filebeat传输到ELK或对接飞书/钉钉机器人告警。关键是要对CRITICAL级别的告警做实时响应。
六、WAF部署架构建议
- 正向代理模式:WAF反向代理后端Web服务,适合新建系统
- 透明桥模式:无侵入串联,适合已有系统改造
- API网关集成:在Kong/APISIX中集成WAF能力,适合微服务架构
七、总结
WAF是Web安全的重要防线但不是万能药。一个健全的安全体系应该包括WAF加代码审计加安全开发规范加定期渗透测试。WAF的规则要以尽量少报警、绝不错过为目标,持续调优才能发挥最大效果。