Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

IDS on MS-DPC

在 MS-IDS 上配置规则DPC

IDS MS-DPC配置的规则,用于识别希望路由器软件对事件计数的信息流。由于IDS基于状态防火墙属性,因此您必须至少配置一个状态防火墙规则,并且将其与策略规则一起包含到IDS中;有关详细信息,请参阅 配置状态防火墙规则

注意:

要使用 MS-MPC 配置网络攻击防护,请参阅 在 MS-MPC 上配置网络攻击防护 。

要配置规则IDS,请包含 rule rule-name 层级的 [edit services ids] 语句:

每个IDS规则都由一组术语组成,类似于在层次结构级别配置的 [edit firewall] 过滤器。术语由以下内容组成:

  • from 语句 — 指定包括和排除的匹配条件和应用程序。

  • then 语句 — 指定由路由器软件执行的操作和操作修改器。

以下各节IDS详细介绍规则内容:

配置规则IDS方向

每个规则都必须包含一 match-direction 个语句,用于指定对接口的输入或输出侧应用匹配。要配置应用匹配的位置,请包含 match-direction (input | input-output | output) 层级的 [edit services ids rule rule-name] 语句:

如果配置 match-direction input-output,则双向规则创建为 。

匹配方向用于信息流通过 AS 或多服务 PIC。将数据包发送至 PIC 时,方向信息将随 PIC 一起传输。

使用接口服务集时,数据包方向由数据包是否进入或离开应用服务集的接口来确定。

使用下一跳跃服务集时,数据包方向由用于将数据包路由至路由器或多服务 PIC AS确定。如果使用内部接口来路由数据包,则数据包方向为输入。如果外部接口用于将数据包引导至 PIC,则数据包方向为输出。有关接口内外的信息,请参阅 配置要应用于服务接口 的服务集

在 AS 或多服务 PIC 上,执行流查找。如果未找到流,将执行规则处理。服务集内的所有规则都被视为。在规则处理期间,将数据包方向与规则方向进行比较。仅考虑具有与数据包方向匹配的方向信息的规则。

在标准规则IDS条件

要配置IDS匹配条件,请 from 包含 层级的 [edit services ids rule rule-name term term-name] 语句:

如果省略该 from 语句,软件接受所有事件,将其IDS缓存中以进行处理。

源地址和目标地址可以是 IPv4,也可以是 IPv6。您可以使用目标地址、一系列目标地址、源地址或一系列源地址作为匹配条件,就像配置防火墙过滤器一样;有关详细信息,请参阅 路由策略、防火墙过滤器和流量管制器用户指南

或者,您也可指定 prefix-list [edit policy-options] destination-prefix-list 源前缀或目标前缀列表,方法包括在层次结构级别中的 语句,然后在规则中包括 IDS source-prefix-list 语句。例如,请参阅 示例:配置状态防火墙规则

您还可以包括在层次结构级别 [edit applications] 配置的应用程序协议定义;有关详细信息,请参阅 配置应用程序属性

  • 要应用一个或多个特定应用程序协议定义,请包含 applications 层级的 [edit services ids rule rule-name term term-name from] 语句。

  • 要应用您定义的一组或多组应用程序协议定义,请包含 application-sets 层级的 [edit services ids rule rule-name term term-name from] 语句。

    注意:

    如果包括用于指定 [edit applications] 应用程序协议的语句之一,则路由器从层次结构级别的相应配置获取端口和协议信息;不能将这些属性指定为匹配条件。

如果应用程序上发生匹配,则应用程序协议在命令输出中单独 show services ids 显示。有关详细信息,请参阅 CLI Explorer

在规则IDS操作

要配置IDS操作,请 then 包含 层级的 [edit services ids rule rule-name term term-name] 语句:

您可以配置以下可能的操作:

  • aggregation— 路由器在将事件传递给其处理之前,聚合使用指定源或目标前缀IDS信息流。如果要检查与特定源或目标主机连接的所有流量,这很有帮助。要通过一些其他标记(例如特定应用程序或端口)来收集流量,请根据匹配条件配置该值。

    要配置聚合前缀,请添加 aggregation 层级 [edit services ids rule rule-name term term-name then] 的 语句并指定 source-prefixdestination-prefix source-prefix-ipv6或 的值 destination-prefix-ipv6

    和 的值 source-prefix 必须是 destination-prefix 1 到 32 的整数。和 的值 source-prefix-ipv6 必须是 destination-prefix-ipv6 1 到 128 之间的整数。

  • (force-entry | ignore-entry)force-entry 在注册一个事件IDS事件在缓存中提供一个永久位置。默认情况下,IDS软件不会记录有关没有可疑行为的"良好"数据包的信息。您可以使用该 force-entry 语句记录来自可疑主机的所有流量,甚至其他方式不会计算的流量。

    ignore-entry 可确保所有IDS事件均将被忽略。您可使用此语句忽略来自您信任主机的所有流量,包括您将视为事件IDS的任何临时异常。

    要配置与默认行为不同的条目行为,请包含 force-entry 层次结构级别的 [edit services ids rule rule-name term term-name then] or ignore-entry 语句:

  • logging—事件将记录在系统日志文件中。

    要配置日志记录,请包含 logging 层级的 [edit services ids rule rule-name term term-name then] 语句:

    您可以选择包括阈值速率以触发生成系统日志消息。阈值速率在每秒事件数中指定。IDS报告的每个异常每 60 秒生成一次日志。只要事件继续,就生成日志。

  • session-limit— 当达到指定阈值时,路由器会限制开放式会话。

    要配置阈值,请包含 session-limit 层级的 [edit services ids rule rule-name term term-name then] 语句:

    您可根据流量方向配置流量限制阈值:

    • 要限制来自一个内部主机或子网的传出会话数量,请配置 by-source 该语句。

    • 要限制一对 IP 地址、子网或应用程序之间的会话数量,请配置 by-pair 该语句。

    • 要将传入会话数限制为一个外部公共 IP 地址或子网,请配置 by-destination 该语句。

    对于每个方向,您可以配置以下阈值:

    • hold-time seconds— 当 rate 或 测量 packets 达到阈值时,请停止所有新流量的指定秒数。一 hold-time 旦生效,即使速率低于指定限制,流量也将被阻止一段指定的时间。默认情况下,值为 hold-time 0;范围为 0 到 60 秒。

    • maximum number— 每个 IP 地址或每个应用程序的子网的最大打开会话数。范围为 1 到 32,767。

    • packets number— 每个 IP 地址或子网每个应用程序的最大数据包数/秒 (pps)。范围为 4 到 2,147,483,647。

    • rate number— 每个 IP 地址或每个子网每秒的最大会话数。范围为 4 到 32,767。

      如果在层次结构级别配置的 [edit services ids rule rule-name term term-name from] 匹配条件中包括多个源地址,将单独针对每个源地址应用限制。例如,以下配置允许来自每个源地址的 20 个连接( 和10.1.1.1 10.1.1.2),而不是总共允许 20 个连接。相同的逻辑适用于 和 applications 匹配 destination-address 条件。

      注意:

      IDS限制适用于状态防火墙规则接受的数据包。它们不适用于状态防火墙规则丢弃或拒绝的数据包。例如,如果状态防火墙接受 75% 的传入流量,而其余 25% 被拒绝或丢弃,则 IDS 限制仅适用于 75% 的流量。

  • syn-cookie—路由器将激活 SYN-cookie 防御机制。

    要配置 SYN-cookie 值,请包含 syn-cookie 层级的 [edit services ids rule rule-name term term-name then] 语句:

    如果启用 SYN-cookie 防御,则必须同时包含阈值速率以触发 SYN-cookie 活动,以及针对 TCP 延迟绑定的传输控制协议 (TCP) 最大分段大小 (MSS) 值。阈值速率在 SYN 攻击中指定/秒。默认情况下,TCP MSS 值为 1500;范围为 128 到 8192。

    处理 SYN 泛滥攻击和 SYN Cookie 保护

    SYN 泛滥攻击的主要用途是在一个站点使用所有新的网络连接,从而阻止授权和合法用户连接到网络资源。SYN(同步序列号)数据包是第一个连接到系统的请求。SYN 数据包包含接收器必须响应的 ID。如果数据包包含非法 ID,则接收系统在响应预期的连接发起方时,会接收连接确认。最终,这个半开放式连接会过,接收器上的传入通道将再次可用,正常处理另一个请求。SYN 泛滥攻击发送许多此类请求,所有传入连接不断连接,等待从未收到的确认。这种情况导致服务器对合法用户不可用(但用户会话建立时恰好是其中一个已连接退出时)。SYN 泛滥攻击是无连接攻击。它不需要真实源 IP 地址,而且因为它使用合法目标 IP 或端口地址,因此基本上无法区分合法数据包。因此,仅使用过滤器或状态防火墙规则来阻止此类攻击极为困难。基本上,只有三种方法可防范此类攻击:

    • 拦截(延迟绑定)— 防火墙拦截传入 TCP 同步请求,并代表服务器与客户端以及客户端代表服务器建立连接。如果两个连接均成功,防火墙会透明地合并这两个连接。防火墙通常具有积极的超时时间,以防止其资源被 SYN 攻击使用。这是处理和内存要求方面最密集的解决方案。

    • 观看(SYN 防御)— 防火墙被动观察半开放式连接,在可配置的时间长度后主动关闭服务器上连接。

    • SYN cookie— SYN Cookie 是 TCP 服务器选择的初始 TCP 序列号的特定选择。当系统检测到 SYN 泛滥时,请求连接的主机必须使用 Cookie 连接到开放的 TCP 插槽IDS。

    瞻博网络路由器支持状态防火墙和IDS机制的组合,以支持 SYN cookie 和观察(SYN 防御)方法。SYN 泛滥攻击的关键在于填充受害者或受攻击网络元素的 SYN 队列。在 SYN 队列充满时,或在达到特定阈值时(对于防火墙或 IDS 应用程序)时,SYN cookie 防御方法可使受害者继续接受连接请求。达到阈值后,将基于 SYN 分段中的信息创建加密 Cookie(一个 32 位编号),并丢弃 SYN 分段。Cookie 用作发送至客户端的 SYN-ACK 中的初始序列号。Cookie(加一个)从合法客户端IDS在 ACK 中作为确认编号返回防火墙或应用程序。返回的 Cookie 可以进行验证,并且可以通过 Cookie 重新构建 SYN 分段的最重要的部分,从而允许建立连接。由于 SYN 泛滥欺骗客户端永远不会发送 ACKS,因此当使用 SYN cookie 时,任何状态均不会分配任何资源。首选只能对遭到攻击的主机使用 SYN 泛滥对策。异常表可用于可靠的攻击识别,也可在状态防火墙内启用。此类配置还有助于防止出现攻击时系统资源(特别是流表)耗尽。

    组合多个服务时,通用路径是向前和反向考虑的重要因素。在部署NAT前地址或更新NAT地址是否必须与规则匹配时,这NAT尤其如此。在从 LAN 接口到 WAN 接口的转发路径中,首先IDS防火墙和状态防火墙,然后是NAT IPSec。此服务处理顺序表示状态防火墙必须在预配置NAT地址上匹配,而 IPSec 隧道与后处理地址NAT匹配。在返回路径中,IPSec 数据包将先处理,然后NAT,最后是状态防火墙。此处理顺序仍然允许 IPSec 与公共地址和有状态防火墙匹配,以在专用地址上匹配。您必须单独配置防火墙、NAT和IDS服务。当在路由器中实施 GRE IPSec 且启用其他服务时,数据包处理变得更复杂。发生这种情况的原因是,Junos OS GRE 封装后,以独特方式处理 GRE 数据包。将数据包封装在 GRE 数据包中后,它以输入接口标记为下一跃点传出接口。如果不允许此服务的任何输入过滤器或输入服务,则这种标记方法会导致 GRE 数据包被阻止。

    Junos OS服务支持数量有限的IDS规则,以帮助检测流量模式的端口扫描和异常等攻击。它还通过限制流量、会话和速率,支持某些攻击防御。此外,它通过实施 SYN cookie 机制防范 SYN 攻击。由于入侵检测和防御 (IDP) 服务不支持更多层的应用程序签名,因此可以配置抵御 SYN 攻击的有效方法。安全IDP在很大程度上是一种监控工具,而不是一个基本的预防工具。为了防止 SYN 攻击,路由器将作为一种 SYN"代理"运行,并利用 Cookie 值。启用此功能时,路由器将使用序列号字段中唯一的 Cookie 值 SYN-ACK 数据包响应初始 SYN 数据包。如果发起方在序列字段中使用相同的 Cookie 做出响应,则接受 TCP 流;如果响应方不响应,或者响应方使用错误的 Cookie,则丢弃流。要触发此防御,您必须配置 SYN cookie 阈值。要启用 SYN cookie 防御,IDS规则操作必须包含一个阈值,用于指示何时应启用功能,以及一个 MSS 值,以避免路由器作为 SYN 代理管理分段分片:

在 MS-IDS上配置规则集DPC

您可以使用 语句 rule-set 定义一组IDS,这些规则用于确定路由器软件对数据流中的数据包执行哪些操作。这在 MS-DPC 卡上受支持。(要使用 MS-MPC 配置网络攻击防护,请参阅 在 MS-MPC 上配置网络攻击防护 。)

通过指定规则名称并配置术语,可定义每个规则。然后,您指定规则的顺序 rule-set [edit services ids] rule ,具体包括层级的 语句以及每个规则的语句:

路由器软件按在配置中指定的顺序处理规则。如果规则中的术语与数据包匹配,则路由器将执行相应的操作,并且规则处理停止。如果规则中的术语与数据包匹配,则处理将继续到规则集的下一个规则。如果没有与数据包匹配的规则,则默认情况下会丢弃该数据包。

示例:在 MS-IDS 上配置规则DPC

当遇到目标地址为 10.410.6.2 的流时,以下配置会将永久性条目添加到IDS异常表中。MS-DPC 卡上支持此示例。(要使用 MS-MPC 配置网络攻击防护,请参阅 在 MS-MPC 上配置网络攻击防护 。)

该IDS配置与状态防火墙机制结合使用,并在很大程度上依赖状态防火墙报告的异常情况。以下配置示例显示此关系:

状态防火墙或NAT服务用于为应用程序生成输入IDS数据。启用和配置 IDS时,您还必须至少启用一个规则(接受或丢弃所有流量)的状态防火墙。当系统遭受攻击时,状态防火墙会向系统发送正确且完整的攻击IDS列表。在网络环境中,您可以确保系统完全受到保护,抵御所有攻击,以便IDS报告所有这些攻击。将系统配置为免受所有攻击和未经身份验证的访问情景时,必须小心谨慎,使系统处理的流量带宽不受负担。验证与攻击对应的防火墙系统日志消息与数据表之间的关联IDS性。与IDS系统日志消息相比,安全表的异常或错误数必须相同或略少。您可以使用相应的 show 命令显示IDS表。

默认状态防火墙规则可能很简单,只需允许从内部接口到外部接口启动连接并丢弃所有其他数据包。但是,在真实单词网络环境中,规则通常更复杂,例如,要打开仅配置某个支路单元端口,使用应用程序层网关 (AALG) 处理复杂的协议,以及使用 NAT 进行传出连接和 HTTP 服务器等内部主机。因此,还必须根据需要配置系统,以使用简单而复杂的规则进行互操作。例如,如果 SYN 攻击直接定向到简单丢弃的内部地址,则无需向系统报告IDS情况。但是,如果 SYN 攻击定向到真正的 HTTP 服务器,则必须报告异常。安全IDS系统可以使用 TCP SYN cookie 防御功能缓解 SYN 攻击。您可以通过为给定主机设置每秒 SYN 阈值以及最大分段大小 (MSS) 来启用 SYN cookie 保护方法。由于IDS系统使用状态防火墙,因此必须在服务设置中定义防火墙规则。如果不在层次结构from[edit services service-set service-set-name stateful-firewall-rules rule-name term term-name]级别的有状态防火墙(规则术语匹配条件)中配置语句,它将设置所有事件都置于网络IDS缓存。

以下示例显示流限制的配置: