帮助中心

传输控制协议(Transmission Control Protocol,TCP)通过三次握手过程建立连接,三次握手过程如下:1、终端向高防服务器发送一个同步(synchronize,SYN)报文,所述SYN报文会指明终端 使用的端口以及TCP协议连接的初始序号;2、高防服务器在接收到SYN报文后,向终端发送一个与SYN报文对应的同步确认 (synchronize+acknowledgement,

当前位置: 首页  >> 新闻中心  >> 帮助中心  >> 查看详情

高防服务器的流量清洗是如何防御SYN Flood攻击的

浏览量:1195 时间:2023-08-16 05:34:05

传输控制协议(Transmission Control Protocol,TCP)通过三次握手过程建立连接,三次握手过程如下:

1、终端向高防服务器发送一个同步(synchronize,SYN)报文,所述SYN报文会指明终端 使用的端口以及TCP协议连接的初始序号;

序列号 CPU RAM HDD 带宽 售价(美元) 免费试用
香港服务器1 E5-2620 32G 1T HDD 50M/无限流量 $196.00 立即申请
香港服务器2 E5-2650 32G 1T HDD 50M/无限流量 $256.00 立即申请
香港服务器3 E5-2680 32G 1T HDD 50M/无限流量 $316.00 立即申请
香港服务器4 E5-2690 32G 1T HDD 50M/无限流量 $336.00 立即申请
香港服务器5 E5-2697 32G 1T HDD 50M/无限流量 $376.00 立即申请
香港服务器6 E5-2620*2 32G 1T HDD 50M/无限流量 $376.00 立即申请
香港服务器7 E5-2650*2 32G 1T HDD 50M/无限流量 $436.00 立即申请
香港服务器8 E5-2680*2 32G 1T HDD 50M/无限流量 $476.00 立即申请
香港服务器9 E5-2690*2 32G 1T HDD 50M/无限流量 $556.00 立即申请
香港服务器10 E5-2697*2 32G 1T HDD 50M/无限流量 $596.00 立即申请
香港服务器11 E5-2680v4*2 32G 1T HDD 50M/无限流量 $696.00 立即申请
香港服务器12 E5-2698v4*2 32G 1T HDD 50M/无限流量 $796.00 立即申请

2、高防服务器在接收到SYN报文后,向终端发送一个与SYN报文对应的同步确认 (synchronize+acknowledgement,SYN+ACK)报文,SYN+ACK报文表示终端的连接请求被接 受,同时TCP协议连接的序号为初始序号自动加1;

3、终端向高防服务器发送一个确认ACK报文,同样,TCP协议连接的序号被加1。

在三次握手的过程中设置了一些异常处理机制。如果高防服务器没有收到终端发送的 ACK报文,会一直处于等待确认(synchronize Receive,SYN_RECV)状态,并且高防服务器会将终 端的IP信息加入等待列表,高防服务器根据等待列表中记录的终端的IP信息,重新向终端发送 SYN+ACK报文。如果高防服务器还是没有收到终端发送的ACK报文,会继续重新向终端发送SYN+ ACK报文,重新向终端发送SYN+ACK报文的次数一般为3-5次,大约间隔30秒左右轮询一次等 待列表。另一方面,高防服务器在发出了 SYN+ACK报文后,会预先为即将建立的TCP协议连接分配 资源,这个资源在高防服务器处于SYN_RECV状态下时会一直保留。但因为高防服务器资源有限,处于 SYN_RECV状态下时的分配的资源达到一定的阈值后,高防服务器就不再接收新的SYN报文,也就 是拒绝新的TCP协议连接建立。

SYN Flood攻击正是利用了上述在三次握手过程中设置的异常处理机制,达到攻 击高防服务器的目的。攻击者伪装大量的IP地址给高防服务器发送SYN报文,由于伪造的IP地址不存 在,也就不会给高防服务器返回ACK报文。因此,高防服务器将会维持一个庞大的等待列表,不停地重 试发送SYN+ACK报文,同时占用着大量的资源无法释放。更为关键的是,被攻击高防服务器处于 SYN_RECV状态下时分配的资源达到一定的阈值后就不再接收新的SYN报文,合法用户无法 完成三次握手建立起TCP协议连接。

现有技术中对SYN Flood攻击进行防护的方法主要有以下几种:

1.清洗设备收到终端发来的SYN 报文后,先代替高防服务器向终端回应正常的SYN+ACK报文。如果收到终端回应的ACK报文,则认为该TCP协议连接请求通过验证。清洗设备再向高防服务器发送同样的SYN报文,并通过三次握手与高防服务器建立TCP协议连接。方案中清洗设备需要记录会话中每个报文的序号,针对后续终端以及高防服务器之间的报文,清洗设备需要做逐个报文序号修正和重新计算校验和, 防护性能十分低下,并且清洗设备只能串联部署到网络中,局限性很大。

2.清洗设备收到终端发来的SYN 报文后,先代替高防服务器向终端回应与SYN报文对应的只是序号错误的SYN+ACK报文。如果收 到终端回应的重置(RESET,RST)报文,则认为该TCP协议连接请求通过验证。一定时间内,清 洗设备收到终端重发的SYN报文后,直接向高防服务器转发,在终端和高防服务器之间建立TCP协议 连接。TCP协议连接建立后,清洗设备直接转发该终端后续的报文,不对报文进行处理。清洗设备代替高防服务器向终端回应与SYN报文对应的只是序号 错误的SYN+ACK报文,会故意破坏终端与高防服务器的TCP协议连接状态,根据终端协议栈的纠 正能力来识别是否是合法的终端,如果终端合法,需要终端主动重新发起连接,才能与服务 器建立TCP协议连接。但在实际应用中发现,部分终端在被断开TCP协议连接状态后不会主 动再次发送SYN报文,需要用户手动重启,部分无人值守的终端会因此而不能正常工作,导致业务中断,用户体验差,满意度低。

3.接收终端发送的SYN报文,判断自身保存的信任列表或限制列表中是否记录有所 述终端的信息;如果信任列表中记录有所述终端的信息,将所述SYN报文转发至高防服务器,如果限制列表中记录有所述终端的信息,丢弃所述SYN报文;否则,丢弃所述SYN报文,向所述终端发送满足特定条件的确认ACK探测报文;判断 是否接收到所述终端发送的重置RST纠错报文,如果是,在所述信任列表中添加所述终端的信息,如果否,在所述限制列表中添加所述终端的信息。所述满足特定条件的ACK探测报文中的发送序号和确认序号为随机值。清洗设备中保存有信任列表和限制列表,因 此可以针对记录在不同列表中的终端发送的SYN报文进行相应处理,如果终端未记录在上述任一列表中,向终端发送ACK探测报文,ACK探测报文不会破坏所述终端与高防服务器的TCP协议连接状态,另外因为ACK探测报文对于终端为一个异常报文,根据终端是否向清洗设备发 送RST纠错报文,确定将终端添加到哪个列表中。同时因为接收到的SYN报文被丢弃了,因此无需占用清洗设备的资源,有效提高了清洗设备的处理效率。

了解更多关于高防服务器防御SYN Flood攻击参阅:高防服务器如何通过SYN Cookie源认证来防御DDOS攻击

24小时服务器机房客服
帮助中心
  • 24H在线
  • Tg纸飞机