网站安全防护
阿里云WAF规则配置与误报处理:实操经验分享

接手一个电商项目时,WAF已经开了三个月,运营反馈说活动期间下单经常502。查了半天发现是WAF把带优惠券参数的POST请求当成SQL注入拦了。误报这事儿,不碰上你不知道多头疼。

防护模块:别全开,按需选

阿里云WAF的防护模块很多,不是每个都要开到最高。SQL注入、XSS跨站、远程文件包含这三个核心规则集建议开启拦截模式。CC攻击防护根据业务并发量调阈值,别用默认值,否则正常流量高峰期也会触发。

网页防篡改看情况。纯动态站点用处不大,有静态页面的建议开。主动防御里的智能防护策略可以开,但先设为观察模式跑一周,看日志没问题再切拦截。

误报排查:从日志入手

阿里云WAF控制台有"安全报表",能看到被拦截请求的详情。排查误报看三个字段:命中规则ID、请求URI、请求体内容。

举个例子:规则942100是SQL注入通用拦截规则,但如果你的业务参数里包含"select""union"这些英文单词,很容易误中。比如商品搜索框搜"union type shirt",这个请求就挂了。

处理方式不是关规则,而是加精确白名单。在规则配置里找到对应规则ID,添加白名单:指定URI路径+参数名,只对这个参数豁免,范围越小越好。千万别直接对整个域名加白名单,等于裸奔。

敏感词过滤的自定义规则

阿里云WAF支持自定义规则,这个功能很多人没用好。可以用它做敏感词过滤:匹配请求参数中的特定关键词,命中后拦截或告警。比如金融类站点拦截"代开发票""套现"等关键词。

自定义规则建议先设"告警"模式观察3-5天,确认没有误报再改"拦截"。每条规则加上备注说明业务背景,方便后续维护。

调WAF是个持续过程,没有一次性配好这回事。每周看一次拦截日志,关注误报和漏报,逐步微调。安全策略的生命周期和业务迭代是同步的,业务变了规则也得跟着变。