通过应用防火墙拦截恶意请求的核心在于精准配置规则集、启用自动学习模式并定期更新防护策略,这样才能有效防御SQL注入、XSS等常见攻击。很多站点被刷流量、被拖库,都是因为基础规则没配好,或者策略更新跟不上攻击手法,下面从具体操作入手,把配置方法拆开来讲。
应用防火墙拦截恶意请求设置步骤
配置WAF(Web应用防火墙)不是简单开个开关就行,需要按场景逐步落地,以下步骤经过多数生产环境验证,能覆盖绝大多数恶意请求场景。
第一步:明确防护对象与流量入口
先搞清楚要保护的是域名、API还是特定路径。不同入口对应不同规则模板,混用会导致误拦或漏过。
- 域名级防护:适用于网站前台,重点关注HTTP报文的头部和Body。
- API级防护:适用于接口调用,重点设置参数校验和速率限制。
- 特定路径:比如后台登录页,需要单独配置IP黑名单和二次验证。
第二步:启用核心规则库并调整模式
大多数WAF(无论是云WAF还是开源ModSecurity)都内置了OWASP Top 10规则集。新手建议先设置为“检测模式”,观察一段时间日志,确认没有误拦后再切换到“阻断模式”。
- 在云WAF控制台,找到“规则管理”模块,勾选SQL注入、XSS、命令执行等基础规则。
- 对于开源方案(如Nginx+ModSecurity),通过
SecRuleEngine DetectionOnly开启检测,运行一周后根据日志调整SecRuleRemoveById排除误报。
第三步:配置自定义规则处理特定逻辑
内置规则无法覆盖业务特有漏洞,比如订单金额篡改或优惠券批量刷取,这时需要自定义规则,通常基于正则表达式或参数特征。
- 示例:拦截
/coupon/apply接口中user_id参数包含非数字字符的请求。 - 在云WAF自定义规则页面,选择“请求路径”+“参数值匹配”,写入正则,动作设为“拦截”。

第四步:绑定并测试策略
将配置好的规则集绑定到目标域名或IP上,先用少量真实请求测试,打开WAF的“日志服务”或“攻击详情”,核对请求是否被正确归类。
- 常见测试方法:使用
curl模拟攻击payload,比如curl "http://example.com?id=1' OR '1'='1",观察是否被拦截。 - 如果发现误拦,及时调整规则或添加白名单,比如排除搜索引擎爬虫的特定User-Agent。
如何通过应用防火墙拦截恶意请求?规则配置详解
规则配置是WAF的核心,也是新手最容易出错的地方,这里的核心原则是“最小权限、分层防御”。
规则优先级:从宽到窄
WAF引擎通常按规则ID顺序或参数权重执行,建议将高优先级规则(如IP黑名单)放在最前面,避免被后续规则覆盖。
- 在ModSecurity中,
SecAction配合id参数控制顺序,数字越小优先级越高。 - 云WAF一般支持拖拽排序,将“地理区域封禁”和“IP阈值”排在最前。
规则分组:按业务模块隔离
不要把全站规则揉在一起,按业务模块分组能显著降低误报率。
- 登录模块:单独配置“5分钟内失败5次锁定IP”的速率规则。
- 搜索模块:配置“单IP请求频率超过100次/分钟”的拦截规则。
- 上传模块:配置“文件类型白名单+大小限制”规则,拒绝PHP、JSP等可执行文件上传。
自动学习与手动调整的平衡
多数商业WAF提供自动学习模式,能根据正常流量生成基线,但完全依赖自动学习容易导致“漏报”,因为攻击payload往往模仿正常请求。
- 行业共识认为:自动学习应作为辅助,核心防护仍依赖人工规则,先开启学习模式收集样本,再将样本中出现的攻击特征手动写入规则。
- 对于CDN型WAF,可以开启“智能CC防护”

,它能自动识别爬虫和刷量行为,但需要定期检查误拦率。
云WAF与硬件WAF配置对比:哪个更易用?
选型时经常遇到“云WAF还是硬件WAF”的纠结,两者的配置方法差异很大,直接影响防护效果和运维成本,下面从配置角度做个对比。
| 对比维度 | 云WAF | 硬件WAF |
|---|---|---|
| 部署方式 | DNS解析或透明代理,无需改网络架构 | 串联在链路中,需要改路由或BGP |
| 规则更新 | 厂商自动更新核心库,用户只需开启开关 | 需手动下载规则包或定期更新固件 |
| 自定义规则 | 控制台图形化操作,支持正则和可视化编排 | 通过CLI或Web界面,部分型号支持脚本 |
| 性能瓶颈 | 受限于带宽和并发连接数,可弹性扩容 | 受限于硬件规格,扩容需重新采购 |
| 入门难度 | 较低,10分钟内可完成基础配置 | 较高,需要熟悉网络协议和命令行 |
配置复杂度上,云WAF明显更友好,适合快速上线和频繁调整,硬件WAF适合对延迟和合规要求极高的场景,比如金融、政务,但每次规则变更都需要走变更流程,如果你前期不确定用量,可以从云WAF的按量付费模式开始,后期再评估是否迁移到硬件方案,业内专家指出,近几年多数中小型企业最终选择了云WAF,因为其配置灵活性和成本优势更突出。
企业应用防火墙选型对比与配置要点
不同规模的企业对WAF的需求不同,配置的侧重点也要跟着变。选型时不能只看价格,还要看配置的粒度。
小型企业:轻量级配置方案
预算有限,一个域名或几个API需要防护,推荐开源WAF(如ModSecurity)或低配云WAF,配置要点:
- 直接使用默认规则集,开启核心防护。
- 每周检查一次日志,根据误报调整
SecRuleRemoveById。 - 不开启HTTPS解密(除非必要),否则会大幅增加CPU消耗。

中大型企业:精细化配置方案
业务复杂,多个子域名、多个API版本,需要高精度规则和自动化运维,配置要点:
- 将规则集拆分为全局规则和局部规则,全局规则拦截通用攻击,局部规则针对特定业务漏洞。
- 启用API安全网关,将WAF与API网关串联,实现参数级校验和速率限制。
- 配置告警通知,当WAF检测到异常流量超过阈值时,通过邮件或Webhook通知运维人员。
高安全场景:多层防御配置
金融、政务、电商等需要满足等保或PCI DSS合规,WAF只是其中一环,需要与RASP、IDS/IPS联动,配置要点:
- WAF规则必须与RASP规则同步,避免在WAF层放行但在RASP层拦截的冲突。
- 启用日志审计,记录所有攻击源IP、攻击类型、命中规则ID,保留至少180天。
- 定期进行渗透测试,验证WAF规则是否有效,并针对测试结果优化规则。
应用防火墙配置常见问题解答
配置WAF后网站访问变慢,怎么办?
尝试关闭“HTTPS解密”和“请求体深度检测”,这两项是最耗CPU的,如果仍然慢,考虑升级WAF实例规格或切换到硬件WAF,对于云WAF,可以开启“缓存加速”功能,减少对后端服务器的请求量。
使用WAF后部分正常请求被拦截,如何排查?
先查看WAF的拦截日志,找到被拦截的请求,对照其命中的规则ID,如果是误报,在对应规则中添加“排除条件”或“白名单”规则,拦截了带有字符的URL,可以自定义规则排除该参数中的合法使用场景。
云WAF和硬件WAF的防护效果一样吗?
基础防御效果相近,都能拦截OWASP Top 10攻击,但在自定义规则灵活性和扩展性上差异明显:云WAF可以快速下发规则,适合动态变化的业务;硬件WAF的规则更新需要手动操作,适合稳定且合规要求高的环境,最终选择取决于你的运维团队能力和业务对延迟的容忍度。