SYN Flood 或称 SYN洪水、SYN洪泛是一种阻断服务攻击,起因于攻击者传送一系列的SYN请求到目标系统。
用户和服务器之间的正常连接,正确执行3次握手。
当客户端尝试与服务器建立TCP连接时,客户端和服务器在正常情况下交换一组信息,如下所示:
1.客户端将SYN同步信息发送到服务器并请求连接设置。
2.服务器响应客户端SYN-ACK响应请求。
3.客户端承诺ACK并建立连接。
这是在所谓的TCP 3次握手中使用TCP传输协议的每个连接的基础。
水槽洪水。攻击者发送许多数据包,但不向服务器发送“ACK”。因此,连接半开,吞下服务器资源。由于阻止服务攻击,合法用户尝试连接到服务器但被拒绝。
SYN Flood是一种众所周知的攻击,在现代网络中通常无效。这种类型的攻击仅在服务器收到SYN后才分配资源,但在本节中,它会在收到ACK之前生效。
目前有两种SYN Flood攻击方式,但它与所有服务器都没有收到ACK的事实有关。恶意用户无法接收ACK,因为服务器向假IP地址发送SYN-ACK,跳过最后一条ACK消息或模拟SYN的源IP地址。在这两种情况下,服务器都需要时间来复制通知,这可能会导致简单的网络拥塞而无需ACK。
如果这些半开放连接绑定服务器资源,则服务器可以向服务器排出大量SYN信息。如果为半开连接保留所有资源,则会阻止服务攻击,因为无法设置新连接(无论合法)。其他操作系统功能可能需要这种形式的资源,即使在某些系统上,即使停机也可能非常严重。
1996年用于分配半开放连接资源的技术通常包括相当短的队列(例如,8个空座位)。当连接完成或过期时(例如,3分钟后),您可以打开队列间隔。如果队列已满,则新的传入连接将失败。在上面的示例中,在发送总共8个数据包之前,所有新的传入连接都被阻止。这意味着每3分钟计算8个数据包,并阻止所有新的TCP连接。此阻止服务仅攻击少量流量。
建议的措施包括SYN cookie和限制在特定时间段内从同一源请求的新连接数,但最新的TCP / IP堆栈没有上面提到的瓶颈因为它位于SYN Flood和其他基于通道的容量之间。攻击类型应该很少或没有区别。