IDP 应用程序识别
瞻博网络提供预定义的应用程序签名,用于检测在非标准端口上运行的传输控制协议 (TCP) 和用户数据报协议 (UDP) 应用程序。
有关详细信息,请参阅以下主题:
了解 IDP 应用程序识别
瞻博网络提供预定义的应用程序签名,用于检测在非标准端口上运行的传输控制协议 (TCP) 和用户数据报协议 (UDP) 应用程序。识别这些应用程序后,入侵检测和防御 (IDP) 可以将相应的攻击对象应用于在非标准端口上运行的应用程序。它还通过缩小没有解码器的应用程序的攻击签名范围来提高性能。
IDP 传感器监控网络,并根据 IDP 规则库中定义的特定规则检测可疑和异常网络流量。它根据协议或应用程序将攻击对象应用于流量。应用程序签名使传感器能够识别在非标准端口上运行的已知和未知应用程序,并应用正确的攻击对象。
应用程序签名作为瞻博网络提供的安全包的一部分提供。下载预定义的应用程序签名以及安全包更新。不能创建应用程序签名。有关下载安全包的信息,请参阅 手动更新 IDP 签名数据库概述。
在所有分支 SRX 系列防火墙上,ASC 表中支持的最大条目数为 100,000 个条目。由于用户土地缓冲区的固定大小为 1 MB,因此该表最多显示 38,837 个缓存条目。
SRX320 设备支持的最大 IDP 会话数为 16,384,SRX345 设备上为 32,768。
在 NFX150-C-S1 设备的默认配置文件上,支持的最大 IDP 会话数为 8000,在 NFX150-C-S1 设备的 SD-WAN 配置文件上支持 16,000。支持的最大 IDP 会话数在 NFX150-S1 的默认配置文件上为 8000,在 NFX150-S1 设备的 SD-WAN 配置文件上为 64,000。
默认情况下,仅当启用了请求应用程序标识的服务(例如 IDP、AppFW、AppTrack 或 AppQoS)来调用应用程序标识时,才会启用应用程序标识。如果这些策略或配置都不存在,则不会自动触发应用程序识别。但是,当您在策略规则中指定应用程序时,IDP 将使用指定的应用程序,而不是应用程序标识结果。有关在策略规则中指定应用程序的说明,请参阅 示例:配置 IDP 应用程序和服务。
默认情况下,应用程序标识处于启用状态。要使用 CLI 禁用应用程序识别,请参阅 禁用和重新启用 Junos OS 应用程序识别。
在所有分支 SRX 系列防火墙上,IDP 不允许对非数据包上下文进行标头检查。
在主动/主动和主动/被动机箱群集中部署的 IDP 具有以下限制:
不检查故障转移或故障回复的会话。
IP 操作表不会跨节点同步。
辅助节点上的路由引擎可能无法访问只能通过数据包转发引擎访问的网络。
SSL 会话 ID 缓存不会跨节点同步。如果 SSL 会话重复使用会话 ID,并且恰好在缓存会话 ID 的节点以外的节点上处理,则无法解密 SSL 会话,并且将被绕过以进行 IDP 检查。
部署在主动/主动机箱群集中的 IDP 有一个限制,即对于时间绑定范围的源流量,如果来自源(具有多个目标)的攻击具有跨节点分布的活动会话,则可能无法检测到攻击,因为时间绑定计数具有仅限本地节点的视图。检测此类攻击需要对当前不支持的时间绑定状态进行 RTO 同步。
参见
按攻击对象了解 IDP 服务和应用程序绑定
攻击对象可以通过不同的方式绑定到应用程序和服务:
攻击对象可以隐式绑定到应用程序,但没有服务定义。它们根据上下文或异常的名称绑定到应用程序。
攻击对象可以使用服务名称绑定到服务。
攻击对象可以使用 TCP 或 UDP 端口、ICMP 类型或代码或 RPC 程序号绑定到服务。
指定的应用程序或服务绑定是否适用取决于完整的攻击对象定义以及 IDP 策略配置:
如果在攻击对象定义中指定应用程序,则会忽略服务字段。攻击对象绑定到应用程序而不是指定的服务。但是,如果在攻击对象定义中指定了服务而没有应用程序,则攻击对象将绑定到该服务。 表 1 汇总了具有应用程序标识的应用程序和服务绑定的行为。
表 1:具有应用程序标识的应用程序和服务 攻击对象字段
绑定行为
应用程序识别
:application (http)
:service (smtp)
绑定到应用程序 HTTP。
服务字段将被忽略。
启用
:service (http)
绑定到应用程序 HTTP。
启用
:service (tcp/80)
绑定到 TCP 端口 80。
禁用
例如,在以下攻击对象定义中,攻击对象绑定到应用程序 HTTP,启用应用程序标识,忽略服务字段 SMTP 。
: (“http-test” :application (“http”) :service (“smtp”) :rectype (signature) :signature ( :pattern (“.*TERM=xterm; export TERM=xterm; exec bash – i\x0a\x.*”) :type (stream) ) :type (attack-ip) )
如果攻击对象基于特定于服务的上下文(例如 http-url)和异常(例如, tftp_file_name_too_long),则应用程序字段和服务字段都将被忽略。服务上下文和异常意味着应用程序;因此,当您在攻击对象中指定这些内容时,将应用应用程序标识。
如果在策略中配置特定应用程序,则会覆盖攻击对象中指定的应用程序绑定。 表 2 总结了与 IDP 策略中应用程序配置的绑定。
表 2: IDP 策略中的应用程序配置 策略中的应用程序类型
绑定行为
应用程序识别
Default
绑定到攻击对象定义中配置的应用程序或服务。
为基于应用程序的攻击对象启用
对基于服务的攻击对象禁用
Specific application
绑定到攻击对象定义中指定的应用程序。
禁用
Any
绑定到所有应用程序。
禁用
如果在 IDP 策略中指定应用程序,则在攻击对象定义和 IDP 策略中配置的应用程序类型必须匹配。策略规则不能指定两个不同的应用程序(一个在攻击对象中,另一个在策略中)。
当在 IDP 配置中指定了基于不同应用程序的攻击并且提交失败时,应用程序不能。 any
请改用默认值。
为应用程序配置 IDS 规则时,不推荐使用此选项 any
。
但是,当应用程序在 any
IDP 配置中使用自定义攻击组时,提交会成功通过。因此,提交检查不会检测到这种情况。
参见
了解嵌套应用程序的 IDP 应用程序标识
随着应用程序协议封装的广泛使用,需要支持识别在同一第 7 层协议上运行的多个不同应用程序。例如,Facebook和Yahoo Messenger等应用程序都可以在HTTP上运行,但需要将它们识别为在同一第7层协议上运行的两个不同应用程序。为此,当前的应用程序识别层分为两层:第 7 层应用程序和第 7 层协议。
已创建包含的预定义应用程序签名来检测第 7 层应用程序,而现有的第 7 层协议签名仍以相同的方式运行。这些预定义的应用程序签名可用于攻击对象。
参见
示例:配置 IDP 策略以进行应用程序识别
此示例说明如何配置 IDP 策略以进行应用程序识别。
要求
准备工作:
配置网络接口。
下载应用程序包。
概述
在此示例中,您将创建 IDP 策略 ABC 并在 IPS 规则库中定义规则 123。您可以在 IDP 策略规则中指定默认值作为应用程序类型。如果指定应用程序而不是默认值,则将为此规则禁用应用程序识别功能,并且 IDP 会将流量与指定的应用程序类型匹配。此时无法直接引用在应用程序标识下定义的应用程序。
配置
程序
分步过程
要为应用程序识别配置 IDP 策略,请执行以下操作:
创建 IDP 策略。
[edit] user@host# set security idp idp-policy ABC
指定应用程序类型。
[edit] user@host# set security idp idp-policy ABC rulebase-ips rule 123 match application default
指定满足匹配条件时要执行的操作。
[edit] user@host# set security idp idp-policy ABC rulebase-ips rule 123 then action no-action
如果完成设备配置,请提交配置。
[edit] user@host# commit
验证
要验证配置是否正常工作,请输入 show security idp
命令。
了解 IDP 应用程序识别的内存限制设置
虽然不能使用 IDP 签名数据库创建应用程序签名,但可以配置传感器设置以限制运行应用程序标识的会话数,并限制应用程序标识的内存使用量。
会话的内存限制 — 您可以配置可用于保存数据包以进行一个 TCP 或 UDP 会话的应用程序识别的最大内存字节量。您还可以为应用程序标识的全局内存使用量配置限制。在系统达到会话的指定内存限制后,将禁用会话的应用程序标识。然而,境内流离失所者继续与模式相匹配。匹配的应用程序将保存到缓存中,以便下一个会话可以使用它。这可以防止攻击者试图通过有目的地发送大型客户端到服务器数据包来绕过应用程序识别。
会话数 - 您可以配置可以同时运行应用程序标识的最大会话数。系统达到指定的会话数后,将禁用应用程序标识。您可以限制会话数,以便防止拒绝服务 (DOS) 攻击,当太多连接请求不堪重负并耗尽系统上所有已分配的资源时,就会发生这种攻击。
表 3 提供了 SRX3400、SRX3600、SRX5600 和 SRX5800 设备的中心点 (CP) 会话号的容量。
SRX 系列设备 |
最大会话数 |
中心点 (CP) |
---|---|---|
SRX3400 |
225 万 |
组合模式 CP |
SRX3600 |
225 万 |
组合模式 CP |
SRX5600 |
900 万 225 万 |
完整 CP 组合模式 CP |
SRX5800 |
1000 万 225 万 |
完整 CP 组合模式 CP |
示例:为 IDP 应用程序识别服务设置内存限制
此示例说明如何为 IDP 应用程序识别服务配置内存限制。
要求
准备工作:
配置网络接口。
下载签名数据库。请参阅 示例:手动更新 IDP 签名数据库。
概述
在此示例中,您将 5000 个内存字节配置为可用于保存数据包以进行一个 TCP 会话的应用程序识别的最大内存量。
配置
程序
分步过程
要为 IDP 应用程序识别服务配置内存和会话限制,请执行以下操作:
指定应用程序标识的内存限制。
[edit] user@host# set security idp sensor-configuration application-identification max-tcp-session-packet-memory 5000
如果完成设备配置,请提交配置。
[edit] user@host# commit
验证
要验证配置是否正常工作,请输入 show security idp memory
命令。
验证应用程序识别过程的 IDP 计数器
目的
验证应用程序识别过程的 IDP 计数器。
行动
从 CLI 中输入 show security idp counters application-identification
命令。
示例输出
命令名称
user@host> show security idp counters application-identification IDP counters: IDP counter type Value AI cache hits 2682 AI cache misses 3804 AI matches 74 AI no-matches 27 AI-enabled sessions 3804 AI-disabled sessions 2834 AI-disabled sessions due to cache hit 2682 AI-disabled sessions due to configuration 0 AI-disabled sessions due to protocol remapping 0 AI-disabled sessions due to non-TCP/UDP flows 118 AI-disabled sessions due to no AI signatures 0 AI-disabled sessions due to session limit 0 AI-disabled sessions due to session packet memory limit 34 AI-disabled sessions due to global packet memory limit 0
意义
输出显示应用程序标识计数器的摘要。验证以下信息:
AI 缓存命中数 - 显示应用程序标识缓存上的命中次数
AI 缓存未命中 - 显示应用程序匹配但未添加应用程序标识缓存条目的次数。
AI 匹配 - 显示应用程序匹配的次数,并添加应用程序标识缓存条目。
AI 不匹配 - 显示应用程序不匹配的次数。
启用 AI 的会话 - 显示启用了应用程序识别的会话数。
AI 禁用会话 - 显示禁用应用程序标识的会话数。
由于缓存命中而禁用 AI 的会话 - 显示匹配缓存条目后禁用应用程序标识的会话数。此会话的应用程序识别过程已停止。
由于配置而禁用 AI 的会话 - 显示由于传感器配置而禁用应用程序标识的会话数。
由于协议重新映射而禁用 AI 的会话 — 显示由于您在 IDP 策略规则定义中配置了特定服务而被禁用应用程序标识的会话数。
由于非 TCP/UDP 流而禁用 AI 的会话 - 显示由于会话不是 TCP 或 UDP 会话而被禁用应用程序标识的会话数。
由于没有 AI 签名而禁用 AI 的会话 - 显示由于在应用程序标识签名上找不到匹配项而禁用应用程序标识的会话数。
由于会话限制而禁用 AI - 显示由于会话已达到配置的最大限制而禁用应用程序标识的会话数。应用程序标识也会在将来的会话中禁用。
由于会话数据包内存限制而禁用 AI — 显示由于会话已达到 TCP 或 UDP 流的最大内存限制而被禁用应用程序标识的会话。应用程序标识也会在将来的会话中禁用。
由于全局数据包内存限制而禁用 AI — 显示由于达到最大内存限制而禁用应用程序标识的会话。应用程序标识也会在将来的会话中禁用。