专栏名称: 中科院物理所
物理所科研动态和综合新闻;物理学前沿和科学传播。
目录
相关文章推荐
51好读  ›  专栏  ›  中科院物理所

网页无法加载?原来是服务器被洪水冲垮了

中科院物理所  · 公众号  · 物理  · 2025-05-15 10:30

正文

请到「今天看啥」查看全文



要了解Syn Flood的攻击手段,首先我们先来回顾一下TCP三次握手的过程是什么样的:



第一次握手:客户端向服务器发送一个Syn请求报文,等待服务器确认。


第二次握手:服务器收到Syn报文,回应一个Syn-Ack请求确认报文。


第三次握手:客户端收到服务器的Syn-Ack报文,向服务器发送Ack确认报文表示确认,服务器收到Ack报文后完成三次握手,建立TCP连接。



在上述过程中,还有一个重要的概念就是 未连接队列


在三次握手的过程中,服务器在收到客户端的Syn报文后,会在未连接队列中,为每个客户端的Syn报文开设一个条目。


该条目表明服务器已收到Syn包,并向客户发出Syn-Ack报文,等客户端回复Ack报文或连接超时之后,服务器才删除该条目。


当未连接队列被占满后,服务器就无法响应其他客户的请求了。


而SynFlood正是利用TCP连接中三次握手的这种机制,如下图所示,SynFlood的攻击过程如下图所示:



  1. 攻击者通过伪造的源IP地址或端口,向服务器发送大量的Syn报文,请求建立TCP连接。

  2. 服务器收到Syn报文,回应一个Syn-Ack报文并等待用户确认。

  3. 由于源地址是不存在的,服务器接收不到回应的Ack报文,需要反复发送Syn-Ack确认报文直至连接超时。 这些伪造的Syn包将长时间占用未连接队列,使服务器无法回应正常用户的Syn报文请求。



3


如何应对SynFlood


对于SynFlood这样利用海量Syn报文攻占服务器连接资源的攻击,提高服务器的连接能力并没有太大的作用。


所以,必须在这些攻击报文到达服务器之前就进行拦截。


但是对于防火墙这类安全系统而言,Syn报文是正常的业务报文,防火墙无法将其拦截,否则服务器将无法对外提供服务。


另外,防火墙也不能提前明确虚假源的IP地址,利用安全策略来拦截这些源发来的Syn报文。







请到「今天看啥」查看全文