11-APR配置
本章节下载: 11-APR配置 (199.46 KB)
APR(Application Recognition)即应用层协议识别。一些基于应用的业务在进行报文处理时需要知道报文所属的应用层协议,APR可以为这样的业务提供应用识别服务,并能够对接口上接收或者发送的某个应用层协议的报文进行数目和速率统计。APR为了更好地识别报文所属的应用层协议,提供了两种应用识别方法:基于端口的应用识别和基于内容特征的应用识别。
· PBAR(Port Based Application Recognition,基于端口的应用层协议识别):根据定义的应用层协议端口与应用的映射关系识别报文所属的应用层协议。
· NBAR(Network Based Application Recognition,基于内容特征的应用层协议识别):提取应用报文区别于其它应用报文的特征,通过将报文的内容与特征库中的特征项进行匹配来识别报文所属的应用层协议。
下文中的应用均指设备可以通过APR识别出的应用层协议。应用分为预定义应用和自定义应用两种:预定义应用由系统缺省创建;自定义应用由管理员通过配置创建。
PBAR根据预定义的、自定义的端口与应用的映射关系识别出应用层协议。预定义的端口与应用的映射关系由系统预先定义,自定义的端口与应用的映射关系由管理员进行创建。
PBAR提供了以下两种映射机制来维护和使用自定义的端口与应用映射关系:
· 通用端口映射:对管理员自定义端口号和应用层协议建立映射关系。例如:将2121端口映射为FTP协议,这样所有目的端口是2121的报文将被识别为FTP报文。
· 主机端口映射:对去往某些特定范围内主机的报文建立自定义端口号和应用层协议的映射。例如:将目的地址为10.110.0.0/16网段的、使用2121端口的报文映射为FTP报文。主机范围可以通过配置ACL或者指定主机地址、网段来确定。
NBAR根据报文的内容特征与预定义的特征项或管理员自定义的特征项进行匹配来识别报文所属的应用层协议。
预定义的特征项由设备上的APR特征库自动生成;自定义的特征项由管理员手工配置。
可以将具有相似特征的应用添加到一个应用组中。一个应用组,就是若干个应用的集合。如果报文被识别为属于某个应用,而该应用又属于某个应用组,则报文相当于被识别为属于某个应用组。基于应用的业务可以对属于同一个应用组的报文做统一处理。
一个自定义应用组中可以包含多个预定义应用和自定义应用。
APR特征库是用来对经过设备的应用层流量进行字符串特征识别的资源库。随着互联网业务的不断变化和发展,网络上的应用也在迅速的增加和变化,需要及时升级设备中的APR特征库,同时设备也支持APR特征库回滚功能。
APR特征库升级包括如下几种方式:
· 定期自动在线升级:设备根据管理员设置的时间定期自动更新本地的APR特征库。
· 立即自动在线升级:管理员手工触发设备立即更新本地的APR特征库。
· 手动离线升级:当设备无法自动获取APR特征库服务时,需要管理员先手动获取最新的APR特征库,再更新设备本地的APR特征库。
设备使用当前APR特征库版本进行识别应用时,如果管理员发现设备识别应用的误报率较高或出现异常情况,则可以将其回滚到出厂版本和上一版本。
表1-1 APR配置任务简介
配置任务 |
说明 |
详细配置 |
配置PBAR |
可选 |
|
配置自定义NBAR规则 |
可选 |
|
配置应用组 |
可选 |
|
配置接口的应用统计功能 |
可选 |
|
配置APR特征库升级和回滚 |
可选 |
配置NBAR自定义的应用规则后,需要执行inspect activate命令激活自定义的NBAR规则。有关inspect activate命令的详细介绍请参见“安全命令参考”中的“应用层检测引擎”。
根据与应用层协议进行映射的对象范围的不同,可以将端口映射的配置分为以下四类:
· 通用端口映射:对于所有报文,建立端口号与应用层协议的映射关系;
· 基于ACL的主机端口映射:对于匹配指定ACL的报文,建立端口号与应用层协议的映射关系;
· 基于网段的主机端口映射:对于目的地址为指定网段的报文,建立端口号与应用层协议的映射关系;
· 基于IP地址的主机端口映射:对于目的地址为指定IP地址的报文,建立端口号与应用层协议的映射关系。
以上四类端口映射配置对于同一个报文的生效优先级从高到低依次为:基于IP地址、基于网段、基于ACL、通用。而对于其中的每一类,指定传输层协议名称的配置优先级高于不指定传输层协议名称的配置。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置通用端口映射 |
port-mapping application application-name port port-number [ protocol protocol-name ] |
至少选其一 缺省情况下,各应用层协议与其对应的知名端口号映射 配置映射关系时,如果指定的应用不存在就会创建这个应用 |
配置基于ACL的主机端口映射 |
port-mapping application application-name port port-number [ protocol protocol-name ] acl [ ipv6 ] acl-number |
|
配置基于网段的主机端口映射 |
port-mapping application application-name port port-number [ protocol protocol-name ] subnet { ip ipv4-address { mask-length | mask } | ipv6 ipv6-address prefix-length } [ vpn-instance vpn-instance-name ] |
|
配置基于IP地址的主机端口映射 |
port-mapping application application-name port port-number [ protocol protocol-name ] host { ip | ipv6 } start-ip-address [ end-ip-address ] [ vpn-instance vpn- instance-name ] |
当APR特征库中预定义的应用规则不能满足用户需求时,可以使用本特性自定义NBAR规则,以及配置该NBAR规则的属性和特征。但不能对预定义的NBAR规则进行删除和修改。
一条自定义NBAR规则下可配置的匹配项包括如下内容:
· 匹配的特征
· 匹配的目的IP地址网段
· 匹配的源IP地址网段
· 匹配的方向
· 匹配的端口号
表1-3 配置自定义NBAR规则
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建自定义NBAR规则,并进入自定义NBAR规则视图 |
nbar application application-name protocol { http | tcp | udp } |
缺省情况下,不存在自定义NBAR规则 |
(可选)配置自定义NBAR规则的描述信息 |
description text |
缺省情况下,自定义NBAR规则的描述信息为User defined application |
配置自定义NBAR规则的特征 |
signature [ signature-id ] [ field field-name ] [ offset offset-value ] { hex hex-vector | regex regex-pattern | string string } |
缺省情况下,NBAR规则中不存在特征 |
(可选)配置自定义NBAR规则匹配的目的IP地址网段 |
destination { ip ipv4-address [ mask-length ] | ipv6 ipv6-address [ prefix-length ] } |
缺省情况下,NBAR规则匹配所有目的IP地址网段 暂不支持IPv6地址,规则中配置IPv6类型的目的IP地址网段后,IPv6报文无法匹配此条件 |
(可选)配置自定义NBAR规则匹配的源IP地址网段 |
source { ip ipv4-address [ mask-length ] | ipv6 ipv6-address [ prefix-length ] } |
缺省情况下,NBAR规则匹配所有源IP地址网段 暂不支持IPv6地址,规则中配置IPv6类型的源IP地址网段后,IPv6报文无法匹配此条件 |
(可选)配置NBAR规则的匹配方向 |
direction { to-client | to-server } |
缺省情况下,NBAR规则的匹配方向是双向的 |
(可选)配置自定义NBAR规则匹配的端口号 |
service-port { port-num | range start-port end-port } |
缺省情况下,NBAR规则匹配所有端口号 |
(可选)配置NBAR规则的最大检测字节数 |
apr set detectlen bytes |
缺省情况下,不限制NBAR规则的最大检测字节数 |
(可选)禁用该自定义NBAR规则 |
disable |
缺省情况下,自定义的NBAR规则处于生效状态 |
可以将具有相似特征或者相似限制要求的应用添加到一个应用组。设备最多可支持配置1000个应用组,每个应用组里最多可以包含1000个自定义应用。
表1-4 配置APR应用组
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建应用组,并进入应用组视图 |
app-group group-name |
缺省情况下,不存在应用组 |
(可选)为自定义的应用组设置描述信息 |
description text |
缺省情况下,自定义应用组的描述信息为“User-defined application group” |
在应用组中复制另一个应用组中的所有应用 |
copy app-group group-name |
可以通过多次执行本命令复制多个应用组里的应用 |
在应用组中添加应用 |
include application application-name |
缺省情况下,应用组中不包含应用 |
接口的应用统计功能会消耗大量系统内存。当系统出现内存告警时,请关闭接口的应用统计功能。
在接口上开启应用统计功能之后,设备能够对接口上收到或者发送的报文的数目、速率按照应用层协议分别进行统计,生成的统计信息可以通过display application statistics命令查看。
表1-5 配置接口的应用统计功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入三层接口视图 |
interface interface-type interface-number |
- |
开启接口的应用统计功能 |
application statistics enable [ inbound | outbound ] |
缺省情况下,接口的应用统计功能处于关闭状态 可以同时开启接口两个方向上的应用统计功能 |
· 请勿删除设备存储介质根目录下的/dpi/文件夹,否则设备升级或回滚特征库会失败。
· 当系统内存使用状态处于告警门限状态时,请勿进行特征库升级或回滚,否则易造成设备特征库升级或回滚失败,进而影响NBAR业务的正常运行。有关内存告警门限状态的详细介绍请参见“基础配置指导”中的“设备管理”。
随着互联网业务的不断变化和发展,管理员需要及时升级设备中的APR特征库,同时设备也支持APR特征库回滚功能。
如果设备可以访问H3C官方网站上的特征库服务专区,可以采用定期自动在线升级方式来对设备上的APR特征库进行升级。
该方式下,需要确保设备能通过静态或动态域名解析方式获得H3C官方网站的IP地址,并与之路由可达,否则设备升级APR特征库会失败。有关域名解析功能的配置请参见“三层技术-IP业务配置指导”中的“域名解析”。
表1-6 配置定期自动在线升级APR特征库
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启定期自动在线升级APR特征库功能,并进入自动在线升级配置视图 |
apr signature auto-update |
缺省情况下,定期自动在线升级APR特征库功能处于关闭状态 |
配置定期自动在线升级APR特征库的时间 |
update schedule { daily | weekly { fri | mon | sat | sun | thu | tue | wed } } start-time time tingle minutes |
缺省情况下,设备在每天02:01:00至04:01:00之间自动升级APR特征库 |
配置定期自动在线升级APR特征库时覆盖当前的特征文件 |
override-current |
缺省情况下,定期自动在线升级APR特征库时不会覆盖当前的特征库文件,而是同时备份当前的特征库文件 |
当管理员发现H3C官方网站的特征库服务专区中的APR特征有更新时,可以选择立即自动在线升级方式来及时升级APR特征库版本。
该方式下,需要确保设备能通过静态或动态域名解析方式获得H3C官方网站的IP地址,并与之路由可达,否则设备升级APR特征库会失败。有关域名解析功能的配置请参见“三层技术-IP业务配置指导”中的“域名解析”。
表1-7 立即自动在线升级APR特征库
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
立即自动在线升级APR特征库 |
apr signature auto-update-now |
- |
如果设备不能访问H3C官方网站上的特征库服务专区,管理员可以采用如下几种方式手动离线升级APR特征库版本。
· 本地升级:使用本地保存的特征库文件升级系统上的APR特征库版本。特征库文件只能存储在当前主用设备上,否则设备升级特征库会失败。
· FTP/TFTP升级:通过FTP或TFTP方式下载远程服务器上保存的特征库文件,并升级系统上的APR特征库版本。
特征库文件只能存储在当前主用设备上,否则设备升级特征库会失败。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
手动离线升级APR特征库 |
apr signature update [ override-current ] file-path |
- |
APR特征库版本每次回滚前,设备都会备份当前版本。多次回滚上一版本的操作将会在当前版本和上一版本之间反复切换。例如当前APR特征库版本是V2,上一版本是V1,第一次执行回滚到上一版本的操作后,特征库替换成V1版本,再执行回滚上一版本的操作则特征库重新变为V2版本。
表1-9 回滚APR特征库
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
回滚APR特征库 |
apr signature rollback { factory | last } |
需要注意的是,升级APR特征库时,如果没有备份当前特征库文件,则回滚APR特征库到上一版本会失败。 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后APR的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除APR的统计信息。
表1-10 APR显示和维护
操作 |
命令 |
显示应用信息 |
display application [ name application-name | pre-defined | user-defined ] |
显示应用组信息 |
display app-group [ name group-name ] |
显示接口上的应用统计信息 |
display application statistics [ direction { inbound | outbound } | interface interface-type interface-number [ slot slot-number ] | name application-name ] * |
按指定类型的统计排名显示接口应用统计信息 |
display application statistics top number { bps | bytes | packets | pps } interface interface-type interface-number [ slot slot-number ] |
显示预定义的端口映射信息 |
display port-mapping pre-defined |
显示自定义的端口映射信息 |
display port-mapping user-defined [ application application-name | port port-number ] |
清除指定接口或所有接口的应用统计信息 |
reset application statistics [ interface interface-type interface-number ] |
显示当前APR特征库的版本信息 |
display apr signature information |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!