1. 概述

1.1 背景与问题陈述

SYN Flood 攻击是一种经典的分布式拒绝服务(DDoS)手段。攻击者通过向目标服务器持续发送大量 TCP SYN 报文,迫使服务器为每个半开连接分配控制块(Transmission Control Block,TCB)资源。由于攻击端往往伪造源 IP 地址,服务器发送的 SYN/ACK 响应无法获得最终的 ACK 确认,导致半开连接长期占用服务器资源,消耗其处理能力并显著降低服务可用性。这一过程基于 TCP 三次握手机制,如图 1 所示。

图 1 TCP 连接的建立过程

在标准的 TCP 三次握手中:

  1. 客户端向服务器发送 SYN 报文,初始化连接请求。
  2. 服务器收到 SYN 后返回 SYN/ACK,表示同意建立连接。
  3. 客户端发送 ACK,确认连接建立,服务器正式进入已建立状态。

服务器在返回 SYN/ACK 之前必须为该半开连接预留状态信息(TCB),而客户端只有在最终 ACK 时才分配资源。这种资源分配的时间差被攻击者利用,如图 2 所示。

图 2 SYN Flood 攻击原理

当攻击者快速发送大量伪造源地址的 SYN 报文时,服务器持续为半开连接分配 TCB,直到资源耗尽而无法为合法客户端提供服务。为了保障基于 TCP 的业务稳定运行,防火墙须部署有效的检测、缓解与主动防护机制。

1.2 技术优势

  1. 基于安全区域的配置模式
    所有攻击检测与防护策略均以安全区域为粒度进行配置,实现统一的策略管理,同时保持对复杂网络拓扑的灵活适配。

  2. 完善的告警与日志体系
    防火墙提供细粒度的实时告警、审计日志与历史统计数据,可与第三方安全运维平台协同,实现攻击事件的追踪与取证。

  3. 行为模式驱动的精确阻断
    通过实时跟踪 TCP 状态机,结合异常行为识别模型,精准区分恶意流量与合法会话,仅拦截攻击流量,避免误伤正常业务。

  4. 多样化的防御动作
    支持日志监控、报文丢弃、SYN Cookie、Safe Reset、无效半开连接释放等多种策略,可按业务优先级与风险等级组合使用。

2. 技术实现

面向互联网业务的公共服务器是 SYN Flood 攻击的主要目标。H3C 防火墙通过对目标服务器的入站和出站流量进行统计分析,识别异常连接行为并执行对应的缓解策略。整体防护思路分为“连接限制技术”和“连接代理技术”两大类:

  • 连接限制技术:实时监测半开连接数和新建连接速率,当指标超阈值时执行阻断或释放动作。
  • 连接代理技术:通过 SYN Cookie 或 Safe Reset 对连接进行代理及验证,过滤恶意流量,同时保障合法业务连续性。代理可在攻击前预先启用,也可在检测到异常后再切换至代理模式。

2.1 SYN Flood 攻击检测技术

根据监测对象差异,SYN Flood 攻击检测主要分为“半开连接数检测”和“新建连接速率检测”两种方式。

2.1.1 半开连接数检测

原理解析

恶意客户端若使用伪造源 IP 发起 SYN Flood 攻击,会导致服务器端半开连接数快速攀升。正常情况下,半开连接会随着客户端响应 ACK 报文而转为全连接;伪造源 IP 的半开连接则长期停留在 SYN-RECEIVED 状态直至超时。防火墙需实时记录以下数据:

  • 客户端发起的全部半开连接数;
  • 已完成握手并转为全连接的数量。

二者差值即为当前未完成的半开连接数。当该数值远超历史基线或逼近服务器资源上限时,可认定服务器正遭受异常流量冲击(见图 3)。

图 3 半开连接数检测示意

管理员可依据服务器承载能力设定阈值。当未完成的半开连接数超过阈值时,防火墙判定发生 SYN Flood 攻击并触发后续防护动作。

部署要求

该检测方式要求防火墙同时监测客户端与服务器的双向报文,因此需部署在服务器入、出口流量的关键路径上。

2.1.2 新建连接速率检测

原理解析

SYN Flood 攻击期间,指向目标服务器的新建连接请求会在极短时间内激增,无论攻击端是否伪造 IP。防火墙以秒为单位记录新建连接数量,与预设阈值比对,判断是否存在异常,如图 4 所示。

图 4 新建连接速率检测示意

当单位时间内的新建连接速率超过阈值时,防火墙判定服务器可能遭受攻击,可进一步联动防护策略。

部署要求

由于需要统计所有新建连接请求,该方式要求客户端到服务器的入站流量必须经过防火墙处理。

2.2 SYN Flood 攻击防范技术

H3C 防火墙在检测到异常后可按需启用以下四种防护措施,以实现快速阻断、恢复和代理防护:

  • 阻断新建连接:限制半开连接数或新建连接速率,防止服务器被持续请求压垮。
  • 释放无效连接:主动向服务器发送 RST 报文,释放已被占用的伪造连接。
  • SYN Cookie:双向代理握手过程,通过 Cookie 验证客户端合法性。
  • Safe Reset:单向代理客户端请求,通过安全复位流程识别合法连接。

2.2.1 阻断新建连接

原理与流程

在检测到阈值被触发时,防火墙可以立即丢弃所有新的连接请求,以遏制攻击蔓延。该策略分两种形式:

  • 基于半开连接数:如图 5,当前半开连接数超过阈值时,后续 SYN 报文被丢弃,待半开连接数降回安全值后恢复放行。
  • 基于新建连接速率:如图 6,控制每秒允许通过的连接请求数量,超过阈值的请求直接丢弃,保持服务器负载在可控范围。

图 5 半开连接数限制示意

图 6 新建连接速率限制示意

部署建议

阻断新建连接是基础防护手段,可快速降低攻击对服务器的影响,但无法提升服务器自身的承载能力。建议与其他深度防护技术配合使用,避免误伤峰值业务。

2.2.2 释放无效连接

原理与流程

当服务器存在大量半开连接时,防火墙可模拟相应的五元组信息(源/目的 IP、源/目的端口、协议类型),向服务器发送 TCP RST 报文,指示释放无效会话。该方式能快速回收被伪造连接占用的资源,帮助服务器恢复正常服务能力。

部署建议

释放无效连接主要用于补救阶段,缩短服务器恢复时间。由于无法阻止攻击者继续发起 SYN 报文,需与检测和阻断策略联动使用。

2.2.3 SYN Cookie 技术

原理与流程

SYN Cookie 技术在防火墙层面代理完整的 TCP 握手流程,引入可验证的 Cookie 机制来识别合法客户端(见图 7):

  1. 客户端发送 SYN 报文。
  2. 防火墙截获报文并以服务器身份返回 SYN/ACK,其序列号为根据客户端 IP、端口及加密索引计算出的 Cookie。
  3. 客户端回应 ACK,防火墙校验 ACK 序列号是否与期望的 Cookie 相符。若不匹配或未收到 ACK,则认定为恶意连接并丢弃。
  4. 合法客户端通过验证后,防火墙再与服务器发起实际的 SYN,建立代理连接。
  5. 服务器回应 SYN/ACK,防火墙转发 ACK,最终形成客户端—防火墙—服务器的双向代理通道。

图 7 防火墙使用 SYN Cookie 的握手代理流程

通过延迟为客户端分配 TCB 资源,SYN Cookie 能有效阻止伪造 SYN 报文耗费服务器或防火墙资源。

部署要求

SYN Cookie 需对双向报文进行完整代理,因此防火墙必须部署在服务器进出流量的共同路径上,确保所有握手报文都能被截获与处理。

2.2.4 Safe Reset 技术

原理与流程

Safe Reset 是一种单向代理技术,防火墙仅对客户端到服务器的流量进行识别与过滤(见图 8):

  1. 客户端发送 SYN,防火墙截获并返回嵌入 Cookie 的 SYN/ACK,其中 ACK 序列号被故意修改。
  2. 按照 TCP 标准,客户端会返回 RST。防火墙截获并验证 RST 序列号与 Cookie 是否对应。
  3. 校验通过则将该连接标记为可信并记录,若失败则视为恶意连接并丢弃后续报文。
  4. 客户端随即重新发起 SYN 请求,此时防火墙根据记录放行该合法连接。

图 8 防火墙使用 Safe Reset 的客户端认证流程

Safe Reset 仅要求客户端流量经过防火墙,因此适用于服务器侧流量路径不统一的复杂网络。

部署要求与注意事项

  • 防火墙至少需部署在客户端到服务器的入站路径上;服务器返回流量是否经过防火墙可根据实际情况决定。
  • 该技术依赖客户端严格遵循 TCP 协议栈,实现不规范的客户端可能无法通过校验。
  • 由于连接建立需额外经历一次 RST 往返,连接时延会略有增加,具体影响取决于客户端协议栈实现质量。

3. 典型组网场景

3.1 SYN Cookie 典型组网

在典型的双向代理场景下,互联网客户端与内部服务器之间的所有 TCP 报文均需经过防火墙,如图 9 所示。

图 9 SYN Cookie 典型组网

防火墙启用 SYN Cookie 后,会为合法客户端与服务器之间的握手进行代理与验证,过滤未通过 Cookie 校验的恶意连接,最大限度降低服务器负担。

3.2 Safe Reset 典型组网

对于只需控制客户端入站流量的场景,可优先考虑 Safe Reset 部署模式,如图 10 所示。

图 10 Safe Reset 典型组网

所有来自互联网且目的指向内部服务器的报文均需通过防火墙,而服务器返回的报文可根据网络架构选择是否经过防火墙,实现更灵活的流量路径控制。

3.3 综合防护组网

在多安全域环境中,可综合运用检测、阻断与代理三类策略,构建端到端防护体系,如图 11 所示。

图 11 SYN Flood 防护综合组网

示例中,防火墙内网属于 Trust 域,内部服务器位于 DMZ 域,外部网络划归 Untrust 域。对于 DMZ 区域服务器,可配置以下策略组合:

  • 按业务基线设定新建连接速率阈值和半开连接阈值。
  • 当检测到异常时,触发告警日志并根据业务级别选择阻断、释放、SYN Cookie 或 Safe Reset 等动作。
  • 可在攻击初期启用单向或双向代理,确保到达服务器的连接均已验证合法性,从而在应对大流量攻击的同时保障关键服务持续可用。

结论:通过将实时检测、流量限制、连接代理和资源回收等多种技术有机结合,H3C 防火墙能够构建完整的 SYN Flood 攻击防护体系,既精准识别恶意流量,又确保业务稳定性,为企业级网络提供高可靠的安全防线。