SYN-Flood攻击以及防御原理
SYN-Flood攻击是当前网络上最为常见的DDoS攻击,也是最为经典的拒绝服务攻击,它利用了TCP协议实现上的一个缺陷,通过向网络服务所在端口发送大量的伪造源地址的攻击报文,就可能造成目标服务器中的半开连接队列被占满,从而阻止其他合法用户进行访问。这种攻击早在1996年就被发现,但至今仍然显示出强大的生命力。很多操作系统,甚至防火墙、路由器都无法有效地防御这种攻击,而且由于它可以方便地伪造源地址,追查起来非常困难。
DDoS攻击是大流量攻击,虽然SYN-Flood攻击属于DDoS攻击,但是它要表现的更加具体一点。这里举个浅显的例子,就拿前段时间火爆武汉的“茶颜悦色”奶茶店,营业当天的排队场面,现在还历历在目,但这其中就出现了一个问题,有黄牛花钱雇人在那里站队,100个人的排队队伍里可能就有50个人是被雇佣的,真正的路人想买杯奶茶就变得更难了。
这就相当于黄牛伪造了真实的客人,将本该有的真实客人的位置占据了,阻止了真正想买奶茶的客人,而如果你想喝奶茶,还得花高出奶茶上十倍的价格去黄牛手上买,那就非常的不划算了。
其实要做好Syn_flood防御很简单:
1、reset认证
Reset认证利用的是TCP协议的可靠性,也是首先由DDOS防护系统来响应syn。防护设备收到syn后响应syn_ack,将Acknowledgement number (确认号)设为特定值(记为cookie)。当真实客户端收到这个报文时,发现确认号不正确,将发送reset报文,并且sequence number 为cookie + 1。而伪造的源,将不会有任何回应。这样我们就可以将真实的客户端IP加入白名单。
2、cookie源认证
原理是syn报文首先由DDOS防护系统来响应syn_ack。带上特定的sequence number (记为cookie)。真实的客户端会返回一个ack 并且Acknowledgment number 为cookie+1。 而伪造的客户端,将不会作出响应。这样我们就可以知道那些IP对应的客户端是真实的,将真实客户端IP加入白名单。下次访问直接通过,而其他伪造的syn报文就被拦截。
上一篇: SSL建立连接的过程
下一篇: 一分钟带你了解UDP与TCP区别