02-应用层检测引擎配置
本章节下载: 02-应用层检测引擎配置 (247.22 KB)
在当前日益复杂和严峻的网络安全威胁中,需要将IPS(Intrusion Prevention System,入侵防御系统)、和防病毒等DPI(Deep Packet Inspection,深度报文检测)业务集成在一台设备上,且这些业务都需要对报文的应用层信息进行识别,以最终识别出此应用层信息的应用或行为。为了避免因DPI业务模块各自进行应用层信息识别,而导致设备性能大幅下降,需要一个公共的检测模块来实现对应用层信息的统一识别,设备会把识别结果反馈给各DPI业务模块,各模块再根据自己的策略完成对报文的后续业务处理,这样设备就能对报文实现一次检测,多次处理的效果。应用层检测引擎就是实现这个公共检测功能的模块。
应用层检测引擎是DPI业务的应用层信息检测模块,提供以下三个基本功能:
· 协议解析:识别并分析报文应用层字段,区分应用层协议,并对部分字段进行正规化和解压缩。
· 关键字匹配:根据检测规则对报文载荷内容进行关键字匹配,是应用层检测引擎的核心,且匹配速度快。
· 选项匹配:关键字匹配成功后,对其所属检测规则中的选项做进一步匹配。该过程与关键字匹配相比,匹配速度比较缓慢。
应用层检测引擎使用检测规则对报文进行匹配,检测规则由各DPI业务的规则或特征转换而成,包含关键字和选项两种匹配项。
· 关键字:标识报文特征的不少于3个字节的字符串,也称作“AC关键字”。
· 选项:检测规则中非关键字之外的匹配项,例如报文的端口号、协议类型等。
检测规则中可以包含关键字和选项,也可以不包含关键字。如果检测规则中包含关键字和选项,则两者都被匹配上才算是与该检测规则匹配成功。
如图1-1所示,应用层检测引擎的具体工作机制如下:
(1) 设备收到报文后,首先对报文进行规则(即安全策略规则或对象策略规则)匹配,如果规则匹配成功,且规则中需要进行DPI业务处理,则此报文进入应用层检测引擎处理;如果规则中不需要进行DPI业务处理,则根据规则中的动作对此报文进行处理。如果报文与规则匹配失败,则直接丢弃此报文。有关安全策略规则的详细介绍请参见“安全配置指导”中的“安全策略”;有关对象策略规则的详细介绍请参见“安全配置指导”中的“对象策略”。
(2) 报文进入应用层检测引擎后,应用层检测引擎首先对报文进行协议解析,即识别报文的应用层协议和对此报文进行分析,根据分析结果查找相应的检测规则。
(3) 应用层检测引擎判断检测规则中是否包含关键字,如果包含关键字,则进行关键字匹配,否则直接进行选项匹配。
(4) 如果报文匹配上关键字,则继续进行选项匹配(该选项是匹配上的关键字所属检测规则中的选项),否则直接允许报文通过。
(5) 如果报文与选项匹配成功,则表示此报文与该检测规则匹配成功。之后,应用层检测引擎通知相应的DPI业务模块对此报文做进一步的处理;如果报文与选项匹配失败,则直接允许报文通过。
在多Context应用场景中,配置非缺省Context的DPI业务前,必须先激活缺省Context的应用层检测引擎。激活缺省Context的应用层检测引擎方法有如下几种:在缺省Context的系统视图下执行inspect activate命令;或在缺省Context中进行DPI业务的相关配置。有关Context的详细介绍请参见“虚拟化技术配置指导”中的“Context”。
表1-1 应用层检测引擎配置任务简介
配置任务 |
说明 |
详细配置 |
配置DPI应用Profile |
必选 |
|
激活DPI各业务模块的策略配置 |
必选 |
|
配置应用层检测引擎动作参数 |
可选 |
|
优化应用层检测引擎性能 |
可选 |
|
开启应用层检测引擎CPU门限响应功能 |
可选 |
|
配置应用层检测引擎检测固定长度数据流功能 |
可选 |
|
配置DPI业务特征库在线升级所使用的代理服务器 |
可选 |
|
关闭应用层检测引擎功能 |
可选 |
DPI应用profile是DPI业务的配置模板,用于关联各DPI业务的策略(例如IPS策略、防病毒策略)。DPI应用profile被安全策略规则或对象策略规则引用后,各DPI业务策略才能生效。
表1-2 配置DPI应用Profile
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建DPI应用profile视图,并进入DPI应用profile视图 |
app-profile profile-name |
缺省情况下,不存在DPI应用profile |
在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 |
关于该命令的详细介绍请参见“DPI深度安全命令参考”中的“防病毒” |
当DPI各业务模块(比如IPS和防病毒等特性)的策略和规则被创建、修改和删除后,需要执行inspect activate命令来使其策略和规则配置生效。
当DPI各业务模块的策略和规则被创建、修改和删除且保存配置的情况下,设备重启之后,其相关的所有策略和规则配置也会生效。
执行inspect activate命令会暂时中断DPI业务的处理,为了避免重复执行此命令对DPI业务造成影响,请完成部署DPI各业务模块的策略和规则后统一执行此命令。
表1-3 激活DPI各业务模块的策略和规则配置
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
激活DPI各业务模块的策略和规则配置 |
inspect activate |
缺省情况下,DPI各业务模块的策略和规则被创建、修改和删除时不生效 |
源阻断动作参数profile用来为DPI业务模块的源阻断动作提供动作参数,在此profile中可以配置报文被阻断的时长。
如果设备上同时开启了黑名单功能,则报文的源IP地址被添加到IP黑名单后的老化时间为源阻断动作参数profile中配置的阻断时长。报文的源IP地址被加入IP黑名单后,阻断时长之内,后续来自该源IP地址的报文将被丢弃。
如果设备上未开启黑名单功能,报文会被阻断,且报文的源IP地址会被添加到IP黑名单。但IP黑名单功能并未生效,实现IP黑名单功能需要执行blacklist enable或blacklist global enable命令,有关此命令的详细介绍请参见“安全命令参考”中的“攻击检测与防范”。
表1-4 配置源阻断动作参数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建应用层检测引擎的源阻断动作参数profile,并进入该源阻断动作参数profile视图 |
inspect block-source parameter-profile parameter-name |
缺省情况下,不存在应用层检测引擎的源阻断动作参数profile |
配置报文源IP地址被阻断的时长 |
block-period period |
缺省情况下,报文源IP地址被阻断的时长为1800秒 |
捕获动作参数profile用来为DPI业务模块的捕获动作提供动作参数,在此profile中可以配置捕获报文的最大字节数、捕获报文的上传时间和URL地址参数。
捕获到的报文将被缓存到设备本地,当缓存的报文字节数达到指定上限值时,系统会将缓存的报文上传到指定的URL上,并清空本地缓存,然后重新开始捕获报文。
每天指定的上传时间到达时,无论本地缓存是否达到最大值,系统都向指定的URL上传缓存的捕获报文。
表1-5 配置捕获动作参数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建应用层检测引擎的捕获动作参数profile视图,并进入该捕获动作参数profile视图 |
inspect capture parameter-profile parameter-name |
缺省情况下,不存在应用层检测引擎的捕获动作参数profile |
配置捕获报文的最大字节数 |
capture-limit kilobytes |
缺省情况下,捕获报文的最大字节数为512千字节 |
配置每天定时上传捕获报文的时间 |
export repeating-at time |
缺省情况下,每天凌晨1点定时上传捕获报文 |
配置上传捕获报文的URL地址 |
export url url-string |
缺省情况下,未配置上传捕获报文的URL地址 |
日志动作参数profile用来为DPI业务模块的日志动作提供动作参数,此profile中可以配置日志的输出方式。
表1-6 配置日志动作参数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建应用层检测引擎的日志动作参数profile视图,并进入该日志动作参数profile视图 |
inspect logging parameter-profile parameter-name |
缺省情况下,不存在应用层检测引擎的日志动作参数profile |
配置记录报文日志的方式 |
log { email | syslog } |
缺省情况下,报文日志被输出到信息中心 |
重定向动作参数profile用来为DPI业务模块的重定向动作提供动作参数,在此profile中可以配置重定向报文的URL。
表1-7 配置重定向动作参数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建应用层检测引擎的重定向动作参数profile,并进入重定向动作参数profile视图 |
inspect redirect parameter-profile parameter-name |
缺省情况下,不存在应用层检测引擎的重定向动作参数profile |
配置重定向URL |
redirect-url url-string |
缺省情况下,不存在重定向URL |
邮件动作参数profile用来为DPI业务模块的邮件动作提供动作参数,在此profile中可以配置邮件服务器地址、收件人与发件人地址和登录邮件服务器的用户名和密码等。目前此功能仅对IPS特性生效。
表1-8 配置邮件动作参数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建应用层检测引擎的邮件动作参数profile视图,并进入邮件动作参数profile视图 |
inspect email parameter-profile parameter-name |
缺省情况下,不存在应用层检测引擎的邮件动作参数profile |
配置邮件服务器的地址 |
email-server addr-string |
缺省情况下,不存在邮件服务器的地址 |
配置域名解析服务器的地址 |
dns-server ip-address |
缺省情况下,不存在域名解析服务器的地址 |
配置发件人地址 |
sender addr-string |
缺省情况下,不存在发件人地址 |
配置收件人地址 |
receiver addr-string |
缺省情况下,不存在收件人地址 |
开启发送邮件的认证功能 |
authentication enable |
缺省情况下,发送邮件的认证功能处于开启状态。 |
开启安全传输登录邮件服务器密码功能 |
secure-authentication enable |
缺省情况下,安全传输登录邮件服务器密码功能处于关闭状态 |
配置登录邮件服务器的用户名 |
username name-string |
缺省情况下,不存在登录邮件服务器的用户名 |
配置登录邮件服务器的密码 |
password { cipher | simple } string |
缺省情况下,不存在登录邮件服务器的密码 |
对经过压缩或编码等处理后的报文应用层信息进行识别时,需要应用层检测引擎先对此类报文进行解压缩或解码等相应处理后才能识别。应用层检测引擎的性能优化功能都开启或参数调高后,其对报文应用层信息的识别能力和准确率都会有所提高,但是也会消耗一定的系统资源。管理员可以根据具体的应用场景定制对报文最优的检测性能。
表1-9 优化应用层检测引擎性能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置应用层检测引擎可检测有载荷内容的报文的最大数目 |
inspect packet maximum max-number |
缺省情况下,应用层检测引擎可检测有载荷内容的报文的最大数目为32 |
配置应用层检测引擎缓存待检测选项的最大数目 |
inspect cache-option maximum max-number |
缺省情况下,应用层检测引擎缓存待检测选项的最大数目为32 |
开启TCP数据段重组功能 |
inspect tcp-reassemble enable |
缺省情况下,TCP数据段重组功能处于关闭状态 |
配置TCP数据段重组缓存区可缓存的TCP数据段最大数目 |
inspect tcp-reassemble max-segment max-number |
缺省情况下,TCP数据段重组缓冲区可缓存的TCP数据段最大数目为10 |
关闭指定的应用层检测引擎的优化调试功能 |
inspect optimization [ chunk | no-acsignature | raw | uncompress | url-normalization ] disable |
缺省情况下,应用层检测引擎的所有优化调试功能处于开启状态 |
应用层检测引擎对报文的检测是一个比较复杂且会占用一定系统资源的过程。当设备的CPU利用率较高时,应用层检测引擎CPU门限响应功能会启动如下机制来缓解系统资源紧张的问题。
· 当CPU利用率达到设备上配置的CPU利用率阈值时,系统会自动关闭应用层检测引擎的检测功能来保证设备的正常运行。
· 当设备的CPU利用率恢复到或低于设备上配置的CPU利用率恢复阈值时,系统会恢复应用层检测引擎的检测功能。
在系统CPU占用率较高的情况下,不建议用户关闭此功能。
表1-10 开启应用层检测引擎CPU门限响应功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启应用层检测引擎CPU门限响应功能 |
undo inspect cpu-threshold disable |
缺省情况下,应用层检测引擎CPU门限响应功能处于开启状态 |
应用层检测引擎检测固定长度数据流功能,是指应用层检测引擎只检测每条数据流首包后固定长度内的数据,不再检测超出固定长度后的数据。
表1-11 配置应用层检测引擎检测固定长度数据流功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启应用层检测引擎检测固定长度数据流功能 |
undo inspect stream-fixed-length disable |
缺省情况下,应用层检测引擎检测固定长度数据流功能处于开启状态 |
配置应用层检测引擎检测数据流的固定长度 |
inspect stream-fixed-length { email I ftp | http } * length |
缺省情况下,应用层检测引擎对FTP协议、HTTP协议和与E-mail相关协议数据流的固定检测长度均为32千字节 调高此参数后,设备的吞吐量性能会下降,但是应用层信息识别的成功率会提高;同理调低参数后,设备的吞吐量会增加,但是应用层信息识别的成功率会降低。 |
当DPI业务模块(例如IPS和防病毒)的特征库进行在线升级时,若设备不能连接到H3C官方网站,则可配置一个代理服务器使设备连接到H3C官方网站上的特征库服务专区,进行特性库在线升级。有关特征库在线升级功能的详细介绍,请参见各DPI业务配置指导手册中的“特征库升级与回滚”。
代理服务器可以通过IP地址或者域名的方式进行访问。如果使用域名方式,请确保设备能通过静态或动态域名解析方式获得代理服务器的IP地址,并与之路由可达。有关域名解析功能的配置请参见“三层技术-IP业务配置指导”中的“域名解析”。
表1-12 配置DPI业务特征库在线升级所使用的代理服务器
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置DPI业务特征库在线升级所使用的代理服务器 |
inspect signature auto-update proxy { domain domain-name | ip ip-address } [ port port-number ] [ user user-name password { cipher | simple } string ] |
缺省情况下,未配置DPI业务特征库在线升级所使用的代理服务器 |
应用层检测引擎对报文的检测是一个复杂且会占用一定系统资源的过程。开启应用层检测引擎功能后,如果出现系统CPU使用率过高等情况时,可通过关闭此功能来降低对设备转发性能的影响。
关闭应层检测引擎功能后,系统将不会对接收到的报文进行DPI深度安全处理。
表1-13 关闭应用层检测引擎功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
关闭应用层检测引擎功能 |
inspect bypass |
缺省情况下,应用层检测引擎功能处于开启状态 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后应用层检测引擎的运行情况。
表1-14 应用层检测引擎显示和维护
操作 |
命令 |
显示应用层检测引擎的运行状态 |
display inspect status |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!