04-应用层检测引擎配置
本章节下载: 04-应用层检测引擎配置 (301.29 KB)
应用层检测引擎服务于DPI业务模块,用于对报文的应用层信息(应用层协议以及应用行为)进行统一识别。DPI业务模块使用应用层检测引擎提供的识别结果,对报文进行相应的业务处理。
应用层检测引擎提供以下基本功能:
· 协议解析:识别并分析报文应用层字段,区分应用层协议,并对部分字段进行正规化和解压缩。
· 关键字匹配:根据检测规则对报文载荷内容进行关键字匹配,是应用层检测引擎的核心。
· 选项匹配:关键字匹配成功后,对其所属检测规则中的选项做进一步匹配。该过程与关键字匹配相比,匹配速度比较缓慢。
应用层检测引擎使用检测规则对报文进行匹配,检测规则由各DPI业务的规则或特征转换而成,包含关键字和选项两种匹配项。
· 关键字:标识报文特征的不少于3个字节的字符串,也称作“AC关键字”。
· 选项:非关键字的辅助匹配项,例如报文的端口号、协议类型等。
检测规则中可以同时包含关键字和选项,或者仅包含选项。如果检测规则中同时包含关键字和选项,则两者都被匹配上才算是与该检测规则匹配成功;如果检测规则中仅包含选项,则只要匹配选项就算与该检测规则匹配成功。
如图1-1所示,应用层检测引擎的具体工作机制如下:
应用层检测引擎的处理机制如下:
(1) 报文进入应用层检测引擎后,应用层检测引擎首先对报文进行协议解析,根据分析结果查找相应的检测规则。
(2) 应用层检测引擎判断检测规则中是否包含关键字,如果包含关键字,则首先进行关键字匹配,否则直接进行选项匹配。
(3) 如果报文匹配上关键字,则继续进行选项匹配(该选项是匹配上的关键字所属检测规则中的选项);如果报文未匹配上关键字,则直接允许报文通过。
(4) 如果报文与选项匹配成功,则表示此报文与该检测规则匹配成功。
(5) 应用层检测引擎通知相应的DPI业务模块对此报文做进一步的处理;如果报文与选项匹配失败,则直接允许报文通过。
应用层检测引擎配置任务如下:
(1) 配置DPI应用Profile
(3) (可选)配置应用层检测引擎动作参数
(4) (可选)配置应用层检测引擎检测参数
(5) (可选)配置真实源IP地址提取功能
(6) (可选)关闭应用层检测引擎功能
DPI应用profile是DPI业务的配置模板,用于关联各DPI业务的策略(例如IPS业务)。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业务策略。
当DPI业务模块(比如IPS业务)的策略和规则被创建、修改和删除后,有以下方式可以使得这些策略和规则的配置生效:
· 保存配置后重启设备
· 执行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。
(1) 开启TCP数据段重组功能。
inspect tcp-reassemble enable
缺省情况下,TCP数据段重组功能处于关闭状态。
(2) 配置TCP数据段重组缓存区可缓存的TCP数据段最大数目。
inspect tcp-reassemble max-segment max-number
缺省情况下,TCP数据段重组缓冲区可缓存的TCP数据段最大数目为10。
应用层检测引擎检测固定长度数据流功能,是指应用层检测引擎只检测每条数据流首包后固定长度内的数据,不再检测超出固定长度后的数据。
(1) 进入系统视图。
system-view
(2) 开启应用层检测引擎检测固定长度数据流功能。
undo inspect stream-fixed-length disable
缺省情况下,应用层检测引擎检测固定长度数据流功能处于开启状态。
(3) 配置应用层检测引擎检测数据流的固定长度。
inspect stream-fixed-length { email I ftp | http } * length
缺省情况下,应用层检测引擎对FTP协议、HTTP协议和与E-mail相关协议数据流的固定检测长度均为32千字节。
调高此参数后,设备的吞吐量性能会下降,但是应用层信息识别的成功率会提高;同理调低参数后,设备的吞吐量会增加,但是应用层信息识别的成功率会降低。
当客户端使用代理方式访问服务器时,源IP地址将会发生改变,设备无法获取客户端的真实IP地址,可能会造成一些攻击无法准确识别(例如基于源IP地址数量判定是否为攻击的场景)。开启真实源IP检测功能后,设备将从客户端请求报文的相关字段获取真正的源IP地址,避免上述问题。
(1) 进入系统视图。
system-view
(2) 开启真实源IP地址提取功能。
inspect real-ip enable
缺省情况下,真实源IP地址提取功能处于关闭状态。
开启真实源IP地址提取功能后,设备默认会通过检测报文的多个字段获取客户端的真实源IP地址。当检测出多个IP地址时,将使用优先级最高的字段中提取出的IP地址作为最终的真实源IP地址。
(1) 进入系统视图。
system-view
(2) 配置提取真实源IP地址的字段优先级。
inspect real-ip detect-field { cdn-src-ip | tcp-option | x-real-ip | xff } priority priority-value
缺省情况下,未配置提取真实源IP地址的字段优先级,各字段优先级均为0。设备使用默认的提取顺序,从高到底依次为xff、cdn-src-ip、x-real-ip、tcp-option。
在客户端通过HTTP代理连接到Web服务器的场景中,HTTP报文的首部可能会携带X-Forwarded-For字段。X-Forwarded-For字段中携带多个地址,标准的格式为X-Forwarded-For: <client>, <proxy1>, <proxy2>,…<proxyn>。如果一个报文通过多个代理,则会列出每个代理服务器的IP地址。即,最右边(tail)的proxyn是最新的代理服务器的IP地址,最左边(head)的client是原始客户端的IP地址。
(1) 进入系统视图。
system-view
(2) 配置X-Forwarded-For字段检测结果的提取位置。
inspect real-ip detect-field xff { head | tail }
缺省情况下,X-Forwarded-For字段的提取位置为最后一项。
当通过检测TCP Option字段获取真实源IP地址时,首先需要找到一个特定的标志,再基于此标志去获取源IP地址。
需要配置的检测参数如下:
· 标志内容(hex hex-vector):TCP Option字段中,真实源IP地址位于一个“标志”的后面,只有检测到标志,设备才会继续向后检测真实源IP地址。如果没有检测到标志,则表示不存在真实源IP地址,设备会停止对TCP Option字段的检测。
· 标志内容的检测范围:包括偏移量(offset offset-value)和检测深度(depth depth-value)。偏移量确定了检测的起始位置(从TCP Option字段起始位置开始的偏移量),检测深度确定了检测的终止位置。
· 真实源IP地址与标志的偏移量(ip-offset ip-offset-value):即检测真实源IP地址的起始位置。
开启真实源IP地址提取功能后,设备默认不从TCP Option字段提取真实源IP地址,仅在配置TCP Option检测参数后才开始检测TCP Option字段。
(1) 进入系统视图。
system-view
(2) 配置TCP Option字段的检测参数。
inspect real-ip detect-field tcp-option hex hex-vector [ offset offset-value ] [ depth depth-value ] [ ip-offset ip-offset-value ]
缺省情况下,未配置TCP Option字段的检测参数,设备不从TCP Option字段获取真实源IP地址。
应用层检测引擎对报文的检测是一个复杂且会占用一定系统资源的过程。开启应用层检测引擎功能后,如果出现系统CPU使用率过高等情况时,可通过关闭此功能来降低对设备转发性能的影响。
(1) 进入系统视图。
system-view
(2) 关闭应用层检测引擎功能。
inspect bypass
缺省情况下,应用层检测引擎功能处于开启状态。
关闭应用层检测引擎功能后,系统将不会对接收到的报文进行DPI深度安全处理。可能导致其他基于DPI功能的业务出现中断。例如,安全策略无法对应用进行访问控制等。
可在任意视图下执行以下命令,显示应用层检测引擎的运行状态。
display inspect status
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!