DDoS攻击是网络安全里最头疼的攻击方式之一。攻击者控制大量肉鸡向目标服务器发送海量流量,把带宽和服务器资源耗尽,正常用户上不去。传统的防火墙和IPS对此效果有限,因为流量太大根本处理不过来。今天说说H3C的抗DDoS方案怎么做的。
DDoS攻击的类型
常见的DDoS攻击分几类。
网络层攻击:SYN Flood是最典型的,攻击者大量发TCP SYN包但不对 SYN-ACK 响应,服务器半连接队列耗尽。UDP Flood大量发UDP包塞满带宽。ICMP Flood大量发Ping包。
应用层攻击:CC攻击是最典型的,攻击者模拟正常HTTP请求访问网站,每个请求看起来都正常但量大,服务器处理不过来。这种攻击最难防因为请求内容和正常用户一模一样。
反射放大攻击:利用UDP协议不需要握手的特性,用伪造源IP(目标的IP)向开放服务器(如DNS、NTP)发请求,服务器把响应大量发到目标。放大倍数可达几十甚至上百倍。
H3C抗DDoS方案架构
H3C的抗DDoS方案不是一台设备能搞定的,而是一个清洗系统。核心组件有三个:
检测设备:旁路部署,通过镜像流量分析是否存在DDoS攻击。检测设备维护流量基线,正常情况下每秒多少流量是已知的,流量突然暴增超出基线就触发告警。
清洗设备:串联或引流部署,当检测设备发现攻击后,清洗设备开始把受攻击的流量引流过来做清洗,把攻击包丢掉只放行正常流量。
管理平台:统一管理检测和清洗设备,展示攻击态势,配置防护策略,生成报表。
工作流程
平时检测设备处于监控状态,分析镜像流量的特征。当流量基线异常时(比如某个IP的入流量突然从100Mbps涨到5Gbps),检测设备判定为可能的DDoS攻击,触发防护策略。
触发后通过BGP或策略路由把目标IP的流量引到清洗设备。清洗设备对流量做逐包检测,区分攻击和正常流量。SYN Flood用 SYN Cookie 或源认证方式过滤,UDP Flood用限速或源认证,CC攻击用频率统计和挑战应答。
清洗后的正常流量送回原网络路径。整个引流清洗过程对正常用户尽量透明,只是可能有一点延迟增加。
BGP引流和黑洞
大规模DDoS攻击流量可能几个G到几十个G甚至更大,清洗设备也扛不住。这时候需要和运营商联动。
运营商可以在上游路由器对被攻击IP做黑洞路由,直接把去往该IP的所有流量丢弃。这虽然让被攻击的服务器完全不可达,但保护了网络中其他用户。攻击停了再撤销黑洞。
更精细的做法是BGP社区属性引流。被攻击方的清洗设备通过BGP向运营商宣告被攻击IP的路由,运营商把该IP的流量送到清洗设备清洗后回注。这种方式只引被攻击IP的流量,不影响其他IP。
H3C的抗DDoS设备支持和BGP联动,自动在检测到攻击时向运营商宣告引流路由。
部署方式
抗DDoS系统有两种典型部署。
运营商级部署:在城域网出口或骨干网节点部署大容量检测和清洗设备,防护运营商自身的网络和客户。H3C有专用的Anti-DDoS设备系列,处理能力可达几十到上百G。
企业级部署:在企业出口部署中小型清洗设备。如果攻击流量超过清洗设备处理能力,联动运营商做上游引流。
策略调优
抗DDoS系统的难点不在配置命令,而在策略调优。

基线要准。如果正常流量基线设低了,正常流量高峰可能被误判为攻击。设高了小规模攻击检测不到。需要一段时间的观察学习来建立合理基线。
源认证的阈值要合适。SYN Cookie要求客户端回应一个计算后的值才放行,正常用户能回应但可能增加延迟。如果阈值太严,正常用户体验差。
误报处理。清洗设备可能把正常流量误判为攻击包丢弃。查看清洗日志,分析被丢弃报文的特征,调整检测策略。
H3CNE-Security的GB0-510考试大纲中DDoS相关内容在TCP/IP协议安全模块,包含各种攻击的原理和表现方式。H3CIE-Security的课程中也有安全方案规划模块涉及数据中心和运营商的抗DDoS部署。抗DDoS是安全运营中的高阶技能,需要理解攻击原理和清洗机制。润天教育作为H3C钻石级授权培训中心,安全高级课程中有抗DDoS方案的讲解,千万级真机实验室可以模拟攻击场景做清洗策略实验。