DDoS攻击的终结者——率先评测思科防DDoS攻击系统

特别策划

DDoS(分布式拒绝服务)攻击是利用TCP/IP协议漏洞进行的一种简单而致命的网络攻击,由于TCP/IP协议的这种会话机制漏洞无法修改,因此缺少直接有效的防御手段。大量实例证明利用传统设备被动防御基本是徒劳的,而且现有防火墙设备还会因为有限的处理能力陷入瘫痪,成为网络运行瓶颈。另外,攻击过程中目标主机也必然陷入瘫痪。

国内已经有越来越多的网站(Discuz、IM286等)中招落马,因此本报评测员,协同本地xx电信运营商在重庆市建立的互联网交换中心(IXC),对思科Riverhead防DDoS攻击系统进行了测试(目前该系统在国内仅有两套测试设备)。为你提供专业的解决方案。

一、背景资料

本次测试采用的思科防DDoS攻击解决方案是思科收购和整合名为Riverhead公司的产品,在对付DDoS方面做出了非常重要的创新,提出了“导向”概念和防御DDoS攻击两条最关键防线:反欺骗防线和统计分析防线。

该系统由智能化DDoS防护系统侦测器Detector和防护器Guard两部分构成。在国外电信运营商、门户网站、在线游戏公司及在线支付公司应用比较广泛,其最终用户包括全球5大应用软件生产商、媒体公司和金融企业等,AT&T、Sprint、Rackspace、Datapipe等ISP均是其客户。

本次测试,我们将以xx电信运营商现有的网络结构及环境为例。由于××电信运营商的客户对网络的安全性、可靠性等指标要求不断提升,而且网络的应用类型也多种多样,因此,如何对现有的网络方案进行优化和完善,提高互联网数据中心(IDC)对目前流行的DDoS攻击的防御能力,就成为IDC需要着重考虑的课题,IDC拓扑结构如图1。

4-f6-1.jpg
图1

二、方案原理

针对上述的需求,作为在网络安全方面全球最大、最强的公司,思科系统推荐采用基于Guard和Detector的DDoS防御方案,示意图如图2。

4-f6-2.jpg
图2

1.开始的时候Guard不对被保护对象进行保护,没有任何数据流流经Guard,此时Guard为离线设备。Detector收到交换机通过端口镜像过来的通往保护对象的数据流后,通过算法分析和策略匹配,发现了被保护对象正受到攻击。

2.Detector建立起到Guard的SSH连接,通知Guard对被保护对象进行保护。

3.Guard通过BGP路由更新告知与它相连的BGP对等体,路由器将目的地未被保护对象的数据流发往Guard。目的地不是被保护对象的数据流则正常流动,不受影响(图3)。

4-f6-3.jpg
图3

4.通过策略匹配和算法分析,识别正在进行的攻击类型,并对数据流进行处理(识别伪造源地址、过滤非法数据包、速率限制等),在此阶段,攻击数据被清除。

5.被过滤过的数据流被再次发回与它相连的BGP对等体(或者是该对等体下游的其它三层设备),因此,合法的数据流连接仍然正常工作。

三、 测试环境及方法

利用现有的网络环境,包括图1中的GSR、OSR、6509、4507R和2950,在本次测试中,Guard和Detector只与图1的一台6509和4507R相连,在GSR上做了少量路由的改动,保证来往于被保护对象的数据流总是从我们指定的6509经过,避免由于2台6509的Load Balance造成测试误差。

由于Guard和Detector上均有2个GE接口,因此,我们可以配置Guard和Detector同时与两台6509相连(此时Guard不采用串联在4507R和6509之间的方式,而是单臂连接到6509上,进入到Guard的数据流从同一个接口返回),这样,对整个IDC的保护将更加完整(图4)。

4-f6-4.jpg
图4

客户端测试手段:FTP客户端软件(leapftp)、Ping;

服务器端测试手段: FTP服务器端软件(3CServer)、Ping、Windows任务管理器;

攻击工具:DDoS攻击工具箱(基于Linux)。

1. 发起网络攻击时

1)Client端:丢包率为0,时延<10ms,表现正常。下载速率>=2Mbps,工作正常。

2)Server端:CPU使用率约等于0%,网卡带宽利用率约等于0%。

2. 攻击开始,未进行保护

1)Client端:所有的Ping均time out,说明网络严重拥塞。FTP客户端无法与服务器建立连接,原因在于服务器资源耗尽(CPU和内存)。

2) Server端:Ping时延巨大(2509ms,相对于正常的<10ms,大部分Ping被time out,显示网络严重拥塞,以及自身资源耗尽,如图5中显示no resource)。CPU利用率非常高,达到96%,甚至100%,网卡带宽利用率高(50%以上,相对于正常的约0%),如图6所示。

4-f6-9.jpg
图5
4-f6-10.jpg
图6

3. 攻击进行中,进行保护

1)Guard:在图7中可以看到定义为Server的Zone(221.5.248.37)处于被保护状态,从图表可以看到目标为Server的数据流为50Mbps,非法的数据流约为50Mbps,并且都已经被过滤。相应的效果可以从Server和Client看到。

4-f6-11.jpg
图7

通过从Client发起到Server的Trace,我们可以在图8中看到,数据流确实流经Guard(10.0.2.1)。

4-f6-12.jpg
图8

2)Detector:从图9中可以看到,定义为Server的Zone被检测到处于被攻击状态。并发起到Guard的SSH连接,激活Guard对于Server Zone的保护动作。

4-f6-13.jpg
图9

3)Client端:Ping工作正常,时延很低,丢包率为0。FTP下载工作正常,与Server正常建立连接,下载的速率在2Mbps左右。

4)Server端:Ping工作正常,时延低,丢包率为0。CPU利用率维持在一个比较低的水平(32%,此处不是0,是由于进行FTP下载),网卡带宽较低(相对于未被保护的50%)。

本次测试中采用了DDoS攻击工具箱的多种其它攻击方式分别进行测试(包括Spoofed/Non-Spoofed的TCP、UDP、ICMP组合攻击,总共有14攻击方式,基本包含了目前已有的所有DDoS攻击方式),测试的现象与结果与上述基本相同,不再一一描述。

四、测试结论

由思科的Guard和Detector组成的DDoS攻击防御方案可以非常有效地减轻或消除目前流行的各种DDoS网络攻击,提高IXC的安全性和可靠性。

本次测试没有开启Guard和Detector的学习功能来进行精确的流量模型建立和策略设定,而是采用了系统缺省自带的策略参数,已经取得了很好的防御效果,如果时间允许利用两天时间专门用于流量模型建立和策略参数设定,效果将会更好。

通过对信息流进行比较,找出正常流量模式、行为与协议执行情况,发现并阻止恶意流量而不影响合法的交互过程。防护器作为一个资源共享的设备,它可以根据需要动态地对网络中的网络设备资源和服务器进行保护,谁被攻击,就去保护谁,既可保护客户的服务器,又可保护客户的连接带宽。

资料:DDoS攻击常用防御手段

DDoS攻击源通常具有源地址伪装、跨运营商网络和分布式的特性,因此到目前为止对DDoS攻击还缺少直接有效的防御手段。引用一位资深安全专家的形象比喻:DDoS就好像有1000个人同时给你家里打电话,这时候你的朋友还打得进来吗?

当然,随着DDoS攻击越来越流行,互联网工作者们也逐渐总结了一些防御手段。虽然这些手段远不足以从根本上杜绝DDoS攻击,但对于一般性的DDoS还是有一定的抑制作用。

首先,几乎所有的主机平台都有抵御DDoS的设置,如关闭不必要的服务、限制同时打开的SYN半连接数目、缩短SYN半连接的time out 时间、及时更新系统补丁等,另外,许多防火墙软件对DDoS攻击也有一定防护作用。

除此之外,还需要特别注意自己管理范围内的主机不要成为傀儡机,尤其是一些提供主机托管服务的ISP/ICP。这些托管主机的安全性普遍较差,甚至连基本的补丁都没打就赤膊上阵了,成为黑客最喜欢的“肉鸡”;还不必说托管的主机都是高性能、高带宽的——简直就是为DDoS定制的。

对于网络设备,可以从防火墙与路由器上对DDoS攻击进行抑制,但需要注意这往往是以牺牲网络设备效率为代价的。由于在DDoS攻击时或者流量极大,或者会话数极多,在攻击发生时这些设备通常反而成为网络瓶颈,甚至先于被攻击主机陷入瘫痪,造成更大的危害,因此需要慎重使用。

防火墙上一般措施有:禁止对主机的非开放服务的访问,限制同时打开的SYN最大连接数,限制特定IP地址的访问,启用防火墙的防DDoS的属性,严格限制对外开放的服务器的向外访问同时防止自己的服务器被当作傀儡机去害人。

而路由器,尤其是思科路由器,一般推荐如下方法:

1.使用ip verfy unicast reverse-path 网络接口命令检查所有经过路由器的数据包。在路由器的CEF(Cisco Express Forwarding)表该数据包所到达网络接口的所有路由项中,如果没有该数据包源IP地址的路由,路由器将丢弃该数据包。单一地址反向传输路径转发(Unicast Reverse Path Forwarding)在ISP(局端)实现阻止SMURF攻击和其它基于IP地址伪装的攻击。这能够保护网络和客户免受来自互联网其它地方的侵扰。

2.使用访问控制列表(ACL)过滤RFC 1918中定义的所有私网地址,同时过滤进出报文,即ISP端边界路由器应该只接受源地址属于客户端网络的通信,而客户端网络则应该只发送源地址属于客户端网络的通信。另外,如果打开了CEF功能,通过使用单一地址反向路径转发(Unicast RPF),能够充分地缩短访问控制列表(ACL)的长度以提高路由器性能。

3.使用CAR(Control Access Rate)限制ICMP数据包流量速率或禁止ICMP应用。

举例:interface {interface name}rate-limit output access-group 2020 3000000 512000 786000 conform-action transmit exceed-action dropaccess-list 2020 permit icmp any any echo-reply

4.使用CAR控制SYN数据包流量速率。

举例:interface {interface name}

rate-limit output access-group 153 45000000 100000 100000 conform-action transmit exceed-action droprate-limit output access-group 152 1000000 100000 100000 conform-action transmit exceed-action dropaccess-list 152 permit tcp any host eq wwwaccess-list 153 permit tcp any host eq www established

另外,建议考虑在可能成为SYN攻击的主机上安装IP Filter等IP过滤工具包。

但是上述方法在真正面对大量DDoS攻击时往往没有多少效果,反而因为更多的消耗资源加剧攻击损害。对此一般防御方法只有停止被攻击目标的网络服务,然后利用黑洞路由和访问控制列表逐级匹配的方法追踪攻击源,往往耗时较长并需要多运营商配合,很难实现。另外,此类攻击过程中被攻击主机也由于主动或被迫停止网络服务,而陷入瘫痪。