1. 快速检测与确认攻击
步骤1:通过监控和流量指标确认异常流量:检查监控面板(Prometheus/Grafana、云厂商流量图)、ifconfig/iftop、vnstat、netstat/ss。
步骤2:用命令快速查看:ss -antp | head、netstat -anp | grep :80、iftop -i eth0。若出现大量同源或大量SYN、UDP包,则可能为DDoS。
2. 立即做出初步隔离
步骤1:先把应用降级或短期下线(关闭非必要服务)以保护核心服务。
步骤2:在防火墙做临时性粗暴规则:例如阻断明显攻击端口和协议(iptables -A INPUT -p udp -m limit --limit 1/s --limit-burst 10 -j DROP)。记录更改以便回滚。
3. 抓包并保存取证数据
步骤1:启动抓包保存:tcpdump -i eth0 -s 0 -w /root/attack_capture_$(date +%s).pcap host
or port 80。
步骤2:只抓 SYN 或 UDP 可减少文件:tcpdump 'tcp[tcpflags] & (tcp-syn) != 0' -w syn_only.pcap。将 pcap 复制到安全存储便于后续分析。
4. 临时 iptables/nftables 具体规则示例
步骤1:限制新连接速率:iptables -I INPUT -p tcp --dport 80 -m connlimit --connlimit-above 200 -j DROP。
步骤2:短时内限制同 IP 请求:iptables -I INPUT -p tcp --dport 80 -m recent --set;iptables -I INPUT -p tcp --dport 80 -m recent --update --seconds 60 --hitcount 30 -j DROP。
步骤3:对 UDP 流实施 hashlimit:iptables -I INPUT -p udp -m hashlimit --hashlimit 100/s --hashlimit-mode srcip --hashlimit-name udp_limit -j ACCEPT。
5. 利用应用层限流与 WAF
步骤1:Nginx 配置示例:在 http {} 下加入 limit_conn_zone $binary_remote_addr zone=addr:10m; limit_req_zone $binary_remote_addr zone=req:10m rate=10r/s;在 server/location 中使用 limit_conn addr 10; limit_req zone=req burst=20 nodelay。
步骤2:启用 ModSecurity 或云厂商 WAF 策略,开启已知攻击签名与速率拦截。
6. 触发云厂商高防策略(台湾 VPS 对接 CN2 高防)
步骤1:登录云服务商控制台,进入实例或网络防护模块,选择启用“高防/清洗”或将 IP 切换到高防 IP(通常提供转发/清洗 IP)。
步骤2:如果支持一键托管流量到清洗中心,按说明把 A 记录或 BGP 路由改向清洗 IP;若提供“抛弃规则/黑洞”,与厂商确认封锁前的影响并申请对特定前缀黑洞或流量清洗。
7. DNS、CDN 与真实源 IP 隐蔽步骤
步骤1:在攻击期将 DNS TTL 降到最低(如60秒),把域名解析指向云厂商提供的清洗或 CDN IP;若使用 Cloudflare 等,确保开启代理(橙云)。
步骤2:确保真实源 IP 不直接对公网开放:在防火墙只允许云厂商清洗IP/代理访问服务器管理端口与应用端口。
8. BGP/黑洞和流量调度操作流程
步骤1:向托管/上游 ISP 提交黑洞或流量清洗工单,提供受影响的目的 IP/前缀、时间窗和流量阈值。
步骤2:如支持 BGP 社区或广告替换,按厂商步骤临时通告更高防的跳转路由,把恶意流量引入清洗池。
9. 与运营商/厂商沟通清单与必要信息
步骤1:准备信息:受影响 IP、时间点、抓包文件(pcap)、流量图、受影响端口与协议、业务影响范围。
步骤2:在控制台工单里注明希望的动作(立即清洗、黑洞、BGP 路由变更)并附上抓包和监控截图,加急电话或聊天工具联系技术支持。
10. 恢复与事后清理
步骤1:攻击结束后逐步回滚临时粗暴规则,先放宽连接限速,再移除黑名单。
步骤2:分析 pcap,确认是否有入侵痕迹,检查日志(/var/log/nginx/access.log, /var/log/auth.log),更新防护策略并把规则写入防火墙持久化配置。
11. 演练与改进
步骤1:建立应急 POC:每季度做一次应急演练,模拟流量突增并测量 RTO。
步骤2:把成功/失败的操作记录到 SOP 文件,包含控制台路径、联系人信息、命令清单与回滚步骤。
12. 常用命令与日志路径速查表
步骤1:流量与连接查看:ss -s;iftop -i eth0;tcpdump -nn -s0 -c 1000。
步骤2:常看日志:/var/log/nginx/access.log、/var/log/nginx/error.log、/var/log/messages、/var/log/syslog。把抓包与日志打包上传给厂商。
13. 法律与合规与证据保全
步骤1:保留抓包与时间戳、服务器系统时间校准(ntp)记录,以便后续与 ISP/执法机关沟通。
步骤2:只向可信的合作方提供抓包,敏感信息脱敏,必要时请求厂商开具清洗报告与流量统计证明。
14. 问:遇到DDoS第一时间我该做什么?
第一步:立刻启用监控与抓包并把业务流量导向高防/清洗(更改DNS或在控制台启用高防);并在本机用 iptables 快速添加限流规则,保存证据并联系厂商支持。
15. 答:遇到DDoS第一时间该如何操作(具体命令)?
建议命令序列示例:1) 抓包 tcpdump -i eth0 -w /root/attack.pcap;2) 限流 iptables -I INPUT -p tcp --dport 80 -m connlimit --connlimit-above 200 -j DROP;3) 与厂商申报高防并切换解析到清洗IP。
16. 问:如何在台湾VPS(CN2)环境下防止源IP泄露?
最佳实践:通过 CDN/高防清洗层做反代,防火墙只允许该层的 IP 访问源站,禁止直接通过公网访问原始 IP,并在控制台修改网络白名单只允许云厂商清洗IP段。
来源:部署在台湾vps cn2 高防云空间的DDoS应急响应流程模板