• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

09-安全命令参考

目录

19-应用层检测引擎命令

本章节下载 19-应用层检测引擎命令  (166.31 KB)

docurl=/cn/Service/Document_Software/Document_Center/Home/Security/00-Public/Command/Command_Manual/H3C_CR(V7)(R8501_R8120_R8512)-6W202/09/201909/1231168_30005_0.htm

19-应用层检测引擎命令


1 应用层检测引擎

1.1  应用层检测引擎配置命令

1.1.1  display inspect status

display inspect status命令用来显示应用层检测引擎的工作状态。

【命令】

display inspect status

【视图】

任意视图

【缺省用户角色】

network-admin

network-operator

context-admin

context-operator

【举例】

# 显示应用层检测引擎的运行状态。

<Sysname> display inspect status

Chassis 0 Slot 1:

 Running status: normal

表1-1 display inspect status命令显示信息描述表

字段

描述

Running status

应用层检测引擎的运行状态,包括如下取值:

·         bypass by configure:因为配置原因引擎无法处理报文

·         bypass by cpu busy:因为CPU使用率过高导致引擎无法处理报文

·         normal:引擎工作正常

 

1.1.2  inspect activate

inspect activate命令用来激活NBAR业务模块的规则配置。

【命令】

inspect activate

【缺省情况】

NBAR业务模块的规则被创建、修改和删除时不生效。

【视图】

系统视图

【缺省用户角色】

network-admin

context-admin

【使用指导】

当NBAR规则被创建、修改和删除后,需要执行inspect activate命令来使其策略和规则配置生效。

当NBAR规则被创建、修改和删除且保存配置的情况下,设备重启之后,其相关的所有策略和规则配置也会生效。

执行此命令会暂时中断NBAR业务的处理,为了避免重复执行此命令对NBAR业务造成影响,请完成部署NBAR业务所有规则后统一执行此命令。

有关NBAR(Network Based Application Recognition,基于内容特征的应用层协议识别)的详细介绍请参见“安全配置指导”中的“APR”。

【举例】

# 激活NBAR业务规则配置。

<Sysname> system-view

[Sysname] inspect activate

1.1.3  inspect bypass

inspect bypass命令用来关闭应用层检测引擎功能。

undo inspect bypass命令用来开启应层检测引擎功能。

【命令】

inspect bypass

undo inspect bypass

【缺省情况】

应用层检测引擎功能处于开启状态。

【视图】

系统视图

【缺省用户角色】

network-admin

context-admin

【使用指导】

应用层检测引擎对报文的检测是一个复杂且会占用一定的系统资源的过程。开启应用层检测功能后,如果出现CPU使用率过高等情况时,可以通过关闭此功能来保证设备的正常运行。

关闭应层检测引擎功能后,系统将不会对接收到的报文进行NBAR识别。

有关NBAR(Network Based Application Recognition,基于内容特征的应用层协议识别)的详细介绍请参见“安全配置指导”中的“APR”。

【举例】

# 关闭应用层检测引擎功能。

<Sysname> system-view

[Sysname] inspect bypass

【相关命令】

·            display inspect status

1.1.4  inspect cache-option maximum

inspect cache-option maximum命令用来配置应用层检测引擎缓存待检测规则的选项的最大数目。

undo cache-option命令用来恢复缺省情况。

【命令】

inspect cache-option maximum max-number

undo inspect cache-option

【缺省情况】

应用层检测引擎缓存待检测规则的选项的最大数目为32。

【视图】

系统视图

【缺省用户角色】

network-admin

context-admin

【参数】

max-number:指定应用层检测引擎在检测报文时,对每条TCP/UDP流缓存待检测规则的选项的最大数目,取值范围为1~254。

【使用指导】

应用层检测引擎中的检测规则是由NBAR业务模块中的规则或特征转换而成。有关NBAR(Network Based Application Recognition,基于内容特征的应用层协议识别)的详细介绍请参见“安全配置指导”中的“APR”。

有时应用层检测引擎在检测一条TCP/UDP数据流时,虽然匹配上了一个或多个关键字,但是只根据当前TCP/UDP报文的内容,不能确定检测规则是否能够被匹配上,因此需要对这些检测规则的选项进行缓存,通过继续检测后续报文是否能够匹配上这些检测规则的选项,来判断是否能识别出此条TCP/UDP数据流的应用或行为。

通常,使用缺省配置即可满足应用需求。但是在某些场景中,为了提高应用层检测引擎对TCP/UDP数据流应用或行为的识别能力和准确率,需要将应用层检测引擎当前缓存待检测选项的最大数调高,调高后,每条数据流占用的内存可能会上升。同理某些场景下,设备内存使用率偏高,可以调低这个参数,提高设备性能,以保证基础的数据转发正常进行。

例如当前应用层检测引擎有5000条检测规则,每条检测规则有一个关键字,那么当前应用层检测引擎中一共有5000个关键字。应用层检测引擎需要检测一条TCP/UDP数据流的报文的载荷部分是否存在这5000个关键字,一种可能的情况是当前报文中存在10个关键字。根据应用层检测引擎的工作原理可知,这10个关键字所属的10条检测规则,要求关键字之后的载荷部分各自需要匹配出10个不同的选项,因为每个选项都是对一个完整TCP/UDP数据流的检测,所以仅仅根据当前报文载荷就不能确定这些选项是否能被匹配上。因此需要针对这条TCP/UDP数据流缓存10个选项,通过继续检测后续报文是否能够匹配上这些检测规则的选项,来判断是否能识别出此条TCP/UDP数据流的应用层或行为。

一般一个检测规则可以对应多个关键字,每个关键字对应多个选项。

【举例】

# 配置应用层检测引擎缓存待检测规则的选项的最大数目为4。

<Sysname> system-view

[Sysname] inspect cache-option maximum 4

1.1.5  inspect cpu-threshold disable

inspect cpu-threshold disable命令用来关闭CPU门限响应功能。

undo inspect cpu-threshold disable命令用来恢复CPU门限响应功能。

【命令】

inspect cpu-threshold disable

undo inspect cpu-threshold disable

【缺省情况】

CPU门限响应功能处于开启状态。

【视图】

系统视图

【缺省用户角色】

network-admin

context-admin

【使用指导】

应用层检测引擎对报文的检测是一个比较复杂且会占用一定系统资源的过程。当设备的CPU利用率低于配置的CPU利用率阈值或恢复到CPU利用率恢复阈值时,系统对整条数据流的内容进行检测。当CPU利用率达到设备上配置的CPU利用率阈值时,系统触发CPU门限响应功能,系统会根据如下情况对数据流做出不同的处理:

·            若固定长度数据流检测功能处于关闭状态,则系统会自动关闭应用层检测引擎的检测功能来保证设备的正常运行。

·            若固定长度数据流检测功能处于开启状态,则应用层检测引擎只对一条数据流首包后固定长度内的数据进行检测,超出固定长度后的的数据不再进行检测。

·            若应用层检测引擎CPU门限响应功能处于关闭状态,则系统仍然对整条数据流的内容进行检测。

在系统CPU占用率较高的情况下,不建议用户关闭此功能。

【举例】

# 关闭CPU门限响应功能。

<Sysname> system-view

[Sysname] inspect cpu-threshold disable

【相关命令】

·            display inspect status

·            inspect bypass

·            inspect stream-fixed-length disable

1.1.6  inspect optimization disable

inspect optimization disable命令用来关闭指定的应用层检测引擎的优化调试功能。

undo inspect optimization disable命令用来开启指定的应用层检测引擎的优化调试功能。

【命令】

inspect optimization [ chunk | no-acsignature | raw | uncompress | url-normalization ] disable

undo inspect optimization [ chunk | no-acsignature | raw | uncompress | url-normalization ] disable

【缺省情况】

应用层检测引擎的所有优化调试功能处于开启状态。

【视图】

系统视图

【缺省用户角色】

network-admin

context-admin

【参数】

chunk:表示应用层检测引擎对Chunk格式报文进行解码的优化调试功能。

no-acsignature:表示应用层检测引擎对没有关键字检测规则进行检测的优化调试功能。

raw:表示应用层检测引擎对未经解码TCP/UDP的应用层载荷字段进行检测的优化调试功能。

uncompress:表示应用层检测引擎对HTTP Body字段进行解压缩的优化调试功能。

url-normalization:表示应用层检测引擎对HTTP URL字段进行正规化校准的优化调试功能。

【使用指导】

如果不指定任何参数,则表示关闭或开启应用层检测引擎的所有优化调试功能。

有关应用层检测引擎的各种优化调试功能的详细介绍如下:

应用层检测引擎对Chunk格式报文进行解码的优化调试功能:Chunk是HTTP协议载荷(Body)的一种传输方式,对于以Chunk方式传输的HTTP协议的载荷,需要先对其进行解码以获取真正的载荷内容。但是在某些应用场景下,设备的处理性能不能满足用户基本的通信需求,这时,可以通过配置此命令来关闭应层检测引擎解码Chunk格式报文的功能,以提高设备的吞吐量。但是配置此功能后,应用层检测引擎对某些针对安全漏洞的攻击行为不能被识别。

应用层检测引擎对没有关键字检测规则进行检测的优化调试功能:没有关键字的检测规则是指此规则不是基于字符串匹配进行检测,而是基于报文的端口号、错误码等字段进行检测。缺省情况下应用层检测引擎对没有关键字的检测规则进行检测,但是在某些场景下,如果设备的吞吐量较差,不能满足客户基本的通信需求,此时可以配置应用层检测引擎对没有关键字的检测规则不进行检测,以提高设备的性能,保证用户最基础的网络通信。

应用层检测引擎对未经解码TCP/UDP的应用层载荷字段进行检测的优化调试功能:有些TCP/UDP数据流的应用层协议(例如HTTP、SMTP、POP3、IMAP4)涉及编码和解码处理,而对该类数据流的应用层内容的检测需要在对报文载荷进行解码之后进行。如果当前设备的处理性能不能满足用户基本的通信需求,可以通过该命令取消对未解码的应用层载荷字段的检测,以提高设备的吞吐量。但是配置此功能后,应用层检测引擎对报文载荷内容的应用或行为的识别能力会受到影响。

应用层检测引擎对HTTP Body字段进行解压缩的优化调试功能:如果报文的HTTP Body字段是压缩编码,应用层检测引擎需要先对HTTP Body字段进行解压缩后,才能对此字段的内容进行检测。但是在某些应用场景下,设备的处理性能不能满足用户基本的通信需求,这时,可以通过配置此命令来取消对HTTP Body字段的压缩编码进行解压缩处理,以提高设备的吞吐量。但是配置此功能后,应用层检测引擎对某些针对安全漏洞的攻击行为不能被识别。

应用层检测引擎对HTTP URL字段进行正规化校准的优化调试功能:对HTTP URL字段进行正规化校准功能是指把URL中绝对路径字调整为常规路径格式,对特殊的路径字段进行调整和正确性检查。例如报文URL中绝对路径部分输入的是test/nbar/../index.html,正规化处理后是test/index.html。但是在某些应用场景下,设备的处理性能不能满足用户基本的通信需求,这时,可以通过配置此命令来取消对HTTP URL字段进行正规化校准处理,以提高设备的吞吐量。但是配置此功能后,应用层检测引擎对某些针对安全漏洞的攻击行为不能被识别。

【举例】

# 关闭应用层检测引擎的所有优化调试功能。

<Sysname> system-view

[Sysname] inspect optimization disable

1.1.7  inspect packet maximum

inspect packet maximum命令用来配置应用层检测引擎可检测有载荷内容的报文的最大数目。

undo inspect packet命令用来恢复缺省情况。

【命令】

inspect packet maximum max-number

undo inspect packet

【缺省情况】

应用层检测引擎可检测有载荷内容的报文的最大数目为32。

【视图】

系统视图

【缺省用户角色】

network-admin

context-admin

【参数】

max-number:指定应用层检测引擎检测有载荷内容的报文的最大数目,取值范围为1~254。

【使用指导】

应用层检测引擎在对一个数据流的第一个有载荷内容的报文进行检测时,如果没有匹配上任何检测规则,则需要继续检测此数据流的第二个有载荷内容的报文,以此类推。如果直到设备设置的最大报文检测个数还未匹配上任何检测规则,则表示对此数据流匹配失败,并直接允许此数据流通过。

通常,使用缺省配置即可满足应用需求。但是在某些应用场景中,应用层检测引擎在检测有载荷内容的报文的个数达到指定的个数之后,仍然不能识别当前报文应用层信息的应用或行为,此时需要调高这个参数。调高此参数后,设备的吞吐量性能会下降,但是应用识别的成功率会增加。同理在设备吞吐量较差,不能满足客户需求的应用场景中,此时需要调低这个参数,调低参数后,吞吐量会增加,但是应用识别成功率会降低。

【举例】

# 配置应用层检测引擎可检测有载荷内容的报文的最大数目为16。

<Sysname> system-view

[Sysname] inspect packet maximum 16

1.1.8  inspect signature auto-update proxy

inspect signature auto-update proxy命令用来配置NBAR业务特征库在线升级所使用的代理服务器。

undo inspect signature auto-update proxy命令用来恢复缺省情况。

【命令】

inspect signature auto-update proxy { domain domain-name | ip ip-address } [ port port-number ] [ user user-name password { cipher | simple } string ]

undo inspect signature auto-update proxy

【缺省情况】

未配置NBAR业务特征库在线升级所使用的代理服务器。

【视图】

系统视图

【缺省用户角色】

network-admin

context-admin

【参数】

domain domain-name:指定代理服务器的域名。domain-name表示代理服务器的域名,为3~63个字符的字符串,不区分大小写。

ip ip-address:指定代理服务器的IP地址,仅支持IPv4类型地址。

port port-number:指定代理服务器的端口号,取值范围为1~65535,缺省值为80。

user user-name:指定登录代理服务器的用户名。user-name表示用户名,为1~31个字符的字符串,不区分大小写。

password:指定登录代理服务器的用户密码。

cipher:表示以密文方式设置密码。

simple:表示以明文方式设置密码,该密码将以密文形式存储。

string:密码字符串,区分大小写。明文密码为1~31个字符的字符串,密文密码为1~73个字符的字符串。

【使用指导】

当NBAR业务模块的特征库进行在线升级时,若设备不能连接到H3C官方网站,则可配置一个代理服务器使设备连接到H3C官方网站上的特征库服务专区,进行特性库在线升级。

多次执行本命令,最后一次执行的命令生效。

有关NBAR(Network Based Application Recognition,基于内容特征的应用层协议识别)的详细介绍请参见“安全配置指导”中的“APR”。

【举例】

# 配置NBAR业务特征库在线升级所使用的代理服务器域名为www.abc.com,端口号为8888,登录代理服务器的用户名和密码均为admin。

<Sysname> system-view

[Sysname] inspect signature auto-update proxy domain www.abc.com port 8888 user admin password simple admin

1.1.9  inspect stream-fixed-length disable

inspect stream-fixed-length disable命令用来关闭应用层检测引擎检测固定长度数据流功能。

undo inspect stream-fixed-length disable命令用来开启应用层检测引擎检测固定长度数据流功能。

【命令】

inspect stream-fixed-length disable

undo inspect stream-fixed-length disable

【缺省情况】

应用层检测引擎检测固定长度数据流功能处于开启状态。

【视图】

系统视图

【缺省用户角色】

network-admin

context-admin

【使用指导】

应用层检测引擎检测固定长度数据流功能,是指当设备的CPU利用率达到设备上配置的CPU利用率阈值时,应用层检测引擎只检测每条数据流首包后固定长度内的数据,不再检测超出固定长度后的数据。当设备的CPU利用率恢复到设备上配置的CPU利用率恢复阈值时,系统会对整条数据流的内容进行检测。有关CPU利用率的详细配置请参见“基础配置指导”中的“设备管理”。

开启应用层检测引擎CPU门限响应功能,此功能才会生效。

当设备的CPU利用率较高的情况下,建议关闭此功能,此时应用层检测引擎CPU门限响应功能开启的情况下,系统会自动关闭应用层检测引擎的检测功能来保证设备的正常运行。

【举例】

# 关闭应用层检测引擎检测固定长度数据流功能。

<Sysname> system-view

[Sysname] inspect stream-fixed-length disable

【相关命令】

·            inspect cpu-threshold disable

·            inspect stream-fixed-length

1.1.10  inspect stream-fixed-length

inspect stream-fixed-length命令用来配置应用层检测引擎检测数据流的固定长度。

undo inspect stream-fixed-length命令用来恢复缺省情况。

【命令】

inspect stream-fixed-length { email I ftp | http } * length

undo inspect stream-fixed-length

【缺省情况】

应用层检测引擎对FTP协议、HTTP协议和与E-mail相关协议数据流的固定检测长度均为32千字节。

【视图】

系统视图

【缺省用户角色】

network-admin

context-admin

【参数】

email:表示设置检测与E-mail协议相关类型数据流的固定长度,支持的E-mail协议包括SMTP、POP3和IMAP。

ftp:表示设置检测FTP协议类型数据流的固定长度。

http:表示设置检测HTTP协议类型数据流的固定长度。

length:表示设置检测指定协议类型数据流的固定长度,取值范围为1~128,单位为千字节。

【使用指导】

调高此参数后,设备的吞吐量性能会下降,但是应用层信息识别的成功率会提高;同理调低参数后,设备的吞吐量会增加,但是应用层信息识别的成功率会降低。

【举例】

# 配置应用层检测引擎检测FTP协议类型数据流的固定长度为35千字节,检测HTTP协议类型数据流的固定长度为40千字节。

<Sysname> system-view

[Sysname] inspect stream-fixed-length ftp 35 http 40

【相关命令】

·            inspect cpu-threshold disable

·            inspect stream-fixed-length disable

1.1.11  inspect tcp-reassemble enable

inspect tcp-reassemble enable命令用来开启TCP数据段重组功能。

undo inspect tcp-reassemble enable命令用来关闭TCP数据段重组功能。

【命令】

inspect tcp-reassemble enable

undo inspect tcp-reassemble enable

【缺省情况】

TCP数据段重组功能处于关闭状态。

【视图】

系统视图

【缺省用户角色】

network-admin

context-admin

【使用指导】

大量的TCP乱序数据段极有可能会造成应用层检测引擎对此TCP数据流检测失败。例如应用层检测引擎需要检测TCP载荷中是否包含关键字“this is a secret”,由于数据段乱序,可能含有“a secret”的数据段先到达设备,含有“this is”的数据段后到达设备,这样就会造成应用层检测引擎对此TCP数据流检测失败。

为了提高应用层检测引擎对TCP数据流检测的准确率,可以在设备上开启TCP数据段重组功能。当接收到乱序的TCP数据段时,设备会将此数据段和来自于同一条数据流的后续数据段暂时保存至缓冲区,进行TCP数据段重组,完成数据段重组再送往后续流程处理。

若缓冲区中已缓存的数据段数目达到最大值(可以通过inspect tcp-reassemble max-segment命令来配置)时仍无法成功重组,则设备直接将已缓存的乱序数据段和此条数据流的所有后续TCP数据段送往后续流程处理,不再进行TCP重组。这样可以降低对设备转发性能的影响。

【举例】

# 开启TCP数据段重组功能。

<Sysname> system-view

[Sysname] inspect tcp-reassemble enable

【相关命令】

·            inspect tcp-reassemble max-segment

1.1.12  inspect tcp-reassemble max-segment

inspect tcp-reassemble max-segment命令用来配置TCP重组缓冲区可缓存的TCP数据段最大数目。

undo inspect tcp-reassemble max-segment命令用来恢复缺省情况。

【命令】

inspect tcp-reassemble max-segment max-number

undo inspect tcp-reassemble max-segment

【缺省情况】

TCP重组缓冲区可缓存的TCP数据段最大数目为10。

【视图】

系统视图

【缺省用户角色】

network-admin

context-admin

【参数】

max-number:表示TCP重组缓冲区可缓存的TCP数据段最大数目,取值范围为10~50。

【使用指导】

在存在大量TCP乱序数据段的网络环境中,调高此参数,则可提高应用层检测引擎对TCP数据段检测的准确率,但是设备转发性能可能会下降。若调低此参数可避免因长时间缓存TCP数据段而造成设备转发性能下降,但是应用层检测引擎对TCP数据段检测的准确率会降低。请根据实际情况调整此参数。

仅开启TCP数据段重组功能后,此命令才生效。

【举例】

# 配置TCP重组缓冲区中可缓存的TCP数据段最大数目为20个

<Sysname> system-view

[Sysname] inspect tcp-reassemble max-segment 20

【相关命令】

·            inspect tcp-reassemble enable

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们