1. 目标与边界:明确本次测试目标(性能稳态、清洗能力、加速效果、误报率等)并限定测试范围(IP、域名、时间窗)。必须取得授权:向CDN厂商、网络运营商、业务所有者与法务部门书面申请并保留证据。小分段:a) 确定测试目的;b) 获取书面授权;c) 列出不可触碰的系统与时间段。
2. 环境准备:建立独立测试账号、专用测试域名、隔离的源站与日志收集链路。建议在私有VPC或测试机房搭建镜像服务,避免影响线上真实业务。小分段:a) 配置测试域名并上报给CDN;b) 搭建可回滚的源站镜像;c) 准备日志/监控Agent。
3. 指标清单:先做无攻击基线测量,定义关键指标——响应时间(P50/P95/P99)、带宽、连接数、错误率、清洗触发率、缓存命中率、回源流量、CPU/内存等。小分段:a) 运行基线试验并记录;b) 确定阈值与SLA;c) 定义异常告警规则。
4. 工具选择原则:优选能在本地或私有网络运行、并能生成可控流量的合法工具(如负载测试工具和厂商授权的攻击仿真服务)。避免使用未知的开源DDoS脚本。小分段:a) 负载测试:JMeter、k6、Locust等用于常规并发与业务流量模拟;b) 攻击仿真:通过厂商授权的模拟服务或专业红队/应急演练供应商;c) 监控:Prometheus/Grafana/ELK用于指标和日志采集。
5. 设计原则:根据真实业务访问特征构造流量模型,包括请求类型比例、访问频次、地理分布、User-Agent多样性与会话保持。攻击谱则模拟常见异常模式(高并发突增、短连接多次重试、带宽耗尽等),但以低危害方式在控制范围内触发规则。小分段:a) 使用真实日志抽样构建场景;b) 设定并发、RPS曲线与突发窗口;c) 将异常模式量化为可控参数。
6. 阶段化执行:分为预热、递增、稳态、突发与恢复五阶段。每阶段按计划增加压力并持续监控,发现严重异常立即回滚。小分段:a) 预热:验证脚本与监控链路;b) 递增:逐步提升并发,观察阈值;c) 突发:短时大幅上升测试清洗反应;d) 恢复:验证系统快速回稳能力。
7. 风险管控:在测试中设置安全阈值和自动中止机制(如超过回源带宽、异常错误率或第三方告警时自动停止)。提前通知相关运维值班人员与网络运营商以免误报。小分段:a) 设置阈值与中止动作;b) 保持沟通渠道畅通;c) 对外发布内部通告避免误判。
8. 数据收集策略:集中采集边缘日志、回源日志、WAF/ACL告警和网络层指标,统一时间戳并用标签区分测试流量。分析时对比基线与测试期差异,关注清洗延时、误拦截与误放行情况。小分段:a) 同步时间与采样频率;b) 标记测试流量;c) 生成对比报表。
9. 验证与优化:根据测试结果调整CDN策略(如速率限制、黑白名单、挑战/验证码、请求特征识别规则、缓存策略),然后复测验证效果。记录每次调整的前后影响以形成知识库。小分段:a) 优先调整低风险策略;b) 逐项验证效果;c) 形成操作手册。
10. 报告要点:包含测试目的、授权证明、环境拓扑、流量设计、阶段数据、主要发现、风险点与整改建议。把常见场景与配置模板纳入团队知识库并定期复测。小分段:a) 完整记录每次测试;b) 提炼可执行建议;c) 定期回顾更新策略。
11. 问:如何保证攻击模拟合法合规? 答:首先必须获得业务所有者、CDN厂商和网络运营商的书面授权,并限定测试窗口与影响范围;其次在隔离的测试环境或经厂商许可的专用通道执行;最后确保可中止的安全阈值和值班通知,保留所有测试记录与变更审批。
12. 问:在日志和指标中如何分辨正常负载与攻击流量? 答:用已标记的测试流量ID或源IP段分离测试流;基线对比法可识别异常模式(突发性、重复短连接、异常UA分布、异常地理分布);同时结合WAF告警与网络层异常(如SYN包异常)做综合判定,避免单一指标误判。
13. 问:测试结束后哪些改进最优先? 答:优先修正造成误拦或回源暴涨的规则,优化缓存与路由策略降低回源压力,调优速率和挑战策略以平衡可用性与安全;最后将成功策略模板化并加入监控告警,定期复测验证长期有效性。
