1. 登录百度云账号 -> 进入“控制台”-> 在产品与服务中选择“安全”-> 点击“Web 应用防火墙 (WAF)”。
小分段:a) 若无 WAF 实例,先购买/开通实例。b) 若已有实例,确认已绑定需要防护的域名或负载均衡。
2. 在 WAF 控制台选择“实例管理”-> 新增实例-> 填写实例名 -> 选择线路/计费方式 -> 创建后进入“域名管理”-> 点击“添加域名”-> 填写域名并选择对应后端回源(IP/域名)并上传或选择证书(HTTPS)。
小分段:a) 验证回源连通性。b) DNS 指向 WAF 提供的 CNAME。
3. 在左侧菜单找到“防护策略/规则引擎/自定义规则”模块。
小分段:a) 规则有“内置规则”和“自定义规则”。b) 自定义规则优先级通常在内置规则之上或可调整优先级,注意规则顺序。
4. 点击“新增规则”-> 填写规则名称与描述 -> 选择优先级(数字越小越先匹配)-> 选择动作为:拦截(Block)、观察(Monitor)、验证码(Challenge)、放行(Allow)、重定向(Redirect)。
小分段:a) 设置生效域名/路径。b) 保存后可以临时设为“监控模式”先观察命中情况。
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. 推荐步骤:先在监控模式观察 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. 使用正则匹配危险参数或请求体:a) SQLi 示例:匹配模式 (?i)(union\s+select|select.+from|or\s+1=1) -> 动作:拦截并记录规则ID。 b) XSS 示例:匹配