DDoS攻击的原理及对策
为什么难以跟踪?
Yahoo等网站被黑客利用DDoS技术攻击后,很难跟踪到攻击的来源。为什么?不是每个攻击的数据包都有IP地址显示出数据包的来源吗?
这是因为入侵者使用了一种叫"伪IP(IP spoofing)"的技术,的一个缺陷。让我来解释一下:
当计算机之间相互通信时,会将信息打成"包",每一个包中都包含源IP地址和目的IP地址。中传递的时候,首先会遇到最近的一个路由器。
的连接处,这种路由器叫边界路由器。(当然,在大公司中的情况可能复杂得多,会由多个局域网构成)。当数据包到达边界路由器后,
再由此路由器传递到上一级核心路由器上,这个路由器可能位于主干网上,连接着所有其它的核心路由器。数据包在路由器之间传递,直到目的地址为止。在每次传递时,
源IP目的地址通常被路由器忽略,仅仅是保留在数据包中不作处理,路由器只关心数据的目的地址,就好象邮递员只关心收件人地址一样。但因为这样,才产生了现在面临的问题。
所有的DDoS攻击,都使用伪IP。收到此数据包的第一个边界路由器能够很容易发现这个问题,因为它知道和它连接的网络地址,以便将进来的数据包分发给局域网内的机器,因此它也能发现从它这出去的数据包是不是用了非局域网内的地址。可是,大多数的边界路由器并不进行此项检查。而一旦装有伪IP的数据包通过了第一个路由器,那么以后,这个谎话永远也不会有人发现了。因此说,每一个边界路由器都对出去的数据包进行IP 地址的效验,防止IP Spoofing是解决DDoS问题最根本的方案。
让我们从被攻击对象的角度来看看吧,当你发现自己的服务器出现问题的时候,正有成千上万的数据包同时从世界各地的网点向你涌来,不久你会发现你的路由器崩溃了,接着会发现你的服务器已经不堪重负。你想看看到底出了什么事,捕获到其中的一个数据包,打开一看:上面除了把你的IP地址当作目的地址外,还有任意的一个IP地址作为源地址(这个地址也许根本就不存在)你都不知道这个数据包是从哪儿发给你的。用最底层的工具查看一下数据包硬件地址(MAC)吧,在数据包中只有上一级的路由器的硬件地址。
怎样发现自己被攻击
怎样确定自己的网站真的遭受到DDoS的攻击呢?通常来说,突然出现大量的数据包,服务器突然超负载运作,性能突然降低,这些都有可能是受攻击的征兆,但是也有可能是网站遇上了正常情况下的使用高峰。检查一下来往的数据包,如果都是正常的服务连接和应答,那么你的网站应该升级扩容,或是提高网络服务器的性能,增加新的设备。但如果出现以下几类情况,那么你就可以断定是遭到了DDoS的攻击。
1. 网站的数据流量突然超出平常的十几倍甚至上百倍,而且,同时到达网站的数据包分别来自大量不同的网站。
2. 大量到达的数据包(包括TCP包和UDP包)并不是网站服务连接的一部分,往往指向你机器任意的端口。比如:你的网站是Web服务器,而数据包却直奔你的FTP端口和其它任意的端口,那么你正在被攻击。
顺便提一句,有很多工具都可以用来分析数据包的结构,如TCPDUMP(数据包头分析工具)是我最常用的。
被攻击以后怎么办
如果发现自己的网站正遭受DDoS的攻击,那么应该立即采取以下措施:
首先是尽可能保护网站的服务器,主要是防火墙以外的服务器,因为它最容易遭到攻击。尽可能关闭不必要的服
DDoS攻击的原理及对策 来自淘豆网m.daumloan.com转载请标明出处.