新闻
我们更期待的是,能在与您的沟通交流中获得启迪,
因为这是我们一起经历的时代。
分类
相关文章
热门标签

百度云 waf 针对爬虫与攻击行为的自定义规则设置指南

2026年9月3日

1. 登录并进入百度云 WAF 控制台

1. 登录百度云账号 -> 进入“控制台”-> 在产品与服务中选择“安全”-> 点击“Web 应用防火墙 (WAF)”。
小分段:a) 若无 WAF 实例,先购买/开通实例。b) 若已有实例,确认已绑定需要防护的域名或负载均衡。

2. 创建实例并绑定域名/证书

2. 在 WAF 控制台选择“实例管理”-> 新增实例-> 填写实例名 -> 选择线路/计费方式 -> 创建后进入“域名管理”-> 点击“添加域名”-> 填写域名并选择对应后端回源(IP/域名)并上传或选择证书(HTTPS)。
小分段:a) 验证回源连通性。b) DNS 指向 WAF 提供的 CNAME。

3. 了解规则引擎与自定义规则入口

3. 在左侧菜单找到“防护策略/规则引擎/自定义规则”模块。
小分段:a) 规则有“内置规则”和“自定义规则”。b) 自定义规则优先级通常在内置规则之上或可调整优先级,注意规则顺序。

4. 新建自定义规则的基本设置步骤

4. 点击“新增规则”-> 填写规则名称与描述 -> 选择优先级(数字越小越先匹配)-> 选择动作为:拦截(Block)、观察(Monitor)、验证码(Challenge)、放行(Allow)、重定向(Redirect)。
小分段:a) 设置生效域名/路径。b) 保存后可以临时设为“监控模式”先观察命中情况。

5. 常用匹配条件与配置项(逐项设置示例)

5. 条件支持:IP、请求方法、URL 路径、Query 参数、User-Agent、Referer、请求头、请求体正则、地理位置、时间段等。
小分段举例:a) IP 黑白名单:选择“来源 IP”-> 输入CIDR或单IP-> 动作为“Block/Allow”。 b) UA 正则:选择“User-Agent”-> 匹配模式选择“正则”-> 填写类似 (bot|spider|crawler|wget|curl) -> 动作为“Challenge/Block”。

6. 针对爬虫的规则示例与具体配置

6. 推荐步骤:先在监控模式观察 UA/IP 行为,再逐步拦截。示例规则:a) UA 识别规则:条件 User-Agent 正则:(?i)(bot|spider|crawler|scrapy|wget|curl) -> 动作:先监控,确认后改为验证码或拦截。 b) IP 速率限制:设置“单 IP QPS”>阈值(如20次/分钟)-> 动作:限制并触发 JS 验证或 403 阻断(如 60s)。 c) 深度与频率:路径深度或短时间大量抓取同一路径则触发限速。
小分段:提供 curl 测试命令:curl -I -A "BadBot" https://yourdomain/test 来验证规则命中。

7. 针对常见攻击(SQLi、XSS、文件包含等)的规则示例

7. 使用正则匹配危险参数或请求体:a) SQLi 示例:匹配模式 (?i)(union\s+select|select.+from|or\s+1=1) -> 动作:拦截并记录规则ID。 b) XSS 示例:匹配 动作:拦截并返回 403 或进行编码替换。 c) 文件包含/目录穿越:匹配 \.\./|\.\.\\ 或 include\(|require\(|system\(|eval\(.
小分段:每条规则都建议先监控 24–48 小时,再升级为拦截,避免误伤。

8. 高级组合规则与白名单策略

8. 组合条件:可用 AND/OR 组合 IP + UA + URL,实现更精准拦截。白名单:对可信爬虫(如百度蜘蛛)可通过 AS 爬虫 IP 列表或 UA + 反向 DNS 校验放行。
小分段:a) 对重要 API 设置来源白名单并开启签名校验。b) 针对高危时段可临时提高拦截强度并打开报警。

9. 日志、告警与规则调优流程

9. 在“日志/告警”查看拦截日志字段:时间、源IP、目标URL、规则ID、匹配条件、动作、响应码。调优流程:a) 新规则先用“监控”观察命中样本。b) 根据误拦样本修改正则或加入放行条件。c) 设置告警阈值(如单位时间内拦截次数)并推送到钉钉/邮件。
小分段:日志示例可导出为 CSV 进行批量分析。

10. 上线前注意事项与回滚策略

10. 上线流程建议:灰度发布 -> 观察 24–72 小时 -> 全量切换。若误拦严重:立即将问题规则设置为“监控”或下线,恢复访问。备份规则配置并记录版本号以便回滚。
小分段:准备应急联系人与回滚脚本(如快速禁用某规则ID 的 API 调用)。

11. 问答 1

11. 问:如何确认某条自定义规则是否在生产中误拦正常用户?

11. 答:先把规则设为“监控/观察”模式 24-48 小时,查看日志中被该规则命中的请求样本(源 IP、UA、Cookie、Referer),比对是否为真实用户流量;若疑似误拦,调整匹配条件(更精确的正则、增加白名单或限制应用到特定路径)。

12. 问答 2

12. 问:如何针对分布式爬虫做整体限流而不影响正常用户?

12. 答:建议使用多维度阈值组合:对单 IP 设置较高的 QPS 限制,同时对同一来源 ASN/地理位置或同一 UA 的整体并发请求设置更严格的阈值;结合行为分析(短时间大量请求不同页面)触发 JS 验证或验证码,且将重要页面或已知搜索引擎爬虫列入放行名单。

13. 问答 3

13. 问:我如何用命令行快速验证自定义规则是否生效?

13. 答:使用 curl 模拟请求并带上触发条件,例如测试 UA 规则:curl -i -A "curl/7.64.1 (BadBot)" https://yourdomain/path;查看返回状态(403/302/200)以及响应头中 WAF 或规则ID 信息;同时在控制台日志中查对应时间点条目以确认命中详情。

云WAF

来源:百度云 waf 针对爬虫与攻击行为的自定义规则设置指南