文档介绍:DDoS攻击原理及防护方法论(1)从07年爱沙尼亚DDoS信息战,到今年广西南宁30个网吧遭受到DDoS***,再到新浪网遭受DDoS攻击无法提供对外服务500多分钟。DDoS愈演愈烈,攻击事件明显增多,攻击流量也明显增大,形势十分严峻,掌握数据表明,最高时达到了12G,这样流量,甚至连专业机房都无法抵挡。更为严峻是:利用DDoS攻击手段敲诈***已经形成了一条完整产业链!并且,攻击者实施成本极低,在网上可以随便搜索到一大堆攻击脚本、工具工具,对攻击者技术要求也越来越低。相反是,专业抗DDoS设备价格十分昂贵,而且对于攻击源追查难度极大,防护成本远远大于攻击成本。本文将对DDoS攻击原理做一个剖析,并提供一些解决方法。?DDoS是英文DistributedDenialof²Service缩写,意即"分布式拒绝服务",DDoS中文名叫分布式拒绝服务攻击,俗称***。首先,我们来了解一下相关定义。²服务:系统提供,用户在对其使用中会受益功能²拒绝服务:任何对服务干涉如果使其可用性降低或者失去可用性均称为拒绝服务。²拒绝服务攻击:是指攻击者通过某种手段,有意地造成计算机或网络不能正常运转从而不能向合法用户提供所需要服务或者使得服务质量降低分布式拒绝服务攻击:处于不同位置多个攻击者同时向一个或者数个目标发起攻击,或者一个或多个攻击者控制了位于不同位置多台机器并利用这些机器对受害者同时实施攻击,由于攻击发出点是分布在不同地方,这类攻击称为分布式拒绝服务攻击。您所在位置:首页>网络安全>专家专栏>DDoS攻击原理及防护方法论(2)http://netsecurity. 2009-03-1613:43 戴鹏飞 51CTO 我要评论(0)摘要:本文将对DDoS攻击原理做一个剖析,并提供一些解决方法。标签:DDoS攻击  原理  ,就要首先了解一下数据包结构,才能知根知底,追本溯源。首先来回顾一下数据包结构。²一个TCP报头标识(codebits)字段包含6个标志位:²SYN:标志位用来建立连接,让连接双方同步序列号。如果SYN=1而ACK=0,则表示该数据包为连接请求,如果SYN=1而ACK=1则表示接受连接²FIN:表示发送端已经没有数据要求传输了,希望释放连接。²RST:用来复位一个连接。RST标志置位数据包称为复位包。一般情况下,如果TCP收到一个分段明显不是属于该主机上任何一个连接,则向远端发送一个复位包。²URG:为紧急数据标志。如果它为1,表示本数据包中包含紧急数据。此时紧急数据指针有效。²ACK:为确认标志位。如果为1,表示包中确认号时有效。否则,包中确认号无效。PSH:如果置位,接收端应尽快把数据传送给应用层,不必等缓冲区满再发送。-Flood攻击是当前网络上最为常见DDoS攻击,也是最为经典拒绝服务攻击,它利用了TCP协议实现上一个缺陷,通过向网络服务所在端口发送大量伪造源地址攻击报文,就可能造成目标服务器中半开连接队列被占满,从而阻止其他合法用户进行访问。这种攻击早在1996年就被发现,但至今仍然显示出强大生命力。很多操作系统,甚至防火墙、路由器都无法有效地防御这种攻击,而且由于它可以方便地伪造源地址,追查起来非常困难。它数据包特征通常是,源发送了大量SYN包,并且缺少三次握手最后一步握手ACK回复。,攻击者首先伪造地址对服务器发起SYN请求(我可以建立连接吗?),服务器就会回应一个ACK+SYN(可以+请确认)。而真实IP会认为,我没有发送请求,不作回应。服务器没有收到回应,会重试3-5次并且等待一个SYNTime(一般30秒-2分钟)后,丢弃这个连接。如果攻击者大量发送这种伪造源地址SYN请求,服务器端将会消耗非常多资源来处理这种半连接,保存遍历会消耗非常多CPU时间与内存,何况还要不断对这个列表中IP进行SYN+ACK重试。最后结果是服务器无暇理睬正常连接请求—拒绝服务。stat–an命令查看SYN_RECV状态话,就可以看到:图如果我们抓包来看:图可以看到大量SYN包没有ACK回应。²目前市面上有些防火墙具有SYN²Proxy功能,这种方法一般是定每秒通过指定对象(目标地址与端口、仅目标地址或仅源地址)SYN片段数阀值,当来自相同源地址或发往相同目标地址SYN片段数达到这些阀值之一时,防火墙就开始截取连接请求与代理回复SYN/ACK片段,并将不完全连接请求存储到连接队列中直到连接完成或请求超时。当防火墙中代理连接队列被填满时,