中国电信股份有限江苏分公司 云计算运营中心 丁 晋 朱 旗 李网灿
基于流量属性实现分布式拒绝服务流量清洗
中国电信股份有限江苏分公司 云计算运营中心 丁 晋 朱 旗 李网灿
介绍了一种基于BGP(边界网关协议)流量属性提供四层DDoS(分布式拒绝服务)攻击流量清洗的方案,经现网验证,不需要增加硬件平台投资,能以较低成本、灵活地为客户提供四层DDoS攻击防护,从而提升客户满意度。
边界网关协议; 流量属性; 分布式拒绝服务攻击; 清洗
DDoS(分布式拒绝服务)攻击是对网络安全的一个重大威胁,DDoS攻击者通过控制成千上万的攻击设备对同一个网络目标同时发起流量攻击。如果有大量的流量流向这个地址或服务器,可能会导致该目的地址的上游接入设备或受攻击服务器被异常流量拥塞,导致网络拥塞或服务器CPU(中央处理器)占用过高无法提供服务。因此这种攻击对网络影响很大。
基于BGP(边界网关协议)流量属性(flow specification,以下简写为flow spec)flow spec功能可以解决这个问题,当需要对DDoS攻击清洗时,网络流量分析设备针对攻击流量的特点制定流量策略,然后以路由的形式向BGP flow spec邻居分发流量控制动作策略。邻居收到BGP flow spec路由后,会转换为转发平面的流量控制策略,达到控制攻击流量的目的。
BGP flow spec的流量控制策略可以对攻击流量有多种选择动作: 可以将攻击流量全部丢弃,或者进行流量限速。从而实现在最接近攻击源的设备上实现对攻击流量的过滤和控制,这样能够最大程度地减少攻击流量对网络转发性能的影响。
BGP flow spec能提供丰富的过滤条件和处理动作,可以更有针对性地实现对流量的控制。BGP flow spec可以基于如下过滤条件对流量进行过滤:
· 目的地址和源地址;
· IP(网际协议)号;
· 端口号,包括目的端口号和源端口号;
· ICMP(互联网控制报文协议)类型和编码;
· TCP(传输控制协议)的标志位;
· DSCP(差分服务代码点)的高7位值;
· 分片类型。
如果攻击流量匹配到了预设规则,则执行如下处理动作:
· 丢弃流量;
· 流量限速;
· 修改报文的DSCP值。
江苏电信于2013年在省骨干网部属了DDoS清洗平台,为客户提供DDoS七层清洗服务。但七层流量清洗服务存在一些局限性:
1) 需要投资建设专门的七层清洗硬件设备,为客户提供清洗服务的成本较高,客户不易接受较高的资费;
2) 无法在靠近攻击源的上游将攻击流量进行丢弃,攻击流量穿越骨干网,消耗大量骨干网络带宽资源。
鉴于目前DDoS攻击呈现大流量、四层攻击为主的特征,并且越来越多用户对DDoS流量清洗服务提出了更高的要求,希望以较低的成本实现针对大流量攻击的四层清洗服务。为了满足上述客户需求,更好地发展云数据中心安全防护业务,江苏电信于2014年起基于BGP flow spec面向云数据中心客户试点推出四层清洗服务。
基于BGP flow spec实现云计算数据中心四层清洗的基本原理是在网络内在流量分析服务器和网络入口设备之间配置BGP flow spec对等体。当需要防御DDoS攻击时,通过BGP flow spec针对攻击流量的特点在流量分析服务器上制定流量策略,然后以路由的形式向网络入口设备分发流量策略。网络入口设备收到BGP flow spec路由后,会将优选的BGP flow spec路由转换为转发平面的流量控制策略(包括将攻击流量全部丢弃,或者进行流量限速),以此来限制发起DDoS攻击源的流量,达到DDoS攻击流量清洗的目的。基于BGP flow spec的四层DDoS流量清洗流程如下。
3.1 DDoS攻击发现
网络中有大量傀儡机器对某一目标主机10.0.1.1/24发起攻击(图1中红色线条代表攻击流,proto协议号为17,port端口号为10000)。
图1 DDOS攻击发现
3.2 生成flow spec 匹配攻击流量特征
当流量分析服务器检测到攻击后,会触发一条策略控制路由,包含攻击流的一些特征,比如:源地址、目的地址、协议、端口等等。(图2中绿色箭头代表策略控制路由,proto协议号为17,port端口号为10000)。
图2 生成flow spec匹配攻击流量特征
3.3 传播flow spec 属性及动作
策略控制路由通过BGP,传播到其他开启了BGP功能的路由器中,网络入口设备收到此路由,把它加入到路由表中(图3中绿色箭头代表策略控制路由传播方向,proto协议号为17,port端口号为10000)。
图3 传播flow spec属性及动作
3.4 根据flow spec动态产生本地策略
当网络入口设备收到策略控制路由后,根据其中携带的属性以及动作,产生一条控制策略来过滤或者限速攻击流量,丢弃了攻击流量(图4中最上一条红色的攻击流消失,proto协议号为17,port端口号为10000)。
图4 根据flow spec动态产生本地策略
3.5 DDoS流量清洗生效
最后网络入口设备会根据策略控制路由,完全阻止过滤DDoS攻击流。可见,在网络入口设备部署flow spec技术,可以极大地保护核心链路的带宽,在源头有效抑制攻击流量,而不像其他流量清洗技术,只能在目的端被动防御(图5中proto协议号为17,port端口号为10000)。
图5 DDOS流量清洗生效
江苏电信在全网基于BGP flow spec技术部属了四层流量清洗能力,通过省集中部属流量分析服务器,实时分析网络中DDoS攻击流量,并生成流量控制策略,基于BGP flow spec向各地市网络入口设备传递,在网络入口设备上实施DDoS流量清
洗,具体情况如下。
4.1 四层流量清洗网络规划
以江苏某地市为例,见图6,四层清洗组网主要由全网流量分析服务器、网络入口设备—1、网络入口设备—2构成。两台网络入口设备均和全网流量分析服务器构建BGP邻居,用于传递BGP flow spec流量清洗策略。
图6 四层流量清洗网络规划(以某地市为例)
以某次现网DDoS清洗真实案例为例,外省攻击源×××.92.11.72向位于该地市专网中的攻击目标×××.186.29.98发起DDoS攻击,通过全网流量分析服务器生成并下发策略,在两台网络入口设备上对DDoS攻击流量进行阻断,从而实现对被攻击目标的安全防护。
4.2 业务测试部署情况
1) 在全网流量分析服务器,配置BGP flow spec属性; 全网流量分析服务器与两台网络入口设备分别建立BGP邻居。
2) 全网流量分析服务器根据攻击流量特征,生成flow spec策略,并通过BGP送给两台网络入口设备,在两台网络入口设备上生成限速策略; 将源地址是×××.92.11.72,目的地址是×××.186.29.98并且协议号为17〔UDP(用户数据报协议)〕的数据包限速为3 Mb/s。
3) BGP flow spec的清洗策略生效:PPS(每秒包数)表示每秒转发多少数据包。是路由设备性能的常用指标。
四层清洗实施之前,图7中红色标注的是网络入口设备端口收到和转发的包的数量和速率,速率为740 342 p/s (740 342 p/s×(468 B+20 B)×8 bit)≈2.9 Gb/s。
图7 网络入口设备上清洗策略生效前流量情况
四层清洗实施之后,图8中红色标注的是网络入口设备端口收到和转发的包的数量和速率,速率为772 p/s (772 p/s×(468 B+20 B)×8 bit)≈3 Mb/s,明显比清洗前小了很多,说明针对特定协议加端口的限速策略是生效的。
图8 网络入口设备上清洗策略生效后流量情况
从流量监控图来看,大概3 Gb/s左右的攻击流量如图9中红色部分被清洗丢弃掉,而其他绿色部分正常流量被保留。
图9 流量监控图
从攻击源统计来看,此次攻击主要是UDP攻击,攻击流量被有效清洗。
4.3 业务开展情况
江苏电信配合某游戏运营商对新游戏上线期间给予了重点保障,有效帮助客户应对了上线遭遇的DDoS攻击,清洗的最大攻击流量达到50 Gb/s以上,保障了用户能流畅、稳定地进行游戏体验,实现了基于各种协议的特定包大小过滤和包大小范围过滤清洗,无需增加投资,以较低的成本帮助游戏、电商等互联网公司轻松应对DDoS攻击。
此方法已在江苏电信云计算数据中心网络中规模部署,经评估能有效满足电商类、游戏类客户在应对大规模DDoS攻击时业务连续性、可靠性的需求,有效改善了客户体验,并且在网络侧能实现自动化、动态部署,有效提升了云计算数据中心网络运营效率。