网站运营
位置:首页>> 网站运营>> DDoS前世今生 攻击原理与防御方法解析(3)

DDoS前世今生 攻击原理与防御方法解析(3)

 来源:asp之家 发布时间:2009-12-08 12:50:00 

标签:DDoS攻击,DRDoS,DoS攻击


解释:

SYN:(Synchronize sequence numbers)用来建立连接,在连接请求中,SYN=1,ACK=0,连接响应时,SYN=1,ACK=1。即,SYN和ACK来区分 Connection Request和Connection Accepted。

RST:(Reset the connection)用于复位因某种原因引起出现的错误连接,也用来拒绝非法数据和请求。如果接收到RST位时候,通常发生了某些错误。

ACK:(Acknowledgment field significant)置1时表示确认号(Acknowledgment Number)为合法,为0的时候表示数据段不包含确认信息,确认号被忽略。TCP三次握手:

图-04 TCP三次握手

假设我们要准备建立连接,服务器正处于正常的接听状态。

第一步:我们也就是客户端发送一个带SYN位的请求,向服务器表示需要连接,假设请求包的序列号为10,那么则为:SYN=10,ACK=0,然后等待服务器 的回应。

第二步:服务器接收到这样的请求包后,查看是否在接听的是指定的端口,如果不是就发送RST=1回应,拒绝建立连接。如果接收请求包,那么服务器 发送确认回应,SYN为服务器的一个内码,假设为100,ACK位则是客户端的请求序号加1,本例中发送的数据是:SYN=100,ACK=11,用这样的数据回应给我们。

向我们表示,服务器连接已经准备好了,等待我们的确认。这时我们接收到回应后,分析得到的信息,准备发送确认连接信号到服务器。

第三步:我们发送确认建立连接的信息给服务器。确认信息的SYN位是服务器发送的ACK位,ACK位是服务器发送的SYN位加1。即:SYN=11,ACK=101。这样我们的连接就建立起来了。

DDoS究竟如何攻击?目前最流行也是最好用的攻击方法就是使用SYN-Flood进行攻击,SYN-Flood也就是SYN洪水攻击。SYN- Flood不会完成TCP三次握手的第三步,也就是不发送确认连接的信息给服务器。

这样,服务器无法完成第三次握手,但服务器不会立即放弃,服务器会不停的重试并等待一定的时间后放弃这个未完成的连接,这段时间叫做SYN timeout,这段时间大约30秒-2分钟左右。

若是一个用户在连接时出现问题导致服务器的一个线程等待1分钟 并不是什么大不了的问题,但是若有人用特殊的软件大量模拟这种情况,那后果就可想而知了。

一个服务器若是处理这些大量的半连接信息而消耗大量的 系统资源和网络带宽,这样服务器就不会再有空余去处理普通用户的正常请求(因为客户的正常请求比率很小)。这样这个服务器就无法工作了,这种攻击 就叫做:SYN-Flood攻击。

到目前为止,进行DDoS攻击的防御还是比较困难的。首先,这种攻击的特点是它利用了TCP/IP协议的漏洞,除非你不用TCP/IP,才有可能完全抵御住 DDoS攻击。不过这不等于我们就没有办法阻挡DDoS攻击,我们可以尽力来减少DDoS的攻击。下面就是一些防御方法:

1。确保服务器的系统文件是最新的版本,并及时更新系统补丁。

2。关闭不必要的服务。

3。限制同时打开的SYN半连接数目。

4。缩短SYN半连接的time out 时间。

5。正确设置防火墙

禁止对主机的非开放服务的访问,限制特定IP地址的访问,启用防火墙的防DDoS的属性,严格限制对外开放的服务器的向外访问,运行端口映射程序祸端口扫描程序,要认真检查特权端口和非特权端口。

6。认真检查网络设备和主机/服务器系统的日志。只要日志出现漏洞或是时间变更,那这台机器就可能遭到了攻击。

7。限制在防火墙外与网络文件共享。这样会给黑客截取系统文件的机会,主机的信息暴露给黑客,无疑是给了对方入侵的机会。

8。路由器,以Cisco路由器为例,Cisco Express Forwarding(CEF),使用unicast reverse-path ,访问控制列表(ACL)过滤,设置SYN数据包流量速率,升级版本过低的ISO ,为路由器建立log server ,能够了解DDoS攻击的原理,对我们防御的措施在加以改进,我们就可以挡住一部分的DDoS攻击,知己知彼,百战不殆嘛。


0
投稿

猜你喜欢

手机版 网站运营 asp之家 www.aspxhome.com