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。
图1
二、方案原理
针对上述的需求,作为在网络安全方面全球最大、最强的公司,思科系统推荐采用基于Guard和Detector的DDoS防御方案,示意图如图2。
图2
1.开始的时候Guard不对被保护对象进行保护,没有任何数据流流经Guard,此时Guard为离线设备。Detector收到交换机通过端口镜像过来的通往保护对象的数据流后,通过算法分析和策略匹配,发现了被保护对象正受到攻击。
2.Detector建立起到Guard的SSH连接,通知Guard对被保护对象进行保护。
3.Guard通过BGP路由更新告知与它相连的BGP对等体,路由器将目的地未被保护对象的数据流发往Guard。目的地不是被保护对象的数据流则正常流动,不受影响(图3)。
图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
客户端测试手段: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所示。
图5
图6
3. 攻击进行中,进行保护
1)Guard:在图7中可以看到定义为Server的Zone(221.5.248.37)处于被保护状态,从图表可以看到目标为Server的数据流为50Mbps,非法的数据流约为50Mbps,并且都已经被过滤。相应的效果可以从Server和Client看到。
图7
通过从Client发起到Server的Trace,我们可以在图8中看到,数据流确实流经Guard(10.0.2.1)。
图8
2)Detector:从图9中可以看到,定义为Server的Zone被检测到处于被攻击状态。并发起到Guard的SSH连接,激活Guard对于Server Zone的保护动作。
图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的学习功能来进行精确的流量模型建立和策略设定,而是采用了系统缺省自带的策略参数,已经取得了很好的防御效果,如果时间允许利用两天时间专门用于流量模型建立和策略参数设定,效果将会更好。
通过对信息流进行比较,找出正常流量模式、行为与协议执行情况,发现并阻止恶意流量而不影响合法的交互过程。防护器作为一个资源共享的设备,它可以根据需要动态地对网络中的网络设备资源和服务器进行保护,谁被攻击,就去保护谁,既可保护客户的服务器,又可保护客户的连接带宽。