02-应用层检测引擎配置
本章节下载: 02-应用层检测引擎配置 (367.00 KB)
目 录
应用层检测引擎服务于DPI业务模块,用于对报文的应用层信息(应用层协议以及应用行为)进行统一识别。DPI业务模块使用应用层检测引擎提供的识别结果,对报文进行相应的业务处理。
应用层检测引擎提供以下基本功能:
· 协议解析:识别并分析报文应用层字段,区分应用层协议,并对部分字段进行正规化和解压缩。
· 关键字匹配:根据检测规则对报文载荷内容进行关键字匹配,是应用层检测引擎的核心。
· 选项匹配:关键字匹配成功后,对其所属检测规则中的选项做进一步匹配。该过程与关键字匹配相比,匹配速度比较缓慢。
应用层检测引擎使用检测规则对报文进行匹配,检测规则由各DPI业务的规则或特征转换而成,包含关键字和选项两种匹配项。
· 关键字:标识报文特征的不少于3个字节的字符串,也称作“AC关键字”。
· 选项:非关键字的辅助匹配项,例如报文的端口号、协议类型等。
检测规则中可以同时包含关键字和选项,或者仅包含选项。如果检测规则中同时包含关键字和选项,则两者都被匹配上才算是与该检测规则匹配成功;如果检测规则中仅包含选项,则只要匹配选项就算与该检测规则匹配成功。
如图1-1所示,应用层检测引擎的具体工作机制如下:
应用层检测引擎的处理机制如下:
(1) 报文进入应用层检测引擎后,应用层检测引擎首先对报文进行协议解析,根据分析结果查找相应的检测规则。
(2) 应用层检测引擎判断检测规则中是否包含关键字,如果包含关键字,则首先进行关键字匹配,否则直接进行选项匹配。
(3) 如果报文匹配上关键字,则继续进行选项匹配(该选项是匹配上的关键字所属检测规则中的选项);如果报文未匹配上关键字,则直接允许报文通过。
(4) 如果报文与选项匹配成功,则表示此报文与该检测规则匹配成功。
(5) 应用层检测引擎通知相应的DPI业务模块对此报文做进一步的处理;如果报文与选项匹配失败,则直接允许报文通过。
应用层检测引擎配置任务如下:
(1) 配置DPI应用Profile
(3) 配置应用层检测引擎动作参数
(4) (可选)优化应用层检测引擎性能
(5) (可选)配置应用层检测引擎CPU门限响应功能
(6) (可选)配置应用层检测引擎检测参数
(7) (可选)配置应用层检测引擎扩展功能
(8) 关闭应用层检测引擎功能
DPI应用profile是DPI业务的配置模板,用于关联各DPI业务的策略(例如URL过滤业务)。DPI应用profile被安全策略规则引用后,各DPI业务策略才能生效。
(1) 进入系统视图。
system-view
(2) 创建DPI应用profile视图,并进入DPI应用profile视图。
app-profile profile-name
(3) 关联各DPI业务策略。
¡ 在DPI应用profile中引用IPS策略。
ips apply policy policy-name mode { protect | alert }
关于该命令的详细介绍请参见“DPI深度安全命令参考”中的“IPS”。
¡ 在DPI应用profile中引用URL过滤策略。
url-filter apply policy policy-name
关于该命令的详细介绍请参见“DPI深度安全命令参考”中的“URL过滤”。
¡ 在DPI应用profile下引用数据过滤策略。
data-filter apply policy policyname
关于该命令的详细介绍请参见“DPI深度安全命令参考”中的“数据过滤”。
¡ 在DPI应用profile下引用文件过滤策略。
file-filter apply policy policyname
关于该命令的详细介绍请参见“DPI深度安全命令参考”中的“文件过滤”。
¡ 在DPI应用profile下引用防病毒策略。
anti-virus apply policy policyname mode { alert | protect }
关于该命令的详细介绍请参见“DPI深度安全命令参考”中的“防病毒”。
缺省情况下,未关联DPI业务策略。
缺省情况下,当任意一个DPI业务模块(比如URL过滤业务)发生配置变更时(即策略或规则被创建、修改和删除),系统将会检测在20秒的间隔时间内是否再次发生了配置变更,并根据判断结果执行如下操作:
· 如果间隔时间内未发生任何配置变更,则系统将在下一个间隔时间结束时执行一次激活操作,使这些策略和规则的配置生效。
· 如果间隔时间内再次发生了配置变更,则系统将继续按照间隔时间周期性地检测是否发生配置变更。
如果用户希望对发生变化的业务的策略或规则立即进行激活,可执行inspect activate命令手工激活。
(1) 进入系统视图。
system-view
(2) 激活DPI业务模块的策略和规则配置。
inspect activate
缺省情况下,DPI业务模块的策略和规则被创建、修改和删除后系统会自动激活配置。
执行此命令会暂时中断DPI业务的处理,可能导致其他基于DPI功能的业务同时出现中断。例如,安全策略无法对应用进行访问控制等。
源阻断动作参数profile用来为DPI业务模块的源阻断动作提供动作参数,在此profile中可以配置报文被阻断的时长。
本功能仅在开启黑名单过滤功能后生效。如果设备上开启了黑名单过滤功能,则在源阻断动作参数profile中配置的阻断时长内,来自该源IP地址的报文将被直接丢弃,不再进入应用层检测引擎中检测。
有关黑名单过滤功能的详细介绍,请参见“安全配置指导”中的“攻击检测与防范”。
(1) 进入系统视图。
system-view
(2) 创建应用层检测引擎的源阻断动作参数profile,并进入该源阻断动作参数profile视图。
inspect block-source parameter-profile parameter-name
(3) 配置报文源IP地址被阻断的时长。
block-period period
缺省情况下,报文源IP地址被阻断的时长为1800秒。
捕获动作参数profile用来为DPI业务模块的捕获动作提供动作参数,在此profile中可以配置捕获报文的最大字节数、捕获报文的上传时间和URL地址参数。
捕获到的报文将被缓存到设备本地,并在以下任意条件满足的情况下被上传到指定的URL上:
· 缓存的报文字节数达到指定上限值时;
· 当天指定的上传时间到达时
上传到指定的URL之后,系统将清空本地缓存,然后重新开始捕获报文。
(1) 进入系统视图。
system-view
(2) 创建应用层检测引擎的捕获动作参数profile视图,并进入该捕获动作参数profile视图。
inspect capture parameter-profile parameter-name
(3) 配置捕获报文的最大字节数。
capture-limit kilobytes
缺省情况下,捕获报文的最大字节数为512千字节。
(4) 配置每天定时上传捕获报文的时间。
export repeating-at time
缺省情况下,每天凌晨1点定时上传捕获报文。
(5) 配置上传捕获报文的URL地址。
export url url-string
缺省情况下,未配置上传捕获报文的URL地址。
日志动作参数profile用来为DPI业务模块的日志动作提供动作参数,此profile中可以配置日志的输出方式和输出语言。
配置记录IPS日志使用的语言为中文后,仅IPS日志的威胁名称字段使用中文描述,其它日志信息仍然为英文。
(1) 进入系统视图。
system-view
(2) 创建应用层检测引擎的日志动作参数profile视图,并进入该日志动作参数profile视图。
inspect logging parameter-profile parameter-name
(3) 配置记录报文日志的方式。
log { email | syslog }
缺省情况下,报文日志被输出到信息中心。
(4) 配置记录IPS日志使用的语言为中文。
log language chinese
缺省情况下,记录IPS日志使用的语言为英文。
重定向动作参数profile用来为DPI业务模块的重定向动作提供动作参数,在此profile中可以配置重定向报文的URL。
(1) 进入系统视图。
system-view
(2) 创建应用层检测引擎的重定向动作参数profile,并进入重定向动作参数profile视图。
inspect redirect parameter-profile parameter-name
(3) 配置重定向URL。
redirect-url url-string
缺省情况下,未配置重定向URL。
邮件动作参数profile用来为DPI业务模块的邮件动作提供动作参数,在此profile中可以配置邮件服务器地址、收件人与发件人地址和登录邮件服务器的用户名和密码等。
(1) 进入系统视图。
system-view
(2) 创建应用层检测引擎的邮件动作参数profile视图,并进入邮件动作参数profile视图。
inspect email parameter-profile parameter-name
(3) 配置邮件服务器的地址。
email-server addr-string
缺省情况下,未配置邮件服务器的地址。
(4) 配置域名解析服务器的地址。
dns-server ip-address
缺省情况下,未配置域名解析服务器的地址。
(5) 配置发件人地址。
sender addr-string
缺省情况下,未配置发件人地址。
(6) 配置收件人地址。
receiver addr-string
缺省情况下,未配置收件人地址。
(7) (可选)配置客户端身份验证功能。
a. 开启发送邮件的认证功能。
authentication enable
缺省情况下,发送邮件的认证功能处于开启状态。
b. 配置登录邮件服务器的用户名。
username name-string
缺省情况下,未配置登录邮件服务器的用户名。
c. 配置登录邮件服务器的密码。
password { cipher | simple } string
缺省情况下,未配置登录邮件服务器的密码。
d. (可选)开启安全传输登录邮件服务器密码功能。
secure-authentication enable
缺省情况下,安全传输登录邮件服务器密码功能处于关闭状态。
(8) 配置以邮件方式输出日志的限制条件。
email-limit interval interval max-number value
缺省情况下,5分钟内,设备最多可向外发送10封邮件。
告警动作参数profile用来为防病毒模块的告警动作提供动作参数,在此profile中可以导入告警文件,告警文件中可配置设备向客户端发送的具体告警信息。
(1) 进入系统视图。
system-view
(2) 创建应用层检测引擎的防病毒告警动作参数profile,并进入告警动作参数profile视图。
inspect warning parameter-profile profile-name
(3) 导入告警文件。
import block warning-file file-path
缺省情况下,设备使用缺省文件里的告警信息:The site you are accessing has a security risk and thereby is blocked.
(4) (可选)重置告警文件内容。
reset block warning-file
配置本命令后,设备会将告警文件中的告警信息重置为缺省文件中的告警信息。
URL过滤告警动作参数profile用来为URL过滤模块的告警动作提供具体的执行参数,在此profile中可以导入告警信息文件,告警信息文件中可配置设备向客户端发送的具体告警信息。
(1) 进入系统视图。
system-view
(2) 创建应用层检测引擎的URL过滤告警动作参数profile,并进入URL过滤告警动作参数profile视图。
inspect url-filter warning parameter-profile profile-name
(3) 导入URL过滤告警信息文件。
import warning-file file-path
缺省情况下,存在一个名称为uflt-xxx.html的告警信息文件,其中xxx表示URL过滤告警动作参数profile的名称。文件中包含缺省的告警信息,具体内容请参见“DPI深度安全命令参考”中的“应用层检测引擎”手册中对本命令行缺省情况的详细介绍。
(4) (可选)重置URL过滤告警信息文件内容。
reset warning-file
配置本命令后,设备会将URL过滤告警信息文件中的内容恢复为缺省告警信息。
对经过压缩或编码等处理后的报文应用层信息进行识别时,需要应用层检测引擎先对此类报文进行解压缩或解码等相应处理后才能识别。通过开启应用层检测引擎性能优化功能或调高各项性能参数,可以提高应用层信息的识别能力和准确率,但同时也会消耗一定的系统资源。
(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) (可选)关闭指定的应用层检测引擎的优化调试功能。
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
缺省情况下,应用层检测引擎CPU门限响应功能处于开启状态。
为适应不同场景对设备性能和检测率的不同需求,应用层检测引擎支持如下几种选项供选择:
· balanced:适用于大多数场景,设备在性能和检测率之间可以达到平衡状态。此模式下,应用层检测引擎对FTP协议、HTTP协议、SMB协议、NFS协议和与E-mail相关协议数据流的最大检测长度均为64千字节;MD5最大检测长度为2048千字节。
· large-coverage:适用于对检测率要求较高的场景,设备将提升检测率,但同时会对性能产生一定影响。此模式下,应用层检测引擎对FTP协议、HTTP协议、SMB协议、NFS协议和与E-mail相关协议数据流的最大检测长度均为128千字节;MD5最大检测长度为5120千字节。
· high-performance:适用于对设备性能要求较高的场景,设备可在保证一定检测率的前提下,提升性能。此模式下,应用层检测引擎对FTP协议、HTTP协议、SMB协议、NFS协议和与E-mail相关协议数据流的最大检测长度均为32千字节。MD5最大检测长度为32千字节。
· user-defined:适用于对检测率和性能有精确要求的场景。此模式下,可以自定义应用层检测引擎对各协议数据流的最大检测长度(通过inspect stream-fixed-length命令配置)。
当检测率模式由其他模式切换为自定义模式时,数据流最大检测长度和MD5最大检测长度将保持切换前模式下的取值。用户可以此作为参考,调整各检测长度。
(1) 进入系统视图。
system-view
(2) 配置应用层检测引擎检测率模式。
inspect coverage { balanced | large-coverage | high-performance | user-defined }
缺省情况下,应用层检测引擎检测率模式为平衡模式。
本功能用于配置应用层检测引擎检测的数据流的固定长度,从每条数据流首包后开始,应用层检测引擎只检测固定长度内的数据,对超出固定长度后的数据不进行检测。可通过调整固定检测长度提升检测效率。
本功能仅在应用层检测引擎检测率模式为自定义模式时(通过inspect coverage user-defined命令配置)支持配置。
(1) 进入系统视图。
system-view
(2) 开启应用层检测引擎检测固定长度数据流功能。
undo inspect stream-fixed-length disable
缺省情况下,应用层检测引擎检测固定长度数据流功能处于开启状态。
(3) 配置应用层检测引擎检测数据流的固定长度。
inspect stream-fixed-length { email | ftp | http | nfs | smb } * length
缺省情况下,应用层检测引擎对FTP协议、HTTP协议、NFS协议、SMB协议和与E-mail相关协议数据流的固定检测长度均为64千字节。
调高此参数后,设备的吞吐量性能会下降,但是应用层信息识别的成功率会提高;同理调低参数后,设备的吞吐量会增加,但是应用层信息识别的成功率会降低。
本功能用于配置应用层检测引擎对每条数据流中传输文件的固定检测长度,超过长度的文件内容将不再进行检测。由于病毒特征一般都位于文件的前半部分,可配置文件的固定检测长度,对超过长度的文件内容不进行检测,从而提高设备的检测效率。
由于文件在数据流中传输,所以配置的文件固定检测长度必须小于等于数据流固定检测长度。
本功能仅在应用层检测引擎检测率模式为自定义模式时(通过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千字节。
如果一条数据流中包含多个文件,则每个文件均仅检测配置的固定长度内的内容。
当设备收到压缩文件时,应用层检测引擎会对文件进行解压缩,并对解压缩后的数据进行特征匹配等处理。管理员可根据实际需求,对引擎可解压缩的文件层数和单个文件中可解压缩的数据大小进行配置。
· 可解压缩数据上限:设备解压一个文件时可解压缩数据的最大值。到达上限后,该文件的剩余数据不再进行解压,直接按照压缩文件格式进行特征匹配等处理。
· 可解压缩文件层数上限:设备最多可解压缩的文件的层数。当超过配置的层数时,设备将不对超出层数上限的文件进行解压,直接按照压缩文件格式进行特征匹配等处理。
仅支持解压缩ZIP和GZIP格式的文件。
如果配置的解压缩参数过大,当设备频繁收到过大或压缩层数较多的压缩文件时,将一直解压缩一个文件,会影响后续文件的解压缩,并消耗大量的设备内存,影响设备的转发性能,但是对文件内容的识别率会有所提升;如果配置的解压缩参数过小,可能导致压缩文件中的原始文件内容无法正确识别,从而对DPI业务(例如防病毒和数据过滤业务)的检测结果产生影响,但是会降低对设备转发性能的影响。请管理员合理配置此参数。
(1) 进入系统视图。
system-view
(2) 配置应用层检测引擎可解压缩数据上限。
inspect file-uncompr-len max-size
缺省情况下,可解压缩数据上限为100MB。
(3) 配置应用层检测引擎可解压缩文件层数上限。
inspect file-uncompr-layer max-layer
缺省情况下,可解压缩文件层数上限为3。当此参数配置为0时,表示不对文件进行解压缩。
如果网络中的流量种类单一、源端口固定,但无法通过目的端口对其进行基于端口的应用识别或无法基于流量特征进行内容识别时,可以开启本功能,对流量进行源端口识别,将源端口为固定端口的流量识别为访问特定类型应用的流量。
开启本功能后,可能会造成应用识别结果的误报,请管理员根据组网环境的实际情况配置。
(1) 进入系统视图。
system-view
(2) 开启基于源端口的应用识别功能。
inspect source-port-identify enable
当DPI业务模块(例如URL过滤)的特征库进行在线升级时,若设备不能连接到官方网站,则可配置一个代理服务器使设备连接到官方网站上的特征库服务专区,进行特征库在线升级。有关特征库在线升级功能的详细介绍,请参见各DPI业务配置指导手册中的“特征库升级与回滚”。
代理服务器可以通过IP地址或者域名的方式进行访问。如果使用域名方式,请确保设备能通过静态或动态域名解析方式获得代理服务器的IP地址,并与之路由可达。有关域名解析功能的配置请参见“网络互通配置指导”中的“域名解析”。
(1) 进入系统视图。
system-view
(2) 配置DPI业务特征库在线升级所使用的代理服务器。
inspect signature auto-update proxy { domain domain-name | ip ip-address } [ port port-number ] [ user user-name password { cipher | simple } string ]
缺省情况下,未配置DPI业务特征库在线升级所使用的代理服务器。
应用层检测引擎对报文的检测是一个复杂且会占用一定系统资源的过程。开启应用层检测引擎功能后,如果出现系统CPU使用率过高等情况时,可通过关闭此功能来降低对设备转发性能的影响。
(1) 进入系统视图。
system-view
(2) 关闭应用层检测引擎功能。
inspect bypass
缺省情况下,应用层检测引擎功能处于开启状态。
关闭应用层检测引擎功能后,系统将不会对接收到的报文进行DPI深度安全处理。可能导致其他基于DPI功能的业务出现中断。例如,安全策略无法对应用进行访问控制等。
在如下场景中管理员可能需要关闭应用层检测引擎对指定协议报文的检测功能。
· 场景一:当组网环境中不需要对某些协议的报文进行检测时,可以关闭应用层检测引擎对该协议报文的检测,以减少对设备资源的占用,提升设备性能。
· 场景二:当应用层检测引擎对某个协议报文的检测导致设备出现异常并重启的情况时,可单独关闭引擎对该协议报文的检测功能,避免由于再次检测该协议报文导致设备反复重启的问题,同时又不影响引擎对其他协议报文的检测。
设备支持如下两种方式关闭应用层检测引擎对指定协议报文的检测功能:
· 手动关闭:此方式要求管理员已知需要关闭哪些协议报文的检测功能,适用于场景一和场景二。
· 自动关闭:此方式由设备自动判断需要关闭哪些协议报文的检测功能,适用于场景二。使用此方式后,如果应用层检测引擎对某个协议报文的检测导致设备出现异常并重启的情况时,则当系统重启后,应用层检测引擎将自动关闭对该协议报文的检测功能,跳过对此协议报文的处理。
(1) 进入系统视图。
system-view
(2) 关闭应用层检测引擎对指定协议报文的检测功能。
¡ 手工关闭应用层检测引擎对指定协议报文的检测功能。
inspect bypass protocol { dns | ftp | ftp-data | http | https | imap | nfs | pop3 | rtmp | sip | smb | smtp | telnet | tftp } *
缺省情况下,应用层检测引擎对所有支持的协议都进行检测。
¡ 自动关闭应用层检测引擎对指定协议报文的检测功能。
inspect auto-bypass enable
缺省情况下,应用层检测引擎自动关闭指定协议报文的检测功能处于关闭状态。
在完成上述配置后,在任意视图下执行display命令可以显示配置后应用层检测引擎的运行情况。
表1-1 应用层检测引擎显示和维护
操作 |
命令 |
显示应用层检测引擎的运行状态 |
display inspect status |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!