概述WAF通过规则集识别常见攻击向量,Bot管理通过指纹与行为挑战拦截非人类或恶意自动化流量。两者协同可在入口层降低风险并保障后端稳定性。关键实践与参数规则集:启用CRS规则并按业务调优误报阈值指纹识别:UA、Accept-Language、TLS指纹、请求节律与路径特征行为挑战:JS挑战或验证码对可疑流量进行二次验证速率限制:按IP、Key、路径维度,令牌桶 `rate=10r/s burst=50`审计:记录命中规则、限流与挑战事件,便于复盘示例/配置/实现# ModSecurity + CRS SecRuleEngine On Include /usr/local/modsecurity/crs-setup.conf Include /usr/local/modsecurity/rules/*.conf # 简单UA指纹拒绝示例 SecRule REQUEST_HEADERS:User-Agent "@rx (curl|bot|scrapy|wget)" \ "id:100100,phase:1,deny,status:403,log,msg:'Blocked suspicious UA'" # NGINX 速率限制 limit_req_zone $binary_remote_addr zone=ip:10m rate=10r/s; server { location /api/ { limit_req zone=ip burst=50 nodelay; proxy_pass http://api; } } -- OpenResty 行为挑战(示意) local cookie = ngx.var.cookie_challenge if not cookie then ngx.header['Set-Cookie'] = 'challenge=1; Path=/; HttpOnly' ngx.say('<script>document.cookie="challenge=1";location.reload()</script>') return ngx.exit(200) end 验证攻击特征:使用常见扫描UA与Payload请求,命中CRS与自定义规则并返回403速率限制:并发压测超过阈值,返回429比例与后端稳定性提升行为挑战:首次访问命中挑战,二次访问带Cookie通过审计:日志中记录规则ID、IP与请求路径,便于追溯注意事项规则需结合业务场景调优,避免误杀正常流量行为挑战对可用性有影响,应按风险精准触发速率限制与全局/分布式限流协同,防止绕过定期复盘拦截效果与误报比,持续优化

发表评论 取消回复