什么是SYN洪水攻击?

TCP SYN 洪水(又名 SYN 洪水)是一种 分布式拒绝服务 ( DDoS ) 攻击,它利用正常 TCP 三向握手的一部分 来消耗目标服务器上的资源并使其无响应。本质上,对于 SYN flood DDoS,攻击者发送 TCP 连接请求的速度比目标机器处理请求的速度快,从而导致网络饱和。

什么是SYN洪水攻击?

攻击描述

当客户端和服务器建立正常的 TCP“三次握手”时,交换看起来像这样:

  1. 客户端通过向服务器发送 SYN(同步)消息来请求连接。
  2. 服务器通过向客户端发送回 SYN-ACK(同步确认)消息进行确认。
  3. 客户端以 ACK(确认)消息响应,并建立连接。

在 SYN 泛洪攻击中,攻击者向目标服务器上的每个端口重复发送 SYN 数据包,通常使用伪造的 IP 地址。服务器不知道受到攻击,收到多个看似合法的请求以建立通信。它使用来自每个开放端口的 SYN-ACK 数据包响应每次尝试。

恶意客户端要么不发送预期的 ACK,要么(如果 IP 地址被欺骗)从一开始就不会收到 SYN-ACK。无论哪种方式,受到攻击的服务器都会等待一段时间来等待对其 SYN-ACK 数据包的确认。

在此期间,服务器无法通过发送 RST 数据包关闭连接,连接保持打开状态。在连接超时之前,另一个SYN 数据包将到达。这导致越来越多的连接处于半开状态——事实上,SYN 泛洪攻击也被称为“半开”攻击。最终,当服务器的连接溢出表填满时,对合法客户端的服务将被拒绝,服务器甚至可能出现故障或崩溃。

虽然上面描述的“经典”SYN 泛洪试图耗尽网络端口,但 SYN 数据包也可用于DDoS 攻击,这些攻击试图用虚假数据包堵塞您的管道以实现网络饱和。数据包的类型并不重要。尽管如此,SYN 数据包仍经常被使用,因为它们在默认情况下最不可能被拒绝。

缓解方法

虽然现代操作系统可以更好地管理资源,这使得连接表溢出变得更加困难,但服务器仍然容易受到SYN 洪水攻击。

有许多常用技术可以缓解 SYN 泛洪攻击,包括:

微块——管理员可以在服务器内存中为每个传入的 SYN 请求分配一个微记录(少至 16 字节),而不是一个完整的连接对象。

SYN cookies——使用加密哈希,服务器发送其 SYN-ACK 响应,其中包含一个序列号 (seqno),该序列号由客户端 IP 地址、端口号和可能的其他唯一标识信息构成。当客户端响应时,此哈希包含在 ACK 数据包中。服务器验证 ACK,然后才为连接分配内存。

RST cookies——对于给定客户端的第一个请求,服务器故意发送无效的 SYN-ACK。这应该会导致客户端生成一个 RST 数据包,告诉服务器出了什么问题。如果收到,服务器知道请求是合法的,记录客户端,并接受来自它的后续传入连接。

堆栈调整——管理员可以调整 TCP 堆栈以减轻 SYN 泛洪的影响。这可能涉及减少超时,直到堆栈释放分配给连接的内存,或有选择地丢弃传入连接。

显然,上述所有方法都依赖于目标网络处理大规模流量 DDoS 攻击的能力,其流量为每秒数十G(甚至数百G)。

文章链接: https://www.mfisp.com/14915.html

文章标题:什么是SYN洪水攻击?

文章版权:梦飞科技所发布的内容,部分为原创文章,转载请注明来源,网络转载文章如有侵权请联系我们!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
IDC云库

中小企业云安全风险的有效管理

2022-12-26 11:05:00

IDC云库

什么是ping泛洪攻击

2022-12-26 13:34:32

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索

梦飞科技 - 最新云主机促销服务器租用优惠