01-应用层检测引擎配置
本章节下载: 01-应用层检测引擎配置 (369.27 KB)
目 录
1.6.6 配置应用层检测引擎记录NFS协议文件名数量的上限值
1.7.3 配置特征库在线升级时访问的特征库服务器所属的VPN实例
1.7.4 配置特征库在线升级时发送给服务器的请求报文的源IP地址
1.7.6 配置设备向安全威胁发现与运营管理平台上报统计信息的地址
1.7.7 配置RBM组网中DPI业务数据同步时使用的端口号
应用层检测引擎服务于DPI业务模块,用于对报文的应用层信息(应用层协议以及应用行为)进行统一识别。DPI业务模块使用应用层检测引擎提供的识别结果,对报文进行相应的业务处理。
应用层检测引擎提供以下基本功能:
· 协议解析:识别并分析报文应用层字段,区分应用层协议,并对部分字段进行正规化和解压缩。
· 关键字匹配:根据检测规则对报文载荷内容进行关键字匹配,是应用层检测引擎的核心。
· 选项匹配:关键字匹配成功后,对其所属检测规则中的选项做进一步匹配。该过程与关键字匹配相比,匹配速度比较缓慢。
应用层检测引擎使用检测规则对报文进行匹配,检测规则由各DPI业务的规则或特征转换而成,包含关键字和选项两种匹配项。
· 关键字:标识报文特征的不少于3个字节的字符串,也称作“AC关键字”。
· 选项:非关键字的辅助匹配项,例如报文的端口号、协议类型等。
检测规则中可以同时包含关键字和选项,或者仅包含选项。如果检测规则中同时包含关键字和选项,则两者都被匹配上才算是与该检测规则匹配成功;如果检测规则中仅包含选项,则只要匹配选项就算与该检测规则匹配成功。
如图1-1所示,应用层检测引擎的具体工作机制如下:
应用层检测引擎的处理机制如下:
(1) 报文进入应用层检测引擎后,应用层检测引擎首先对报文进行协议解析,根据分析结果查找相应的检测规则。
(2) 应用层检测引擎判断检测规则中是否包含关键字,如果包含关键字,则首先进行关键字匹配,否则直接进行选项匹配。
(3) 如果报文匹配上关键字,则继续进行选项匹配(该选项是匹配上的关键字所属检测规则中的选项);如果报文未匹配上关键字,则直接允许报文通过。
(4) 如果报文与选项匹配成功,则表示此报文与该检测规则匹配成功。
(5) 应用层检测引擎通知相应的DPI业务模块对此报文做进一步的处理;如果报文与选项匹配失败,则直接允许报文通过。
应用层检测引擎配置任务如下:
(1) 配置DPI应用Profile
(3) (可选)优化应用层检测引擎性能
(4) (可选)配置应用层检测引擎CPU门限响应功能
(5) (可选)配置应用层检测引擎检测参数
(6) (可选)配置应用层检测引擎扩展功能
(7) (可选)关闭应用层检测引擎功能
缺省情况下,当任意一个DPI业务模块(比如NBAR业务)发生配置变更时(即策略或规则被创建、修改和删除),系统将会检测在20秒的间隔时间内是否再次发生了配置变更,并根据判断结果执行如下操作:
· 如果间隔时间内未发生任何配置变更,则系统将在下一个间隔时间结束时执行一次激活操作,使这些策略和规则的配置生效。
· 如果间隔时间内再次发生了配置变更,则系统将继续按照间隔时间周期性地检测是否发生配置变更。
如果用户希望对发生变化的业务的策略或规则立即进行激活,可执行inspect activate命令手工激活。
(1) 进入系统视图。
system-view
(2) 激活DPI业务模块的策略和规则配置。
inspect activate
缺省情况下,DPI业务模块的策略和规则被创建、修改和删除后系统会自动激活配置。
执行此命令会暂时中断DPI业务的处理,可能导致其他基于DPI功能的业务同时出现中断。例如,七层负载均衡业务无法基于应用进行负载分担等。
对经过压缩或编码等处理后的报文应用层信息进行识别时,需要应用层检测引擎先对此类报文进行解压缩或解码等相应处理后才能识别。通过开启应用层检测引擎性能优化功能或调高各项性能参数,可以提高应用层信息的识别能力和准确率,但同时也会消耗一定的系统资源。
(1) 进入系统视图。
system-view
(2) 配置应用层检测引擎可检测有载荷内容的报文的最大数目。
inspect packet maximum max-number
缺省情况下,应用层检测引擎可检测有载荷内容的报文的最大数目为32。
(3) 配置应用层检测引擎缓存待检测选项的最大数目。
inspect cache-option maximum max-number
缺省情况下,应用层检测引擎缓存待检测选项的最大数目为32。
(4) 配置TCP数据段重组功能。
a. 开启TCP数据段重组功能。
inspect tcp-reassemble enable
缺省情况下,TCP数据段重组功能处于关闭状态。
b. 配置TCP数据段重组缓存区可缓存的TCP数据段最大数目。
inspect tcp-reassemble max-segment max-number
缺省情况下,TCP数据段重组缓冲区可缓存的TCP数据段最大数目为10。
(5) 开启SMB协议报文重组功能。
inspect smb-reassemble enable
缺省情况下,SMB协议报文重组功能处于关闭状态。
(6) (可选)关闭指定的应用层检测引擎的优化调试功能。
inspect optimization [ chunk | no-acsignature | raw | uncompress | url-normalization ] disable
缺省情况下,应用层检测引擎的所有优化调试功能处于开启状态。
如果设备的吞吐量较差,不能满足基本的通信需求,可关闭相关优化调试功能提高设备的性能。
应用层检测引擎对报文的检测是一个比较复杂且会占用一定系统资源的过程。当设备的CPU利用率较高时,应用层检测引擎CPU门限响应功能会启动如下机制来缓解系统资源紧张的问题。
· 当CPU利用率达到设备上配置的CPU利用率阈值时,系统会自动关闭应用层检测引擎的检测功能来保证设备的正常运行。
· 当设备的CPU利用率恢复到或低于设备上配置的CPU利用率恢复阈值时,系统会恢复应用层检测引擎的检测功能。
有关CPU利用率的详细配置请参见“基础配置指导”中的“设备管理”。
在系统CPU占用率较高的情况下,建议保持应用层检测引擎CPU门限响应功能处于开启状态;在系统CPU占用率较低的情况下,可以考虑关闭本功能。
(1) 进入系统视图。
system-view
(2) 开启应用层检测引擎CPU门限响应功能。
undo inspect cpu-threshold disable
为适应不同场景对设备性能和检测率的不同需求,应用层检测引擎支持如下几种模式供选择:
· balanced:适用于大多数场景,设备在性能和检测率之间可以达到平衡状态。此模式下,应用层检测引擎对FTP协议、HTTP协议、HTTPS协议、SMB协议、NFS协议、QUIC协议和与E-mail相关协议报文的最大检测长度均为32千字节,对其他协议报文以及音频和视频类应用报文未作限制;MD5最大检测长度为2048千字节。
· large-coverage:适用于对检测率要求较高的场景,设备将提升检测率,但同时会对性能产生一定影响。此模式下,应用层检测引擎对FTP协议、HTTP协议、HTTPS协议、SMB协议、NFS协议、QUIC协议和与E-mail相关协议报文的最大检测长度均为128千字节,对其他协议报文以及音频和视频类应用报文未作限制;MD5最大检测长度为5120千字节。
· high-performance:适用于对设备性能要求较高的场景,设备可在保证一定检测率的前提下,提升性能。此模式下,应用层检测引擎对FTP协议、HTTP协议、HTTPS协议、SMB协议、NFS协议、QUIC协议和与E-mail相关协议报文的最大检测长度均为32千字节,对其他协议报文以及音频和视频类应用报文未作限制;MD5最大检测长度为32千字节。
· user-defined:适用于对检测率和性能有精确要求的场景。此模式下,可以自定义应用层检测引擎对报文的最大检测长度(通过inspect stream-fixed-length命令配置)和MD5最大检测长度(通过inspect md5-fixed-length命令配置)。
当检测率模式发生切换时,报文的最大检测长度和MD5最大检测长度将发生如下变化,用户可以此作为参考,调整各检测长度:
· 当检测率模式由其他模式切换为自定义模式时,报文的最大检测长度和MD5最大检测长度将保持切换前模式下的取值。
· 当检测率模式由自定义模式切换到其他模式时,MD5最大检测长度将恢复到其他模式下的缺省值,报文的最大检测长度的取值与报文的类型有关,详见如下说明。
¡ 对于FTP协议、HTTP协议、SMB协议、NFS协议和与E-mail相关协议报文,报文的最大检测长度将恢复到其他模式下的缺省值。
¡ 对于其他协议以及音频和视频类应用报文,如果检测率模式从自定义模式切换到balanced模式,自定义模式下配置的报文的最大检测长度的取值将被清空,即不对报文的最大检测长度进行限制;如果检测率模式从自定义模式切换到large-coverage和high-performance模式,报文的最大检测长度将保持自定义模式下的取值。
应用层检测引擎不支持对HTTP 2.0版本流量进行检测。
(1) 进入系统视图。
system-view
(2) 配置应用层检测引擎检测率模式。
inspect coverage { balanced | large-coverage | high-performance | user-defined }
缺省情况下,应用层检测引擎检测率模式为平衡模式。
本功能用于限制应用层检测引擎对协议报文和音视频应用报文的最大检测长度,当引擎已检测的报文长度达到限制值时,引擎将不对后续报文进行检测。调高最大检测长度后,设备的吞吐量性能会下降,但是应用层信息识别的成功率会提高;同理,调低最大检测长度后,设备的吞吐量会增加,但是应用层信息识别的成功率会降低。请用户根据实际情况进行配置。
本功能仅在应用层检测引擎检测率模式为自定义模式时(通过inspect coverage user-defined命令配置)支持配置。
(1) 进入系统视图。
system-view
(2) 配置应用层检测引擎对报文的最大检测长度。
inspect stream-fixed-length { audio-video | dns | email | ftp | http | https | imaps | nfs | pop3s | quic | rtmp | sip | smb | smtps | telnet | tftp } * length
缺省情况下,应用层检测引擎对FTP协议、HTTP协议、HTTPS协议、NFS协议、SMB协议和与E-mail相关协议(包括SMTP、POP3和IMAP协议)报文最大检测长度与应用层检测引擎的检测率模式有关(通过inspect coverage命令配置),请以当前检测率模式的最大检测长度为准;对音频和视频类应用报文以及DNS协议、IMAPS协议、POP3S协议、RTMP协议、SIP协议、SMTPS协议、Telnet协议和TFTP协议报文的检测长度不进行限制。
(3) (可选)关闭应用层检测引擎对报文的最大检测长度限制功能。
inspect stream-fixed-length disable
缺省情况下,应用层检测引擎对报文的最大检测长度限制功能处于开启状态。
当组网环境中对应用层信息识别的成功率要求较高时,可通过关闭应用层检测引擎对报文的最大检测长度限制功能,提升应用层信息识别的成功率。
本功能用于配置应用层检测引擎对每条数据流中传输文件的固定检测长度,超过长度的文件内容将不再进行检测。由于病毒特征一般都位于文件的前半部分,可配置文件的固定检测长度,对超过长度的文件内容不进行检测,从而提高设备的检测效率。
由于文件在数据流中传输,所以配置的文件固定检测长度必须小于等于数据流固定检测长度。
本功能仅在应用层检测引擎检测率模式为自定义模式时(通过inspect coverage user-defined命令配置)支持配置。
(1) 进入系统视图。
system-view
(2) 开启应用层检测引擎检测固定长度文件功能。
inspect file-fixed-length enable
缺省情况下,应用层检测引擎检测固定长度文件功能处于关闭状态。
(3) 配置应用层检测引擎检测文件的固定长度。
inspect file-fixed-length { email | ftp | http | nfs | smb } * length-value
缺省情况下,应用层检测引擎对基于FTP协议、HTTP协议、NFS协议、SMB协议和与E-mail相关协议传输的文件固定检测长度均为64千字节。
如果一条数据流中包含多个文件,则每个文件均仅检测配置的固定长度内的内容。
防病毒业务中,设备除了特征匹配之外,还可以通过对文件进行MD5哈希运算,并使用计算出的MD5值与特征库中的MD5规则匹配,来实现病毒检测。如果MD5值与MD5规则匹配成功,则表示该文件携带病毒。有关防病毒检测功能的详细介绍请参见“DPI深度安全配置指导”中的“防病毒”。
应用层检测引擎对报文的特征检测和文件MD5值检测会同时进行,当引擎检测的报文长度达到固定数据流检测长度后,将不再进行特征检测。此时,如果希望MD5值检测可以继续进行,则需要开启MD5固定检测长度功能,并配置检测长度大于固定数据流检测长度。引擎将继续进行MD5值检测,直到检测长度达到配置的MD5固定检测长度后,仅计算检测范围内文件的MD5值,超出长度的文件内容不会计算在内。
调高MD5固定检测长度后,设备性能会下降,但是MD5检测的成功率会提高;调低MD5固定检测长度后,设备性能会提升,但是MD5检测的成功率会降低。
本功能仅在应用层检测引擎检测率模式为自定义模式时(通过inspect coverage user-defined命令配置)支持配置。
(1) 进入系统视图。
system-view
(2) 开启应用层检测引擎MD5固定检测长度功能。
inspect md5-fixed-length enable
缺省情况下,应用层检测引擎MD5固定检测长度功能处于开启状态。
(3) 配置应用层检测引擎MD5固定检测长度。
inspect md5-fixed-length { email | ftp | http | nfs | smb } * length
缺省情况下,应用层检测引擎对FTP协议、HTTP协议、SMB协议、NFS协议和与E-mail相关协议数据流中文件的MD5固定检测长度均为2048千字节。
应用层检测引擎每进行一次解压缩操作都会消耗一定的设备内存。当解压缩的次数较多时,可能会消耗大量的设备内存,导致设备整机的并发性能下降。此时,可通过配置解压缩次数的上限值来控制对内存的占用。
调低上限值,可降低对内存的消耗,但应用层检测引擎的检测成功率可能会降低;调高上限值,可能会提升应用层检测引擎的检测成功率,但同时会降低设备的并发性能。请管理员根据实际需求配置此功能。
(1) 进入系统视图。
system-view
(2) 配置应用层检测引擎可解压缩数据上限。
inspect uncompress maximum max-number
缺省情况下,应用层检测引擎解压缩文件的总次数上限值由设备实际内存计算得出。
应用层检测引擎在对文件进行检测时,会使用特定的存储结构记录文件名,用于展示在日志中,方便用户获取文件信息。该记录过程会占用一定的内存,且检测的文件数量越多,对内存占用就越大,可能会降低设备的并发性能。当实际组网环境中大量使用NFS协议传输文件时,管理员可通过配置本功能,限制应用层检测引擎记录的基于NFS协议传输的文件的文件名数量。
在对设备并发性能要求较高的场景下,可减少记录的文件名数量,降低对内存的消耗;在对设备并发性能要求较低的场景下,可调高此参数,增加记录的文件名数量,方便用户获取更多的文件信息。请管理员根据实际需求配置此功能。
(1) 进入系统视图。
system-view
(2) 配置应用层检测引擎记录NFS协议文件名数量的上限值。
inspect record-filename nfs maximum max-number
缺省情况下,应用层检测引擎记录NFS协议文件名数量的上限值由设备实际内存计算得出。
如果网络中的流量种类单一、源端口固定,但无法通过目的端口对其进行基于端口的应用识别或无法基于流量特征进行内容识别时,可以开启本功能,对流量进行源端口识别,将源端口为固定端口的流量识别为访问特定类型应用的流量。
开启本功能后,可能会造成应用识别结果的误报,请管理员根据组网环境的实际情况配置。
(1) 进入系统视图。
system-view
(2) 开启基于源端口的应用识别功能。
inspect source-port-identify enable
当DPI业务模块需要配合云端服务器使用,但设备无法直接连接到云端服务器,可配置一个代理服务器使设备连接到云端服务器,进行相应业务,比如防病毒云端查询、特征库在线升级等。
代理服务器可以通过IP地址或者域名的方式进行访问。如果使用域名方式,请确保设备能通过静态或动态域名解析方式获得代理服务器的IP地址,并与之路由可达。有关域名解析功能的配置请参见“三层技术-IP业务配置指导”中的“域名解析”。
多次执行本命令,最后一次执行的命令生效。
(1) 进入系统视图。
system-view
(2) 配置DPI业务代理服务器所使用的参数。
inspect proxy-server { domain domain-name | ip ip-address } [ port port-number ] [ user user-name password { cipher | simple } string ]
缺省情况下,未配置DPI代理服务器所使用的参数。
当设备对特征库进行立即在线升级或定期在线升级时,需要访问官网的特征库服务器来获取特征库文件。如果设备需要通过指定的VPN实例访问特征库时,则必须通过配置本命令指定该VPN,否则会导致特征库升级失败。
(1) 进入系统视图。
system-view
(2) 配置特征库在线升级时访问的特征库服务器所属的VPN实例。
inspect signature auto-update vpn-instance vpn-instance-name
缺省情况下,未配置特征库在线升级时访问的特征库服务器所属的VPN实例。
如果管理员希望特征库在线升级时发送给特征库服务器的请求报文的源IP地址是一个特定的地址时,则需要配置此功能。例如,当组网环境中设备发出的报文需要经过NAT地址转换后才能访问特征库服务器时,则需要管理员通过本命令指定一个符合NAT地址转换规则的IP地址(其中,如果设备需要经过一台独立的NAT设备进行地址转换时,本命令指定的IP地址必须可以与NAT设备三层路由可达),使设备发出的报文经由NAT地址转换后访问特征库服务器。
如果同时配置了特征库在线升级时访问的特征库服务器所属的VPN实例(即配置inspect signature auto-update vpn-instance命令),需要保证本功能配置的源IP地址所属的VPN实例与该特征库服务器所属的VPN实例相同。
(1) 进入系统视图。
system-view
(2) 配置特征库在线升级时发送给服务器的请求报文的源IP地址。
inspect signature auto-update source { ip | ipv6 } { ip-address | interface interface-type interface-number }
缺省情况下,特征库在线升级时发送给服务器的请求报文的源IP地址为系统根据路由表项查找到的出接口的地址。
当组网环境中存在非对称流量时,即同一条流量的报文来回路径不一致,可能导致流量的正反向报文被送到不同的设备,这将会导致DPI业务无法正常处理,例如防病毒业务无法识别出病毒文件等。为了解决上述问题,应用层检测引擎默认会在设备间、安全业务板间透传DPI业务流量,使同一条流量的正反向报文最终会被送到同一台设备或同一块业务板。
但是,透传流量的过程会消耗设备资源,降低设备性能。当组网环境中对设备性能要求较高且可以接受损失一部分DPI业务检测准确性的风险时,可通过关闭应用层检测引擎透传DPI业务流量功能,降低对设备性能的影响。
(1) 进入系统视图。
system-view
(2) 关闭应用层检测引擎透传DPI业务流量功能。
undo inspect transparent enable
缺省情况下,应用层检测引擎透传DPI业务流量功能处于开启状态。
设备支持与安全威胁发现与运营管理平台对接,并向该平台上报如下数据。
· 设备与KAFKA服务器集群间的日志发送情况:设备可将上一个小时内发送给KAFKA服务器集群的IPS日志的总数以及设备产生的所有IPS日志的总数等统计信息发送到安全威胁发现与运营管理平台地址。
· 设备特征库版本信息变动情况:当IPS特征库升级或回滚时,设备可立即通过HTTP协议向安全威胁发现与运营管理平台上送特征库版本信息。同时,设备支持每隔10天向该平台上送最新的IPS特征库版本信息。
管理员需要根据实际的数据上送需求,为不同的统计数据配置相应的上报地址,即安全威胁发现与运营管理平台的地址。
(1) 进入系统视图。
system-view
(2) 配置日志统计信息的上报地址。
inspect log-statistics-report { ip-address ip-address | ipv6-address ipv6-address } port port uri uri [ vpn-instance vpn-instance-name ] kafka-server kafka-server
缺省情况下,未配置日志统计信息的上报地址。
多次执行本命令,可以配置多个安全威胁发现与运营管理平台地址,其中IPv4和IPv6地址最大配置条数分别为4条。
(3) 配置特征库版本信息的上报地址。
inspect signature version-report { ip-address ip-address | ipv6-address ipv6-address } port port uri uri [ vpn-instance vpn-instance-name ]
缺省情况下,未配置特征库版本信息的上报地址。
多次执行本命令,可以配置多个安全威胁发现与运营管理平台地址,其中IPv4和IPv6地址最大配置条数分别为2条。
在双机热备组网中,DPI业务通过绑定端口号建立数据传输通道,该通道用于将主设备上的DPI业务数据及时同步到备用设备,以确保备用设备能够获得最新的数据信息。
在企业环境中,需要实时监测网络流量并进行深度数据分析,系统需通过特定的端口(如60095)与DPI设备建立高效连接。此时,端口的开放与安全设置将直接影响数据的传输速度与安全性。如果端口未正确配置,可能导致数据延迟,影响业务决策的及时性。
仅在RBM镜像模式下,主设备的DPI业务特征库会自动同步到备用设备。
(1) 进入系统视图。
system-view
(2) 配置RBM组网中DPI业务数据同步时使用的端口号。
inspect rbm port port-number
应用层检测引擎对报文的检测是一个复杂且会占用一定系统资源的过程。开启应用层检测引擎功能后,如果出现系统CPU使用率过高等情况时,可通过关闭此功能来降低对设备转发性能的影响。
(1) 进入系统视图。
system-view
(2) 关闭应用层检测引擎功能。
inspect bypass
缺省情况下,应用层检测引擎功能处于开启状态。
关闭应用层检测引擎功能后,系统将不会对接收到的报文进行DPI深度安全处理。可能导致其他基于DPI功能的业务出现中断。例如,七层负载均衡业务无法基于应用进行负载分担等。
在如下场景中管理员可能需要关闭应用层检测引擎对指定协议报文的检测功能。
· 场景一:当组网环境中不需要对某些协议的报文进行检测时,可以关闭应用层检测引擎对该协议报文的检测,以减少对设备资源的占用,提升设备性能。
· 场景二:当应用层检测引擎对某个协议报文的检测导致设备出现异常并重启的情况时,可单独关闭引擎对该协议报文的检测功能,避免由于再次检测该协议报文导致设备反复重启的问题,同时又不影响引擎对其他协议报文的检测。
设备支持如下两种方式关闭应用层检测引擎对指定协议报文的检测功能:
· 手动关闭:此方式要求管理员已知需要关闭哪些协议报文的检测功能,适用于场景一和场景二。
· 自动关闭:此方式由设备自动判断需要关闭哪些协议报文的检测功能,适用于场景二。使用此方式后,如果应用层检测引擎对某个协议报文的检测导致设备出现异常并重启的情况时,则当系统重启后,应用层检测引擎将自动关闭对该协议报文的检测功能,跳过对此协议报文的处理。
(1) 进入系统视图。
system-view
(2) 关闭应用层检测引擎对指定协议报文的检测功能。
¡ 手工关闭应用层检测引擎对指定协议报文的检测功能。
inspect bypass protocol { dns | ftp | ftp-data | http | https | ibm-db2 | imap | mongodb-protocol | ms-sql-s | mysql-protocol | nfs | pop3 | postgresql-protocol | quic | rtmp | sip | smb | smtp | sqlnet | telnet | tftp } *
缺省情况下,应用层检测引擎对所有支持的协议都进行检测。
¡ 自动关闭应用层检测引擎对指定协议报文的检测功能。
inspect auto-bypass enable
缺省情况下,应用层检测引擎自动关闭指定协议报文的检测功能处于关闭状态。
在完成上述配置后,在任意视图下执行display命令可以显示配置后应用层检测引擎的运行情况。在用户视图下执行reset命令可以清除应用层检测引擎的统计信息。
表1-1 应用层检测引擎显示和维护
操作 |
命令 |
显示云端查询功能处理异常情况时的统计信息。 |
display inspect [ anti-virus | reputation | url-filter ] cloud-query statistics |
显示SMB协议断点续传表的信息 |
display inspect smb-breakpoint-resume table { ipv4 | ipv6 } |
显示应用层检测引擎的运行状态 |
display inspect status |
清除云端查询功能处理异常情况时的统计信息 |
reset inspect [ anti-virus | reputation | url-filter ] cloud-query statistics |
清除SMB协议断点续传表的信息 |
reset inspect smb-breakpoint-resume table { ipv4 | ipv6 } |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!