1.
本案例来自一家台湾电商在购物旺季遭遇持续SYN+UDP混合DDoS攻击。
目标:在最短时间内恢复业务可用性,降低丢包与响应延迟,保全日志用于取证与后续优化。
2.
步骤一:实时告警确认。检查监控系统(Prometheus/Grafana、Zabbix)的流量/连接数突增警报。
步骤二:抓包与流量统计。命令示例:tcpdump -nn -i eth0 'udp or tcp' -s 96 -w /tmp/ddos.pcap,或使用 tshark -r /tmp/ddos.pcap -q -z conv,ip。
步骤三:导出关键指标:PPS(包/秒)、BPS(位/秒)、唯一源IP数、目标端口分布,形成初步攻击画像。
3.
准备内容:攻击开始时间、峰值BPS/PPS、攻击目标IP/端口、抓包样本(pcap)、监控图表链接。
联系流程:通过控制台工单或24/7应急电话提交,明确要求启用“路径清洗/流量清洗”,并要求回执与预估清洗生效时间。
4.
步骤一:确定切换模式。常见两种:A)BGP引流到清洗中心;B)通过GRE/EVPN隧道转发到清洗设备。
步骤二(BGP示例):与厂商确认ASN与社区改写规则,提交你的前缀让对方临时在其骨干上宣传。必要时执行短时公告:在你的路由器上设置邻居并announce(由网络管理员与ISP配合完成)。
步骤三:监测生效:使用 bgp.he.net 或 bgpq3 等工具确认路由已被接收和传播。
5.
A. Linux/iptable 防护(SYN、UDP限速示例):
iptables -N DDOS_FILTER
iptables -A INPUT -p tcp --syn -m connlimit --connlimit-above 200 -j DROP
iptables -A INPUT -p udp -m hashlimit --hashlimit 100/s --hashlimit-mode srcip --hashlimit-name udp_rate -j ACCEPT
iptables -A INPUT -p udp -j DROP(根据实际小心放宽)
B. sysctl 调优:echo 1 > /proc/sys/net/ipv4/tcp_syncookies;sysctl -w net.ipv4.tcp_max_syn_backlog=4096;sysctl -w net.netfilter.nf_conntrack_max=262144
6.
Nginx 限流示例:在http段加入 limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;在location中使用 limit_req zone=one burst=20 nodelay。
对于连接耗尽类攻击,配置 keepalive_timeout 降低、worker_connections 降低并启用 proxy_protocol(与前端清洗器配合)。
7.
若供应商支持 BGP Flowspec:提交匹配规则(源/目的IP、协议、端口、PPS阈值),由清洗器下发规则至骨干。
行为清洗:由清洗厂商在流量进入你的网络前进行深度包检测(DPI)、会话重组、挑战/响应(例如JS挑战、TCP握手验证),并以干净流量回传。
8.
取证清单:备份PCAP、IDS/防火墙日志、BGP路由变更记录(RIB/adj-RIB)、清洗商提供的流量统计报告。
恢复步骤:1)逐步放开黑名单/限流规则;2)观察24-72小时内是否复发;3)根据攻击特征固化防护策略并在WAF/防火墙中加入规则。
9.
问:我租用了台湾某高防服务器并开启清洗,怎样快速确认清洗效果?
答:首先在清洗前抓取基线流量(pcap与监控图),启动清洗后实时对比BPS/PPS与连接数。使用tcpdump在目的IP接口抓包,观察是否仍存在大规模异常包;同时向清洗商要求清洗报告(按流量峰值前后对比),并确认BGP路由是否已切换到清洗节点。
10.
问:攻击使用大量伪造源IP,清洗后仍有少量恶意请求滞留,下一步怎么办?
答:建议启用应用层挑战(如HTTP JS Challenge)、增加WAF规则基于行为特征(请求速率、UA、Referer异常)封堵,并结合速率限制与IP信誉库。必要时将可疑流量限速到每IP极小速率并持续观察,直到确认正常流量恢复。
11.
问:事后我想和厂商签长期服务与演练,该包含哪些关键条款?
答:关键条款包括SLA(最大恢复时间与清洗生效时间)、按峰值计费与包年价格、攻击上报与响应流程、定期演练频率、日志与取证交付、Flowspec与黑洞策略调用权限,以及保密与赔付条款。并要求定期演练(半年或季度)以验证流程。