
1. 确认保护对象:确定要保护的域名、主机或API接口。
2. 准备账号与权限:需要阿里云账号且拥有WAF与ECS、域名解析(DNS)管理权限。
3. 确定回源方式:回源为CNAME接入或IP回源,选择此前先备份现有解析记录。
4. 监控与日志需求:启用访问日志/攻击日志以便后续调优和取证。
5. 估算带宽与并发:如果有DDoS保留需求,评估峰值带宽(示例:峰值10Gbps)。
6. 备份策略:在改动DNS或反代配置前,记录原始IP与证书配置。
2. 在控制台选择WAF产品并创建实例,选择公网型或经典型。
2. 添加防护域名,填写域名、回源方式(CNAME或IP)与回源协议(HTTP/HTTPS)。
2. 配置证书:若启用HTTPS,上传证书或使用阿里云托管证书。
2. 修改DNS解析:将域名CNAME指向WAF提供的CNAME记录或修改A记录到WAF回源IP。
2. 验证接入:通过curl或浏览器访问域名,确认通过WAF返回,并检查响应头中含有WAF标识。
2. 生效时间:DNS与WAF策略生效通常在几分钟至1小时内。
3. 示例ECS配置:ECS规格 ecs.c6.large (2vCPU/4GB),公网带宽2Mbps,操作系统:Ubuntu 20.04。
3. 回源设置示例:回源IP 192.0.2.10,回源端口 443,回源协议 HTTPS,证书验证启用。
3. Nginx配置片段:proxy_set_header Host $host; proxy_pass https://192.0.2.10:443;(在回源开启TLS时注意证书链)。
3. CDN与WAF联动:如果前端使用CDN(例如阿里云CDN),将CDN回源指向WAF CNAME,WAF回源指向ECS。
3. DDoS防护联动:若购买DDoS高防IP,请将高防IP配置为WAF回源或ECS公网IP并在WAF中白名单高防调度IP。
3. 端口与超时建议:回源超时设置30s,连接数限制按ECS规格设定。
4. 启用默认防护策略:XSS、SQL注入、文件上传控制、扫描器识别等内置策略。
4. 自定义访问控制:按IP白名单/黑名单、地理位置阻断、User-Agent过滤进行精细控制。
4. 限流与CC防护:按URL或URI Match设置QPS阈值(示例:同一IP对登录接口QPS>10触发限速)。
4. 自定义签名规则:使用正则匹配可疑参数或头部,举例:匹配pattern "(select|union)\s+.*"进行SQL注入拦截。
4. 告警与拦截动作:建议拦截关键路径(/wp-login.php)为拦截(block),其他路径先设为观察(observe)模式。
4. 规则回退与日志核查:每次上规则后观察24小时日志,若误拦截频繁则回退或优化正则。
5. 基本功能测试:使用curl发送常规请求与携带SQL注入特征的请求,确认WAF拦截与日志记录。
5. 压力与并发测试:使用ab或wrk工具模拟峰值并发,记录响应时间与成功率(示例工具:wrk -t4 -c200 -d30s)。
5. CC与限流测试:对登录接口模拟高频请求,验证QPS阈值触发是否生效。
5. 日志验证:在WAF控制台查看攻击日志,核对源IP、攻击类型与触发规则ID。
5. 性能影响评估:对比不上WAF与启用WAF时的平均响应时延差异(示例数据见下表)。
5. 表格演示(防护前/后对比):
| 指标 | 未启用WAF | 启用WAF(默认+限流) |
|---|---|---|
| 并发连接数(模拟) | 200 | 200 |
| 平均响应时间 | 120 ms | 150 ms |
| 拦截恶意请求数/30s | 0 | 342 |
| 成功率(有效请求) | 99.5% | 99.2% |
6. 案例背景:某中小电商使用ECS(4c8g)、10Mbps带宽、域名 mall.example.com,日均PV 50万。
6. 接入方案:前端使用阿里云CDN+CNAME到WAF,WAF回源至ECS私网IP配合SLB。
6. 策略配置:登录与下单接口设置严格限流,所有POST参数启用XSS/SQL注入规则,自定义规则拦截敏感参数。
6. 成效数据:部署WAF后两周拦截自动化扫描与注入尝试共计1.8万次,平均响应延迟上升约25ms,业务未受影响。
6. 运维建议:持续观察误报,设置业务恢复白名单,定期更新自定义签名并结合WAF日志与ECS访问日志做关联分析。
6. 应急预案:DNS回退、关闭部分高级规则逐条回测、联系阿里云技术支持以获得流量分流建议。