Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

MS-MPC 和 MS-MIC 上的网络攻击防护

了解 MS-MPC 上的 IDS

入侵检测服务

MS-MPC 上的入侵检测服务 (IDS) 规则为您提供了一种识别和丢弃属于网络攻击部分的流量的方法。

与防火墙过滤器和监管器相比,IDS 规则提供更精细的过滤级别,可以阻止非法 TCP 标志和其他不良标志组合,并可以实施常规速率限制(请参阅 路由策略、防火墙过滤器和流量监管器用户指南)。您可以将防火墙过滤器和监管器与 IDS 一起使用,以减少需要由 IDS 规则处理的流量。

在 IDS 规则中,您可以指定:

  • 对源自单个源或在单个目标终止的会话的限制。这样可以防止网络探测和泛洪攻击。

  • 要丢弃的可疑数据包类型。

为了防止标头异常攻击,如果配置 IDS 规则、状态防火墙规则或 NAT 规则并将其应用于服务集,则会自动执行标头完整性检查。如果未为服务集分配 IDS 规则、状态防火墙规则或 NAT 规则,也可以为服务集显式配置标头完整性检查。

优势

  • 针对多种网络攻击提供保护。

会话限制

您可以使用 IDS 规则为从单个源或到单个目标的流量设置会话限制。这样可以防止网络探测和泛洪攻击。超过会话限制的流量将被丢弃。您可以为具有特定 IP 协议(如 ICMP)的流量或常规流量指定会话限制。

您可以决定这些限制是应用于单个地址,还是适用于来自特定前缀长度的各个子网的流量聚合。例如,如果聚合前缀长度为 24 的 IPv4 子网的限制,则来自 192.0.2.2 和 192.0.2.3 的流量将计入 192.0.2.0/24 子网的限制。

会话限制可防御的一些常见网络探测和泛洪攻击包括:

ICMP Address Sweep

攻击者向多个目标发送 ICMP 请求探测 (ping)。如果目标计算机回复,攻击者将收到目标的 IP 地址。

ICMP Flood

攻击者通过从一个或多个源 IP 地址发送大量 ICMP 数据包来泛洪目标计算机。目标计算机在尝试处理这些 ICMP 数据包时会耗尽其资源,并且无法再处理有效流量。

TCP Port Scan

攻击者将 TCP SYN 数据包从一个源发送到目标计算机的多个目标端口。如果目标从一个或多个目标端口回复 SYN-ACK,攻击者将获知目标上哪些端口处于打开状态。

TCP SYN Flood

攻击者通过从一个或多个源 IP 地址发送大量 TCP SYN 数据包来泛洪目标计算机。攻击者可能使用真实源 IP 地址,导致 TCP 连接完成,也可能使用虚假源 IP 地址,导致 TCP 连接未完成。目标为所有已完成和未完成的 TCP 连接创建状态。目标在尝试管理连接状态时会耗尽其资源,并且无法再处理有效流量。

UDP Flood

攻击者从一个或多个源 IP 地址发送大量 UDP 数据包,从而泛洪目标计算机。目标计算机在尝试处理这些 UDP 数据包时会耗尽其资源,并且无法再处理有效流量。

从源或到目标的流量的会话限制包括:

  • 最大并发会话数

  • 每秒最大数据包数

  • 每秒最大连接数

当出现以下情况时,IDS 还会在线卡的 PFE 上安装动态过滤器,以防可疑活动:

  • 单个源地址或目标地址(非子网)的每秒数据包数或每秒连接数超过IDS规则中会话限制的四倍。此会话限制是 IDS 规则的常规源或目标限制,而不是为特定协议指定的限制。

  • 服务卡 CPU 利用率百分比超过配置值(默认值为 90%)。

动态过滤器会丢弃 PFE 处的可疑流量,并且流量不会发送到 MS-MPC 以由 IDS 规则处理。当数据包或连接速率不再超过 IDS 规则中限制的四倍时,动态过滤器将被删除。

可疑数据包模式

您可以使用 IDS 规则来识别和丢弃具有可疑数据包模式的流量。这样可以防止攻击者伪造异常数据包来发动拒绝服务攻击。

您可以在 IDS 规则中指定的可疑数据包模式和攻击包括:

ICMP fragmentation attack

攻击者发送目标 ICMP 数据包,即 IP 分段。这些数据包被视为可疑数据包,因为 ICMP 数据包通常很短。当目标收到这些数据包时,其结果可能从错误处理数据包到导致整个系统崩溃不等。

ICMP large packet attack

攻击者发送 IP 长度大于 1024 字节的目标 ICMP 帧。这些被视为可疑数据包,因为大多数 ICMP 消息都很小。

ICMP Ping of death attack

攻击者向目标 ICMP ping 数据包发送 IP 数据报长度 (ip_len) 超过其最大合法长度 (65,535 字节) 的数据包,并且数据包被分段。当目标尝试重组 IP 数据包时,可能会发生缓冲区溢出,从而导致系统崩溃、冻结和重启。

IP Bad option attack

攻击者发送的目标数据包格式不正确的 IPv4 选项或 IPv6 扩展标头。这可能会导致不可预测的问题,具体取决于路由器和目标的 IP 堆栈实施。

IPv4 options

攻击者可能会恶意使用 IPv4 选项进行拒绝服务攻击。

IPv6 extension headers

攻击者可能会恶意地使用扩展标头进行拒绝服务攻击或绕过过滤器。

IP teardrop attack

攻击者向目标发送重叠的分片 IP 数据包。目标计算机在尝试重组数据包时会耗尽其资源,并且无法再处理有效流量。

IP unknown protocol attack

攻击者发送的目标数据包的协议号大于 IPv4 的协议号大于 137,IPv6 的协议号大于 139。未知协议可能是恶意的。

Land attack

攻击者向目标发送欺骗性的 SYN 数据包,这些数据包包含目标的 IP 地址作为目标和源 IP 地址。目标在重复回复自己时会耗尽其资源。在陆地攻击的另一种变体中,SYN 数据包也包含相同的源端口和目标端口。

SYN fragment attack

攻击者发送目标 SYN 数据包分段。目标缓存 SYN 片段,等待剩余片段到达,以便重新组装它们并完成连接。大量 SYN 碎片最终会填满主机的内存缓冲区,导致有效的流量连接中断。

TCP FIN No ACK attack

攻击者发送设置了 FIN 位但未设置 ACK 位的目标 TCP 数据包。这可能允许攻击者识别目标的作系统或识别目标上的开放端口。

TCP no flag attack

攻击者发送不包含任何标志的目标 TCP 数据包。这可能会导致目标出现不可预测的行为,具体取决于目标的 TCP 堆栈实现。

TCP SYN FIN attack

攻击者发送同时设置了 SYN 和 FIN 位的目标 TCP 数据包。这可能会导致目标出现不可预测的行为,具体取决于目标的 TCP 堆栈实现。

TCP WinNuke attack

攻击者发送一个 TCP 分段,其中设置了紧急 (URG) 标志,其目的地是运行 Windows 的目标的端口 139。这可能会导致目标计算机崩溃。

标头异常攻击

为了防止标头异常攻击,如果配置 IDS 规则、状态防火墙规则或 NAT 规则并将其应用于服务集,则会自动执行标头完整性检查。如果未为服务集分配 IDS 规则、状态防火墙规则或 NAT 规则,也可以为服务集显式配置标头完整性检查。

标头完整性检查可防止以下标头异常攻击:

ICMP Ping of death attack

攻击者向目标 ICMP ping 数据包发送 IP 数据报长度 (ip_len) 超过其最大合法长度 (65,535 字节) 的数据包,并且数据包被分段。当目标尝试重组 IP 数据包时,可能会发生缓冲区溢出,从而导致系统崩溃、冻结和重启。

IP unknown protocol attack

攻击者发送的目标数据包的协议号大于 IPv4 的协议号大于 137,IPv6 的协议号大于 139。未知协议可能是恶意的。

TCP no flag attack

攻击者发送不包含任何标志的目标 TCP 数据包。这可能会导致目标出现不可预测的行为,具体取决于目标的 TCP 堆栈实现。

TCP SYN FIN attack

攻击者发送同时设置了 SYN 和 FIN 位的目标 TCP 数据包。这可能会导致目标出现不可预测的行为,具体取决于目标的 TCP 堆栈实现。

TCP FIN No ACK attack

攻击者发送设置了 FIN 位但未设置 ACK 位的目标 TCP 数据包。这可能允许攻击者识别目标的作系统或识别目标上的开放端口。

在 MS-MPC 上配置网络攻击防护

本主题包含以下任务,其中介绍了在使用 MS-MPC 时如何防范网络攻击:

配置针对网络探测、网络泛洪和可疑模式攻击的防护

配置入侵检测服务 (IDS) 规则,然后将该规则应用于 MS-MPC 上的服务集,即可配置针对网络探测攻击、网络泛洪攻击和可疑模式攻击的防护。仅使用 IDS 规则的第一个术语,并且仅使用服务集的第一个 IDS 输入规则和第一个 IDS 输出规则。

配置针对网络探测、网络泛洪和可疑模式攻击的防护措施包括:

配置 IDS 规则名称和方向

对于每个 IDS 规则,您必须配置一个名称和应用该规则的流量方向。

要配置 IDS 规则名称和方向:

  1. 指定 IDS 规则的名称。
  2. 指定 IDS 规则是应用于输入流量和/还是输出流量。

配置子网的会话限制

如果要将会话限制应用于进出单个目标或源子网(而不是单个地址)的所有攻击的聚合,请配置聚合。

要配置子网聚合:

  • 如果要将会话限制应用于单个 IPv4 子网内所有攻击的聚合,请指定子网前缀长度。范围从 1 到 32。

    例如,以下语句将 IPv4 前缀长度配置为 24,来自 10.1.1.2 和 10.1.1.3 的攻击将计为来自 10.1.1/24 子网的攻击。

    但是,如果子网上的单个主机产生大量网络探测或泛洪攻击,则整个子网的流量可能会停止。

  • 如果要将会话限制应用于单个 IPv6 子网内所有攻击的聚合,请指定子网前缀长度。范围从 1 到 128。

    例如,以下语句将 IPv6 前缀长度配置为 64,来自 2001:db8:1234:72a2::2 和 2001:db8:1234:72a2::3 的攻击被视为来自 2001:db8:1234:72a2::/64 子网的攻击。

    但是,如果子网上的单个主机产生大量网络探测或泛洪攻击,则整个子网的流量可能会停止。

  • 如果要将会话限制应用于单个 IPv4 子网的所有攻击的聚合,请指定子网前缀长度。范围从 1 到 32。

    例如,以下语句将 IPv4 前缀长度配置为 24,对 10.1.1.2 和 10.1.1.3 的攻击将计为对 10.1.1/24 子网的攻击。

  • 如果要将会话限制应用于单个 IPv6 子网的所有攻击聚合,请指定子网前缀长度。范围从 1 到 128。

    例如,以下语句将 IPv6 前缀长度配置为 64,对 2001:db8:1234:72a2::2 和 2001:db8:1234:72a2::3 的攻击被计为对 2001:db8:1234:72a2::/64 子网的攻击。

独立于协议配置会话限制

如果要为发往单个目标或来自独立于协议的单个源的流量配置会话限制,请执行以下一项或多项任务:

  • 要独立于协议为源 IP 地址或子网配置会话限制:
    • 配置单个源 IP 地址或子网允许的最大并发会话数。

    • 配置允许来自单个源 IP 地址或子网的每秒最大数据包数。

    • 配置允许来自单个源 IP 地址或子网的每秒最大连接数。

  • 要独立于协议为目标 IP 地址或子网配置会话限制:
    • 配置单个目标 IP 地址或子网允许的最大并发会话数。

    • 配置单个目标 IP 地址或子网允许的每秒最大数据包数。

    • 配置单个目标 IP 地址或子网允许的每秒最大连接数。

配置 ICMP 地址扫描保护

要配置针对 ICMP 地址扫描的保护,请为源配置允许的最大 ICMP 并发会话数、每秒数据包数和每秒连接数的任意组合:

  • 配置允许来自单个源 IP 地址或子网的最大并发 ICMP 会话数。
  • 配置每秒允许来自单个源 IP 地址或子网的最大 ICMP 数据包数。
  • 配置允许从单个源 IP 地址或子网实现的每秒最大 ICMP 连接数。

配置 TCP 端口扫描程序保护

要配置针对 TCP 端口扫描程序攻击的保护,请为源或目标配置允许的最大 TCP 并发会话数和每秒连接数的任意组合:

  • 配置允许来自单个源 IP 地址或子网的最大并发 TCP 会话数。
  • 配置单个源 IP 地址或子网允许的每秒最大 TCP 连接数。
  • 配置单个目标 IP 地址或子网允许的最大 TCP 会话数。
  • 配置单个目标 IP 地址或子网每秒允许的最大 TCP 连接数。

配置 ICMP 泛洪保护

要配置针对 ICMP 泛洪攻击的防护,请为目标配置允许的最大 ICMP 并发会话数、每秒数据包数和每秒连接数的任意组合:

  • 配置单个目标 IP 地址或子网允许的最大并发 ICMP 会话数。
  • 配置单个目标 IP 地址或子网允许的每秒最大 ICMP 数据包数。
  • 为 ICMP 的单个目标 IP 地址或子网配置每秒允许的最大 ICMP 连接数。

配置 UDP 泛洪保护

要配置针对 UDP 泛洪攻击的保护,请为目标配置允许的最大 UDP 并发会话数、每秒数据包数和每秒连接数的任意组合:

  • 配置单个目标 IP 地址或子网允许的最大并发 UDP 会话数。
  • 配置单个目标 IP 地址或子网允许的每秒最大 UDP 数据包数。
  • 配置单个目标 IP 地址或子网允许的每秒最大 UDP 连接数。

配置 TCP SYN 泛洪保护

要配置针对 TCP SYN 泛洪攻击的防护,请为源或目标配置允许的最大 TCP 并发会话数、每秒数据包数和每秒连接数的任意组合。您还可以配置在超时后关闭未建立的 TCP 连接:

  • 配置允许来自单个源 IP 地址或子网的最大并发 TCP 会话数。
  • 配置每秒允许来自单个源 IP 地址或子网的最大 TCP 数据包数。
  • 配置允许从单个源 IP 地址或子网实现的每秒最大 TCP 连接数。
  • 配置单个目标 IP 地址或子网允许的最大并发 TCP 会话数。
  • 配置单个目标 IP 地址或子网每秒允许的最大 TCP 连接数。
  • 配置单个目标 IP 地址或子网允许的每秒最大 TCP 数据包数。
  • 配置关闭未建立的 TCP 连接以及向终端主机提供 TCP RST,以便在层级值[edit interfaces interface-name service-options]到期时open-timeout清除其 TCP 状态。

配置 ICMP 分片保护

要防范 ICMP 分段攻击:

  • 配置作为 IP 分段的 ICMP 数据包的识别和丢弃。

配置 ICMP 大数据包保护

要防范 ICMP 大数据包攻击:

  • 配置识别和丢弃大于 1024 字节的 ICMP 数据包。

配置 IP 错误选项保护

要防止不良 IPv4 选项或 IPv6 扩展标头攻击,请执行以下作:

  1. 配置数据包可以包含的 IPv4 选项类型。如果数据包包含未配置的选项,则数据包将被阻止。如果数据包包含长度为非法值的已配置选项,则数据包将被丢弃。指定允许 any 所有选项。

    支持的 IPv4 选项包括 anyloose-source-routetimestamproute-recordsecuritystream-idstrict-source-route和 。

    如果未在 IDS 规则中包含该 allow-ip-options 语句,则包含任何类型 IPv4 选项的数据包都会被阻止。

  2. 配置数据包可包含的 IPv6 扩展报头类型。如果数据包包含未配置的扩展报头,则该数据包将被阻止。如果数据包包含不正确的配置扩展标头,则数据包将被丢弃。指定允许 any 所有扩展标头。

    支持的 IPv6 扩展报头包括 anyahhop-by-hoproutingdstoptsespfragmentmobility和 。

    如果未在 IDS 规则中包含 allow-ipv6-extension-header 该语句,则带有任何类型扩展报头的数据包都将被丢弃。

配置陆地攻击防护

要防止陆地攻击:

  • 配置识别和丢弃具有相同源和目标 IP 地址或相同源和目标 IP 地址和端口的 SYN 数据包。

    要指定数据包具有相同的源和目标 IP 地址,请使用该 ip-only 选项;要指定数据包具有相同的源和目标 IP 地址和端口,请使用该 ip-port 选项。

配置 TCP SYN 分段保护

要防止 TCP SYN 分段攻击:

  • 配置作为 IP 分段的 TCP SYN 数据包的识别和丢弃:

配置 WinNuke 保护

要防止 WinNuke 攻击:

  • 配置识别和丢弃发往端口 139 并设置了紧急 (URG) 标志的 TCP 分段。

配置服务集

要将 IDS 规则作应用于服务集:

  1. IDS 规则分配给 MS-MPC 上的服务集。

    如果服务集与 AMS 接口相关联,则您配置的会话限制适用于每个成员接口。

  2. 通过配置有状态防火墙规则来限制 IDS 规则处理的数据包(请参阅 配置有状态防火墙规则)。状态防火墙规则可以识别应进行 IDS 处理的流量或应跳过 IDS 处理的流量:
    • 要允许对与状态防火墙规则 accept 匹配的流量进行 IDS 处理,请在层次结构级别包含 [edit services stateful-firewall rule rule-name term term-name then]

    • 要对与状态防火墙规则 accept skip-ids 匹配的流量跳过 IDS 处理,请在层次结构级别包含 [edit services stateful-firewall rule rule-name term term-name then]

  3. 状态防火墙规则分配给服务集。

配置标头异常攻击防护

使用以下任一方法启用标头完整性检查,丢弃任何具有标头异常的数据包,以防止标头异常攻击:

  • 配置状态防火墙规则、NAT 规则或 IDS 规则,并将其应用于 MS-MPC 上的服务集。标头完整性检查将自动启用。
  • 为 MS-MPC 上的服务集配置标头完整性检查。

配置 MS-MPC 上的网络攻击防护丢包日志记录

要配置由于标头完整性、可疑数据包模式以及 MS-MPC 执行的会话限制检查而导致的数据包丢弃日志记录:

  1. 配置由于标头完整性故障和可疑数据包模式导致的数据包丢弃的日志记录。
  2. 配置因违反会话限制而导致的数据包丢弃日志记录。