1、对象策略
1.1 对象策略简介
对象策略基于全局进行配置,基于安全域间实例进行应用。在安全域间实例上应用对象策略可实现对报文流的检查,并根据检查结果允许或拒绝其通过。对象策略通过配置对象策略规则实现。
1.1.1 对象策略规则的报文匹配条件
一个对象策略中可以包含多条对象策略规则。对象策略规则这通过指定对象组来描述报文匹配条件的判断语句,匹配条件可以是报文的源地址、目的地址、服务类型等。设备依照这些规则识别出特定的报文,并根据预先设定的策略对其进行处理。创建规则时可以不指定任何可选条件,则规则对任意报文生效。
1.1.2 对象策略规则的编号
一个对象策略中可包含多条规则,每条规则都拥有唯一的编号以便区分,此编号在创建规则时由用户手工指定或由系统自动分配。在自动分配编号时,系统会将对应对象策略中已使用的最大编号加一作为新的编号,若新编号超出了编号上限(65534),则选择当前未使用的最小编号作为新的编号。
1.1.3 对象策略规则的匹配顺序
当一个对象策略中包含多条规则时,报文会按照一定的顺序与这些规则进行匹配,一旦匹配上某条规则便结束匹配过程。对象策略规则的匹配顺序与规则的创建顺序有关,先创建的规则优先进行匹配。对象策略规则的显示顺序与匹配顺序一致,即按照对象策略视图下通过display this命令显示的顺序,从上到下依次匹配。同时,对象策略支持通过命令移动规则位置来调整规则的匹配顺序。
1.2.3 创建对象策略
1. 创建IPv4对象策略
表1-2 创建IPv4对象策略
操作 | 命令 | 说明 |
---|---|---|
进入系统视图 | system-view | - |
创建一个IPv4对象策略 | object-policy ip object-policy-name | 缺省情况下,不存在任何IPv4对象策略 |
(可选)配置对象策略的描述信息 | description text | 缺省情况下,对象策略未配置任何描述信息 |
2. 创建IPv6对象策略
表1-3 创建IPv6对象策略
操作 | 命令 | 说明 |
---|---|---|
进入系统视图 | system-view | - |
创建一个IPv6对象策略 | object-policy ipv6 object-policy-name | 缺省情况下,不存在任何IPv6对象策略 |
(可选)配置对象策略的描述信息 | description text | 缺省情况下,对象策略没有任何描述信息 |
1.2.4 配置对象策略规则
1. 配置限制和指导
· 如果配置对象策略规则时指定引用对象组,若该对象组不存在,则该规则将不匹配任何报文。如果配置对象策略规则时不指定引用的对象组,则该规则将匹配任意报文。有关对象组的详细介绍请参见“安全配置指导”中的“对象组”。
· 在对象策略规则中引用应用和应用组时,请只引用PBAR(Port Based Application Recognition,基于端口的应用层协议识别)类型的应用。若引用NBAR(Network Based Application Recognition,基于内容特征的应用层协议识别)类型的应用,则此规则不会与任何报文匹配成功。有关PBAR和NBAR的详细介绍请参见“安全配置指导”中的“APR”。
2. 配置IPv4对象策略规则
IPv4对象策略规则可以指定引用的对象组,包括以下几种:
· 源IP地址对象组:用于与报文的源IP地址进行匹配。
· 目的IP地址对象组:用于与报文的目的IP地址进行匹配。
· 服务对象组:用于与报文携带的服务类型进行匹配。
· VRF:用于与报文的VRF进行匹配。
· 应用/应用组:用于与报文的应用ID进行匹配。
表1-4 配置IPv4对象策略规则
操作 | 命令 | 说明 |
---|---|---|
进入系统视图 | system-view | - |
创建IPv4对象策略,并进入其视图 | object-policy ip object-policy-name | - |
配置对象策略规则 | rule [ rule-id ] { drop** | **pass| **inspect** app-profile-name } [ [ source-ip { object-group-name | any } ] [ destination-ip { object-group-name | any** } ] [ service { object-group-name | any** } ] [vrf vrf-name ] [ application application-name ] [ app-group app-group-name ] [ counting ] [ disable** ] [ logging ] [ time-range* time-range-name ] ] | 缺省情况下,不存在任何规则 |
(可选)配置规则的描述信息 | rule rule-id comment text | 缺省情况下,规则未配置任何描述信息 |
(可选)为对象策略规则附加过滤条件 | rule rule-id append { application application-name__ | app-group app-group-name | _destination-ip _object-group-name | service object-group-name__ | source-ip object-group-name__ } | 缺省情况下,不存在规则的附加条件 |
3. 配置IPv6对象策略规则
IPv6对象策略规则可以指定引用的对象组,包括以下几种:
· 源IPv6地址对象组:用于与报文的源IPv6地址进行匹配。
· 目的IPv6地址对象组:用于与报文的目的IPv6地址进行匹配。
· 服务对象组:用于与报文携带的服务类型进行匹配。
· VRF:用于与报文的VRF进行匹配。
· 应用/应用组:用于与报文的应用ID进行匹配。
表1-5 配置IPv6对象策略规则
操作 | 命令 | 说明 |
---|---|---|
进入系统视图 | system-view | - |
创建IPv6对象策略,并进入其视图 | object-policy ipv6 object-policy-name | - |
配置对象策略规则 | rule [ rule-id ] { drop** | **pass| **inspect** app-profile-name } [ [ source-ip { object-group-name | any } ] [ destination-ip { object-group-name | any } ] [ service { object-group-name | any** } ] [vrf vrf-name ] [ application application-name ] [ app-group app-group-name ] [ counting ] [ disable** ] [ logging ] [ time-range time-range-name ] ] * | 缺省情况下,不存在任何规则 |
(可选)配置规则的描述信息 | rule rule-id comment text | 缺省情况下,规则未配置任何描述信息 |
(可选)为对象策略规则附加过滤条件 | rule rule-id append { application application-name__ | app-group app-group-name | _destination-ip _object-group-name | service object-group-name__ | source-ip object-group-name__ } | 缺省情况下,不存在规则的附加条件 |
1.2.5 安全域间实例应用对象策略
安全域间实例上同种类型的对象策略只能应用一个,即只能同时应用一个IPv4对象策略和一个IPv6对象策略。如果安全域间实例已应用同种类型的其他对象策略,则会配置失败。若要应用新的对象策略,需要先将已经应用的对象策略删掉。
在安全域间实例应用对象策略前需配置zone-pair security命令创建安全域,关于安全域的详细介绍,请参见“基础配置命令参考”中的“安全域”。
表1-6 安全域间实例应用对象策略
操作 | 命令 | 说明 | |
---|---|---|---|
进入系统视图 | system-view | - | |
创建源安全域和目的安全域 | security-zone name zone-name | 缺省情况下,不存在任何安全域 运行两次该命令分别创建源安全域和目的安全域 |
|
退回系统视图 | quit | - | |
创建安全域间实例,并进入安全域间实例视图 | zone-pair security source souce-zone-name destination destination-zone-name | 缺省情况下,不存在任何安全域间实例 | |
应用对象策略 | 应用IPv4对象策略 | object-policy apply ip object-policy-name | 缺省情况下,安全域间实例内未应用任何对象策略规则 |
应用IPv6对象策略 | object-policy apply ipv6 object-policy-name |
1.2.6 移动对象策略规则
由于对象策略规则是按照配置先后顺序进行匹配的,因此为了使用户能够灵活调整规则的匹配顺序,可通过本配置来移动对象策略规则的位置。
表1-7 移动对象策略规则
操作 | 命令 | 说明 | |
---|---|---|---|
进入系统视图 | system-view | - | |
创建对象策略,并进入其视图 | 进入IPv4对象策略视图 | object-policy ip object-policy-name | - |
进入IPv6对象策略视图 | object-policy ipv6 object-policy-name | ||
移动对象策略规则 | move rule rule-id before insert-rule-id | - |
1.2.7 使能对象策略加速功能
在对基于会话的业务报文(如NAT、ASPF等)进行规则匹配时,通常只对首个报文进行匹配以加快报文的处理速度,但这有时并不足以解决报文匹配的效率问题。譬如,当有大量用户同时与设备新建连接时,需要对每个新建连接都进行规则匹配,如果对象策略内包含有大量规则,那么这个匹配过程将很长,这会导致用户建立连接时间超长,从而影响设备新建连接的性能。
对象策略加速功能则可以解决上述问题,当对包含大量规则的对象策略使能了加速功能之后,其规则匹配速度将大大提高,从而提高了设备的转发性能以及新建连接的性能。
表1-8 使能对象策略加速功能
操作 | 命令 | 说明 | |
---|---|---|---|
进入系统视图 | system-view | - | |
创建对象策略,并进入其视图 | 进入IPv4对象策略视图 | object-policy ip object-policy-name | - |
进入IPv6对象策略视图 | object-policy ipv6 object-policy-name | ||
使能加速功能 | accelerate | 缺省情况下,所有对象策略的加速功能均处于关闭状态 |
1.3 对象策略显示和维护
在完成上述配置后,在任意视图下执行display命令可以显示对象策略的配置信息,通过查看显示信息验证配置的效果。
表1-9 对象策略显示和维护
配置 | 命令 |
---|---|
显示对象策略的加速状态(集中式设备-独立运行模式) | display object-policy accelerate { summary { ip | ipv6 } | verbose { ip object-policy-name | ipv6 object-policy-name } } |
显示对象策略的加速状态(分布式设备-独立运行模式/集中式设备-IRF模式) | display object-policy accelerate { summary { ip | ipv6 } | verbose { ip object-policy-name | ipv6 object-policy-name } _slot _slot-number } |
显示对象策略的加速状态(分布式设备-IRF模式) | display object-policy accelerate { summary { ip | ipv6 } | verbose { ip object-policy-name | ipv6 object-policy-name } chassis chassis-number _slot _slot-number } |
显示IPv4对象策略的配置信息 | display object-policy ip [ object-policy-name ] |
显示IPv6对象策略的配置信息 | display object-policy ipv6 [ object-policy-name ] |
显示指定安全域间实例应用对象策略的配置信息 | display object-policy zone-pair security [ source source-zone-name__ _destination _destination-zone-name ] |
显示指定安全域间实例的统计信息 | display object-policy statistics zone-pair security source source-zone-name destination destination-zone-name [ ip | ipv6 ] |