SYN-Flood攻击是当前网络上最为常见的DDoS攻击,也是最为经典的拒绝服务攻击。
它就是利用了TCP协议实现上的一个缺陷,通过向网络服务所在port发送大量的伪造源地址的攻击报文,就可能造成目标server中的半开连接队列被占满,从而阻止其它合法用户进行訪问。
这样的攻击早在1996年就被发现,但至今仍然显示 出强大的生命力。非常多操作系统,甚至防火墙、路由器都无法有效地防御这样的攻击。并且因为它能够方便地伪造源地址。追查起来非常困难。它的数据包特征通常是源发送了大量的SYN包,而且缺少三次握手的最后一步握手ACK回复。
原理:攻击者首先伪造地址对 server发起SYN请求。server回应(SYN+ACK)包,而真实的IP会觉得,我没有发送请求,不作回应。服务器没有收到回应,这种话,server不知 道(SYN+ACK)是否发送成功,默认情况下会重试5次(tcp_syn_retries)。对于server的内存、带宽都有非常大的消耗。
攻击者假设处于公网(这句话不是很理解,日后需要仔细研究),能够伪造IP的话,对于server就非常难依据IP来推断攻击者,给防护带来非常大的困难。
防范
- 无效连接监视、释放
这种方法不停的监视系统中半开连接和不活动连接,当达到一定阈值时拆除这些连接,释放系统资源。
这种绝对公平的方法往往也会将正常的连接的请求也会被释放掉,”伤敌一千,自损八百“
延缓TCB分配方法
使用SYN 2Proxy防火墙