在大多数部署中,NSX Advanced Load Balancer 直接暴露在不受信任的公用网络中。为了保护应用程序流量,服务引擎 (SE) 能够检测和缓解范围广泛的第 4-7 层网络攻击。

以下是 NSX Advanced Load Balancer 缓解的常见拒绝服务 (DoS) 攻击和定向 DoS (DDoS) 攻击列表。

攻击层

攻击名称

描述

缓解

第 3 层

SMURF

将目标 IP 设置为广播 IP 并将源 IP 仿冒为受害者 IP 的 ICMP 数据包。

如果源或目标 IP 是广播 IP 或 D/E 类 IP 地址,则会在调度程序层中丢弃数据包。

ICMP 泛洪

向受害者发送过多的 ICMP 回显请求。

对 ICMP 数据包进行速率限制。

未知的协议

具有无法识别的 IP 协议的数据包。

在调度程序层中丢弃数据包。

泪滴攻击

利用分片 IP 数据包的重组。

如果认为片段偏移存在错误,则在 SE 的协议栈中丢弃数据包。

IP 分片

错误的分片数据包。

在 SE 的协议栈中丢弃数据包。

第 4 层

SYN 泛洪

发送 TCP SYN 而不确认 SYN-ACK;受害者的 TCP 表将快速增长。

如果 TCP 表填充了半连接(例如,未完成的 TCP 三向握手),则开始使用 SYN Cookie。

LAND

与 SYN 泛洪基本相同,所不同的是源 IP 地址和目标 IP 地址相同。

在调度程序层中丢弃数据包。

端口扫描

在不同端口上发送 TCP/UDP 数据包以找出下一级攻击的侦听端口;其中的大多数端口是非侦听端口。

在调度程序层中丢弃数据包。

圣诞树攻击

发送将所有标记设置为不同值的 TCP 数据包,以使受害者的 TCP 堆栈不堪重负。

在 SE 的协议栈中丢弃数据包。

错误的 RST 泛洪

发送具有错误序列的 TCP RST 数据包。

如果数据包序列号在 TCP 窗口以外,则在 SE 的协议栈中丢弃数据包。

虚假会话

猜测 TCP 序列号以劫持连接。

为了降低虚假会话攻击的成功机率,SE 将随机数作为初始序列号。

错误的序列号

具有错误序列号的 TCP 数据包。

在 SE 的协议栈中丢弃序列号在 TCP 窗口之外的数据包。

格式不正确/意外的泛洪

在 TCP FIN 之后发送了不相关的 TCP 数据包。

在 SE 的协议栈中丢弃在 FIN 之后发送的意外数据包。

零/小窗口

攻击者在 TCP 三向握手后通告零或非常小的窗口 (<100)。

如果从客户端收到的第一个 TCP 数据包(在 SYN 之后)具有零或很小的窗口,则 SE 丢弃该数据包并发送 RST。

限制每个 IP 的 CPS 速率

连接泛洪

应用应用程序配置文件中配置的速率限制。(应用程序配置文件 > HTTP > DDoS > 速率限制 HTTP 和 TCP 设置。)

SSL 错误

注入 SSL 握手错误。

SE 在出现错误后关闭连接。

SSL 重新协商

在建立 SSL 连接后请求重新协商。

停用客户端触发的重新协商。

第 7 层 (HTTP)

请求空闲超时

建立连接而不发送 HTTP 请求。

将使用在应用程序配置文件中配置的控制超时。(应用程序配置文件 > HTTP > DDoS > HTTP 限制设置 > POST 接受超时。)

标头和请求的大小限制

通过较长的请求时间消耗资源。

使用应用程序配置文件中配置的标头大小限制。(应用程序配置文件 > HTTP > DDoS > HTTP 限制设置 > HTTP 大小设置。)

慢 POST

通过较长的请求时间消耗资源。

使用应用程序配置文件中配置的正文大小限制。(应用程序配置文件 > HTTP > DDoS > HTTP 限制设置 > HTTP 大小设置。)

SlowLoris/SlowPost

发送部分 HTTP 请求以打开到受害者的多个连接。

将使用在应用程序配置文件中配置的标头和正文超时。

请求无效

HTTP 请求中的标头、正文或实体无效。

使用应用程序配置文件中配置的 URI 长度、标头长度和正文长度限制。

限制每个客户端 IP 的 RPS 速率

请求泛洪

使用应用程序配置文件中配置的限制。

应用程序配置文件 > HTTP > DDoS > 速率限制 HTTP 和 TCP 设置。)

限制每个 URL 的 RPS 速率

请求泛洪

使用应用程序配置文件中配置的限制。(应用程序配置文件 > HTTP > DDoS > 速率限制 HTTP 和 TCP 设置。)

第 7 层 (DNS)

DNS 放大输出

在攻击 DNS 虚拟服务时,攻击者发送非常短的查询以请求非常大的响应(跨多个 UDP 数据包)。可能会使 DNS 虚拟服务参与反射攻击。攻击者将 DNS 查询的源 IP 和源端口仿冒为受害者服务器上的已知服务端口。

将拒绝来自定义的源端口范围(已知端口)的任何请求。拒绝的端口范围是在“安全策略”中配置的。要了解如何配置 DNS 放大输出 DDoS 防护安全策略,请参见配置 DNS 放大输出 DDoS 防护安全策略

DNS 反射输入

使用仿冒的受害者 IP 地址发送 DNS 查询,而导致通过 DNS 服务器响应向受害者发送大量未经请求的流量,从而使受害者不堪重负。

在调度程序中及早丢弃不需要的数据包。

DNS NXDOMAIN 攻击

攻击者发送大量查询以解析不存在的域。通常,攻击使用随机生成的不太可能的域名。

检测:针对受到攻击的域/子域引发事件。该事件还会提到造成攻击的客户端。

缓解(通过手动配置):

  • 添加 DNS 策略以及早丢弃对域的 DNS 查询或限制其速率。

  • 添加网络安全策略,以及早丢弃来自可疑客户端的 DNS 查询或限制其速率。

DDoS 见解

默认安全页面右侧的 DDoS 部分将虚拟服务的分布式拒绝服务数据拆分为最相关的第 4 层和第 7 层攻击数据。



  • L4 攻击:每秒的网络攻击次数,例如 IP 分片攻击或 TCP SYN 泛洪。对于此处显示的示例,每个未确认的 SYN 计为一次攻击。(这是 TCP SYN 泛洪攻击的典型特征,大量 SYN 请求后面没有预期的 ACK 以完成会话设置。)

  • L7 攻击:每秒的应用程序攻击次数,例如 HTTP SlowLoris 攻击或请求泛洪。对于此处显示的示例,每个超过配置的请求限制的请求计为一次攻击。(请参见应用程序配置文件的 DDoS 选项卡以配置自定义第 7 层攻击限制。)

  • 攻击持续时间:发生攻击的时间长度。

  • 阻止的连接:如果阻止了攻击,这是阻止的连接尝试次数。

  • 攻击次数:显示在图表中绘制的攻击随时间的变化情况。