云上WAF选型与配置实战:防SQL注入、防CC、防爬虫
本内容发表于:2026-06-05 12:29:47
浏览量
1005

云上WAF选型与配置实战:防SQL注入、防CC、防爬虫

微信图片_2026-06-05_111122_383.png

去年一个客户,大促前被CC攻击打趴了。每秒几万次请求,CDN扛不住,源站直接崩溃。他们用了云WAF,但配置的是默认策略,阈值设太高,攻击流量没拦住,正常用户也进不来。

安全负责人说:“我们买了WAF,怎么没用?”

我问他:“策略调过吗?”

“没有,开箱即用。”

这是WAF最普遍的误区:以为买了WAF就安全了。其实默认策略只能挡最基础的攻击,不调优等于没配。

今天聊聊云上WAF选型与配置。不是那种“WAF很重要”的入门课,而是帮你理清楚:怎么防SQL注入?怎么防CC?怎么区分好爬虫和坏爬虫?

01 WAF部署模式怎么选

云WAF主要有三种部署方式。

反向代理模式:域名CNAME到WAF,WAF清洗后再转发到源站。最简单,最常用。CDN + WAF联动时,CDN先扛流量,WAF再过滤攻击。适合大部分Web应用。

透明代理模式:流量先经过WAF,不改变域名解析。需要串联在网络路径上,配置复杂。适合不能改DNS的遗留系统。

旁路监控模式:只记录不阻断,分析攻击流量。用于测试规则效果,避免误杀。

那家客户用的反向代理,但策略没调好,攻击流量打过来时,WAF自己先扛不住了。后来开启了CDN + WAF联动,CDN扛DDoS,WAF做七层清洗。

02 防SQL注入、XSS:不是开个开关就行

WAF的Web攻击防护默认开启,但有几个坑。

误报:正常请求被当成SQL注入拦截。比如用户搜索“drop table”,WAF以为要删表。解法:配置白名单,放行业务正常的URL和参数。开启“学习模式”,WAF先观察学习,再自动生成白名单。

漏报:攻击者用编码绕过(URL编码、Unicode编码)。WAF默认规则能挡大部分,但高级绕过需要开启“深度解码”。代价:性能开销增加。

文件上传防护:上传webshell,WAF要能检测。开启文件上传检测,限制上传类型,扫描内容。

那家客户遇到过搜索“1 or 1=1”被拦截。业务是正常的搜索功能,但WAF认为是SQL注入。后来把搜索URL加了白名单,解决了。

03 防CC攻击:限流不是越严越好

CC攻击是用大量合法请求耗尽服务器资源。

WAF的CC防护策略

  • 频率限制:同一IP每秒请求数不超过N。太严格误伤正常用户(办公楼共用IP),太宽松拦不住攻击。建议先从宽松开始,观察日志再收紧。

  • 验证码挑战:频率超限后弹出验证码,验证通过后放行。有效拦截自动化攻击,但用户体验下降。建议只对敏感接口开启。

  • 行为分析:机器学习识别异常请求模式(短时间大量请求、User-Agent异常、请求间隔固定)。可以减少误报。

那家客户被CC攻击时,WAF阈值设了100请求/秒,攻击峰值200,刚好没拦住。改成30请求/秒 + 验证码挑战后,攻击流量被拦截,正常用户输入验证码即可访问。

04 防爬虫:搜索引擎要放行,恶意爬虫要拦

爬虫不全是坏的。Google、百度要放行,否则SEO完蛋。

Bot管理策略

  • 搜索引擎爬虫:验证User-Agent,放行。但攻击者可以伪造,不能只靠UA。

  • 恶意爬虫:特征识别(无头浏览器、异常请求频率、缺少JS执行)。拦截或限速。

  • API保护:API接口通常不需要爬虫访问,可启用API防护,强制带Token。

高级防爬

  • 动态页面:返回混淆后的HTML,爬虫解析成本高

  • 交互式挑战:JS挑战、Cookie挑战

那家客户有商品价格被竞对爬虫抓取。开启了Bot管理后,识别出无头浏览器请求,返回假数据(价格+5%),竞对爬走了错误数据。

05 日志与告警:被攻击了要知道

WAF不只看拦截,还要看告警。

关键告警

  • 单IP触发CC阈值

  • 同一URL被多种攻击尝试(SQL注入、XSS、命令注入)

  • 异常请求量突增

日志分析

  • 定期检查误报,调整白名单

  • 分析攻击来源IP,加入黑名单

  • 识别攻击模式(扫目录、撞库、暴力破解)

那家客户被攻击时,WAF日志里有大量SQL注入尝试。他们没看日志,以为只是CC攻击。后来加了告警,攻击开始5分钟就收到通知,立即调整策略。

06 一个真实案例:策略调优救了双11

一个电商客户,双11前配置了WAF,默认策略。我们做了几件事:

  • SQL注入/XSS:开启学习模式,生成白名单,减少误报

  • CC攻击:阈值从100降到30,开启验证码挑战

  • 爬虫:搜索引擎放行,恶意爬虫返回假价格

  • 告警:配置钉钉通知,CC攻击触发时立即告警

双11当天,凌晨出现一波CC攻击,WAF触发了阈值,自动弹出验证码。攻击流量被拦截,正常用户验证后继续访问。损失几乎为零。

安全负责人说:“以前觉得WAF开着就行,现在知道,调和不调,差别巨大。”

写在最后

WAF不是开箱即用。默认策略只能挡脚本小子,真正的攻击要靠调优。

那家客户的安全负责人后来总结:“SQL注入配白名单,CC限流要带验证码,爬虫区分好与坏,日志告警不能少。”

你的WAF,配对了吗?