1.
总体思路与准备(概览)
- 目标:以“最快检测→最小化损失→快速恢复”为原则制定应急流程。
- 准备项:列出域名、源站IP、DNS服务商、CDN供应商、高防服务商账号、应急通讯群、回滚脚本与权限清单。
- 输出:生成一份应急联系单与Runbook(运行手册),包含步骤编号、命令、负责人与时间窗。
2.
第1步:检测与判断攻击类型
- 步骤:观察监控(带宽/连接/响应时间/错误率)并对比历史基线。
- 实操:登录监控面板,查看5分钟增幅;用netstat/ss检查并发连接:ss -ntap | awk '{print $5}' | sort | uniq -c。
- 判断:若带宽飙升且连接来源分散,偏向DDoS流量攻击;若请求异常但带宽正常,可能是HTTP泛滥或应用漏洞扫描。
3.
第2步:快速决策——CDN还是高防先上
- 场景A(突发大带宽DDoS):优先启用高防流量清洗或将域名切至高防IP。
- 场景B(大量HTTP异常请求/爬虫):优先利用CDN的WAF/规则与速率限制缓解。
- 场景C(源站故障/带宽受限):先切换到CDN缓存和源站回源限流,再并行部署高防。
4.
第3步:CDN应急具体操作步骤
- 步骤1:登陆CDN控制台,开启“全站缓存”与“缓存穿透防护”。
- 步骤2:启用WAF规则集(快速模式)与速率限制(例如同一IP每秒不超过10个请求)。
- 步骤3:在CDN添加自定义防护规则(黑名单、Bot指纹)并降低回源请求频率,必要时临时启用“只允许缓存响应”。
5.
第4步:高防服务器应急具体操作步骤
- 步骤1:联系高防厂商,申请清洗并接入高防IP或接入套餐。
- 步骤2:将DNS解析A记录或CNAME改为厂商提供的高防入口(注意TTL提前缩短,通常300秒)。
- 步骤3:确认高防的黑白名单配置、灵活放行源站运维IP,测试访问链路是否能回源。
6.
第5步:DNS与TTL管理实操
- 缩短TTL:在正常时提前把域名TTL设为300s或更低,便于快速切换。
- 切换流程:修改DNS记录→等待TTL失效(或强制刷新)→验证cURL或dig查看解析是否到高防/CDN。命令示例:dig +short www.example.com。
- 回滚:确认清洗稳定后,将TTL恢复并记录切换时间。
7.
第6步:源站与回源保护
- 限制回源:在CDN设置中开启回源访问鉴权或秘密Header,阻止直接绕过CDN访问源站。
- 源站配置:在防火墙或Nginx上只允许来自CDN/高防的IP段做回源,示例iptables规则:iptables -A INPUT -s
-j ACCEPT。
- 监控:在源站部署轻量NGINX状态页与prometheus监控,实时报警。
8.
第7步:自动化与脚本化操作
- 脚本1(DNS切换):使用API(DNS厂商)写脚本,执行前后记录返回值并发送到应急群。
- 脚本2(规则下发):通过CDN/高防API批量下发封禁IP/速率规则,示例伪代码:POST /api/rules {ip:..., action:block}。
- 注意:所有脚本需要加入回滚与幂等性检查,避免重复误操作。
9.
第8步:演练计划与频率
- 推荐:每季度进行一次故障演练(含DNS切换、限流、回滚),并进行演练评估报告。
- 场景覆盖:小流量模拟、大流量切换、CDN缓存穿透测试与源站直接访问封堵测试。
- 记录:演练后写出改进项并更新Runbook。
10.
第9步:日志、取证与报表
- 操作:在缓解期间保留全部访问日志(CDN、高防、源站),并导出为CSV供流量分析。
- 取证:记录攻击IP段、请求特征、时间线,用于向上游或执法机关提交。
- 报表:事后生成SLA影响报告与时序图,作为优化依据。
11.
第10步:成本与优先级考量
- 成本对比:高防适合短期高带宽清洗,费用按清洗峰值或带宽计;CDN适合持续分发与应用层防护,费用按流量与请求计。
- 优先级:若攻击影响用户体验且短时间内无法扩容,优先用高防;若是长期应用层问题,优先优化CDN与WAF规则。
12.
第11步:决策矩阵(快速参考)
- 表格化思路(文字):带宽型攻击→高防;应用层攻击/爬虫→CDN+WAF;源站宕机→CDN缓存优先;混合攻击→同时启用并协调。
- 执行顺序:检测→短TTL切换→启用清洗/速率限制→监控回归→回滚与总结。
13.
问答1:在突发DDoS中我应先选择高防还是CDN?
- 答:如果攻击以大带宽为主(运营商链路饱和或带宽计费暴增),优先切高防做流量清洗;若攻击为大量恶意HTTP请求且希望快速拦截应用层漏洞扫描,先启用CDN的WAF与速率限制,然后在必要时并行上高防。
14.
问答2:如何在分钟级完成从CDN切到高防的切换?
- 答:事前把域名TTL设为300s或更低,准备好高防IP与API脚本。切换时用API修改DNS记录并实时校验解析,结合CDN缓存策略降低回源负载;整个流程在TTL到期后即可在数分钟内完成。
15.
问答3:演练中发现回源被误封该如何恢复?
- 答:第一时间在高防/CDN控制台放行源站IP或添加白名单;如果使用API,立即调用回滚脚本撤销规则;并在防火墙上核验放行规则,随后分析误封原因并修订自动化规则与签名。