1.
概述与前期准备
- 目标:明确防护目标(网络层/传输层/应用层)、业务关键性与可接受的故障恢复时间(RTO)。
- 准备清单:购买记录、IP段、BGP ASN(如使用独立ASN)、流量峰值历史(NetFlow/sFlow数据)、日志接入方式(syslog/rsyslog)、紧急联系方式(带宽商与清洗供应商)。
2.
选择香港CN2高防服务与架构设计
- 选择要点:优先考虑支持CN2直连的带宽商、具备Scrubbing Center(清洗中心)、支持Anycast或BGP Flowspec的提供商。
- 架构建议:公网出口→CN2骨干→Anycast清洗节点→高防服务器(或LB+后端集群);应用层同时使用WAF/CDN做第一级过滤。
3.
BGP与流量劫持(流量引导)配置步骤
- 与带宽商沟通:确认是否支持BGP Anycast、BGP Flowspec或远程黑洞(RTBH)。获取对应community/next-hop格式。
- 实操:在你的路由器上准备好BGP邻居信息与AS路径策略,测试路由发布(不触发生产流量重路由)。如果支持Flowspec,协调运营商下发flowspec规则以精细化拦截异常流量。
4.
基线流量分析与阈值设置
- 数据收集:开启NetFlow/sFlow或使用采样器,收集7天到30天的峰值/均值。
- 阈值定义:根据正常峰值设定告警阈值(例如流量超过正常峰值的1.5倍触发初级告警,3倍触发自动清洗)。
5.
检测规则与告警流程
- 部署IDS/IPS与流量监控(如Zeek, Suricata, ntop、Prometheus+Grafana)。
- 告警动作:1) 流量突增 → 自动限速或触发清洗;2) SYN/ACK异常 → 启用SYN保护;3) HTTP异常(高并发单页)→ 启用WAF规则。明确值班响应等级与SOP。
6.
主机与内核级防护实操
- 内核参数(sysctl)建议:启用SYN cookies(net.ipv4.tcp_syncookies=1)、调整tcp_max_syn_backlog、conntrack_max并发数、net.ipv4.tcp_fin_timeout。
- 示例步骤:编辑/etc/sysctl.conf,加入上述项并执行sysctl -p;确认conntrack阈值并监控/proc/net/nf_conntrack。
7.
边缘防护规则(iptables/nftables /nginx)
- iptables限速示例思路:对同一源IP限制每秒连接数与新连接速率(--limit/connlimit),对非必要端口直接DROP。
- nginx应用层:启用limit_conn、limit_req对相同URI或IP限速;配置缓存与gzip减少源站压力。示例:在http或server块中加入limit_req_zone $binary_remote_addr zone=req_zone:10m rate=10r/s。
8.
自动化清洗触发与流量转发流程
- 自动化流程:监控触发条件→调用API通知清洗服务或运营商→运营商通过BGP重定向流量到清洗中心或启用Flowspec。
- 验证步骤:在触发后实时观察流量路径(traceroute/ttcp/样本流量),确认清洗节点已接管并且清洗后送回净流量至你的IP。
9.
清洗策略细化(白名单/黑名单/行为识别)
- 白名单:对业务关键IP、API网关、合作方IP放通。
- 黑名单与速率限制:对高频请求来源进行逐步严格化限制,结合行为特征(UA、Referer、URI签名)设定拦截规则。记录并保存原始pcap/flow便于事后溯源。
10.
事后分析与恢复步奏
- 取样日志(pcap/NetFlow/HTTP access)并做关联分析,定位源IP/攻击向量与弱点。
- 恢复策略:逐步放宽清洗规则,观察是否回到正常流量。更新防护白名单、WAF规则与应用优化(缓存、队列、降级)。
11.
演练与测试(避免误判)
- 定期演练:在维护窗口内模拟低强度攻击(合规工具或第三方服务),验证监控、清洗触发、BGP流程与回源路径。
- 验证点:业务可用性、误拦率、清洗延迟、日志完整性。
12.
日志与取证保存策略
- 保存策略:将关键日志(防火墙、nginx、清洗服务的流量摘要)集中送至独立日志服务器或SIEM,保留至少30天(法律合规需求可延长)。
- 取证步骤:一旦发生攻击,立刻保留pcap、NetFlow和完整访问日志(避免覆盖),便于与上游/运营商共同溯源。
13.
维护清单与运行SOP
- 日常:检查BGP邻居、清洗商API可用性、流监控仪表盘与告警。
- 紧急SOP:出现DDoS → 触发告警→ 自动/人工触发清洗→ 跟进清洗效果→ 关闭清洗并回溯分析。将SOP写成一步步的责任分配表。
14.
注意事项与合规考量
- 合规:跨国清洗涉及流量转发,注意数据主权与隐私合规(尤其涉及中国大陆/香港)。
- 风险:避免过度黑洞导致业务不可达;定期评估误拦并调整规则。
15.
Q1:如何快速判断是否需要切换到清洗状态?
- 问:我如何在第一时间判断并决定把流量引至清洗中心?
答:建立基线并设置多维告警(流量总量、每秒新连接数、SYN占比、HTTP异常错误率)。当任一关键指标超过设定阈值(例如流量≥正常峰值×3或SYN/ACK异常占比大幅上升)且短时间内持续,则启动清洗。触发后按SOP通知带宽商并通过API或电话启动流量劫持。
16.
Q2:CN2高防能否完全防止应用层(HTTP)攻击?
- 问:使用CN2高防是否就不用担心应用层攻击如慢速攻击或复杂爬虫?
答:CN2高防对大流量网络层攻击效果显著,但应用层防护需要WAF、行为分析、验证码与速率限制结合。建议在清洗/骨干防护之外,部署WAF(规则签名+自适应行为识别)和CDN做前端缓存,从而在应用层建立多层防护。
17.
Q3:发生严重DDoS后如何与带宽商/清洗商配合溯源?
- 问:攻防结束后,我怎样获取有效日志与配合溯源?
答:立即保留并导出PCAP、NetFlow样本、IDS告警与清洗中心的流量摘要。与带宽商共享时间窗口内的BGP路由变化与流量路径,要求他们提供上游流量的原始样本或日志。签署必要的法律或隐私同意后,使用这些数据与司法/运营商协作做进一步溯源。
来源:安全性视角 香港cn2高防服务器DDoS防护与清洗机制解析