• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

04-DPI深度安全配置指导

目录

09-代理策略配置

本章节下载 09-代理策略配置  (316.26 KB)

09-代理策略配置


1 代理策略

1.1  代理策略简介

代理策略是一种安全防护策略,通过对客户端和服务器之间的连接进行代理,实现由设备对通过的流量进行检测和控制,避免由于直接访问而出现安全问题。

目前支持TCP代理和SSL代理功能。

1.1.1  TCP代理

如下图所示,设备作为TCP代理,分别与客户端和服务器之间建立TCP连接,为客户端和服务器之间提供TCP层隔离,有效地拦截恶意连接和攻击。

图1-1 TCP代理功能示意图

 

1.1.2  SSL代理

1. 功能介绍

由于SSL流量是加密传输的,设备无法对加密的数据进行深度安全检测。配置SSL代理功能后,可解决以上问题。

图1-2 SSL代理功能示意图

 

如上图所示,设备根据代理策略判断需要对HTTPS客户端的报文进行SSL代理,并会分别与客户端和服务器建立SSL连接,然后对传输的报文先进行解密,再进行深度安全检测(即进行DPI业务处理)。完成深度安全检测后,对放行的报文重新进行加密,并发送到服务器。

有关DPI业务的详细介绍,请参见“DPI深度安全配置指导”。

2. 基本概念

代理策略的基本概念如下:

·     SSL代理服务器证书

设备作为SSL代理服务器时,需要向客户端发送证书表明自身的身份。设备将根据接收到的服务器证书的内容修改相关信息,重新签发一本代理服务器证书发送给客户端进行验证。

设备将替客户端验证服务器是否可信,验证结果不同,设备使用不同标识的代理服务器证书,代理服务器证书支持如下标识:

¡     可信:当服务器可信时,设备将标识为“可信”的代理服务器证书发送给客户端,客户端接收到标识为可信的证书后,会通过服务器身份校验,与设备成功建立SSL连接。

¡     不可信:当服务器不可信时,设备将标识为“不可信”的代理服务器证书发送给客户端,由客户端决定是否继续访问不可信的服务器。

·     SSL解密证书

由于设备本身不具备签发证书的功能,需要管理员自行申请具备签发功能的证书并导入到设备中,该证书即为“SSL解密证书”,设备将使用该证书签发SSL代理服务器证书。

管理员将SSL解密证书导入到设备时,同时会对证书进行标识:

¡     标识为可信:用于签发可信的SSL代理服务器证书。

¡     标识为不可信:用于签发不可信的SSL代理服务器证书。

·     SSL代理白名单

SSL代理白名单是指不需要进行SSL代理的网站域名或IP地址。配置SSL代理白名单功能后,设备将对网站服务器证书匹配SSL代理白名单的SSL连接不进行代理。

SSL代理白名单支持的类型如下:

¡     预定义:设备已经预置的SSL代理白名单,支持域名白名单和IP地址白名单。

¡     自定义:用户手工配置SSL代理白名单,仅支持域名白名单。

3. 实现原理

SSL代理功能是基于TCP代理功能实现的,当设备根据代理策略判断需要进行SSL代理时,先进行TCP代理,建立TCP连接,再进行如下的SSL代理(以客户端访问服务器为例):

图1-3 SSL代理原理图

 

(1)     设备接收到客户端发起的建立SSL连接请求。

(2)     设备作为代理客户端向服务器发起建立SSL连接请求。

(3)     服务器响应请求并发送服务器证书。

(4)     设备验证服务器证书的合法性,验证通过后与服务器协商加密算法等信息,完成SSL握手,成功建立SSL连接。

(5)     设备作为代理服务器,响应客户端请求,并根据服务器证书的内容,使用SSL解密证书自己签发SSL代理服务器证书,供客户端验证。

(6)     客户端完成对代理服务器证书的校验后,与设备完成SSL握手,建立SSL连接。

(7)     客户端、服务器和设备之间传输加密的SSL报文。

(8)     设备解密SSL流量,并进行DPI深度安全业务处理。

(9)     完成DPI业务处理后,设备将再次加密后的报文发往服务器。

1.1.3  代理策略规则

代理策略对报文的控制是通过代理策略规则实现的,代理策略根据配置的代理策略规则对流量进行划分,对不同的流量进行不同代理方式的处理。规则中可以设置匹配报文的过滤条件以及处理报文的动作。

1. 规则的名称和编号

代理策略中的每条规则都由唯一的名称和编号标识。名称必须在创建规则时由用户手工指定;而编号既可以手工指定,也可以由系统自动分配。

2. 规则的过滤条件

每条规则中均可以配置多种过滤条件,具体包括:源安全域、目的安全域、源IP地址、目的IP地址、用户、用户组和服务。每种过滤条件中均可以配置多个匹配项,比如源安全域过滤条件中可以指定多个源安全域,任何一个匹配项被匹配成功则认为该过滤条件匹配成功。

3. 规则的匹配顺序

缺省情况下,设备按照规则创建的先后顺序对报文进行匹配,先创建的先匹配,也可以通过手工的方式调整规则的匹配顺序。当一条规则匹配成功后,则结束匹配过程。

建议将规划的所有规则按照“深度优先”的原则(即控制范围小的、条件细化的在前,范围大的在后)进行排序,再按照此顺序配置每一条规则。

4. 规则的动作

设备将根据代理策略规则中配置的动作,对命中策略的流量进行如下处理:

·     动作配置为TCP代理时,设备将对命中策略的流量进行TCP代理。

·     动作配置为SSL解密时,设备将对命中策略的流量进行SSL代理,并基于此对SSL流量进行解密,并对解密后的流量进行DPI深度安全检测。

·     动作配置为不代理时,设备将对命中策略的流量进行透传。

5. 规则的匹配过程

代理策略对规则的匹配过程如图1-4所示:

图1-4 代理策略的报文处理流程图

 

代理策略对报文的处理过程如下:

(1)     将报文的属性信息与过滤条件中的匹配项进行匹配。每种过滤条件的多个匹配项之间是或的关系,即报文与某一个过滤条件中的任意一项匹配成功,则报文与此过滤条件匹配成功;若报文与某一个过滤条件中的所有项都匹配失败,则报文与此过滤条件匹配失败。

(2)     若报文与某条规则中的所有过滤条件都匹配成功(用户与用户组匹配一项即可),则报文与此条规则匹配成功。若有一个过滤条件不匹配,则报文与此条规则匹配失败,报文继续匹配下一条规则。以此类推,直到最后一条规则,若报文还未与规则匹配成功,则设备对此报文执行策略配置的缺省动作。

(3)     若报文与某条规则匹配成功,则结束此匹配过程,并对此报文执行规则中配置的动作。

(4)     若报文与任何规则都不能匹配成功,则对报文执行代理策略的缺省动作。

1.2  代理策略配置限制和指导

·     TCP代理与SSL代理对设备的转发性能会产生一定的影响。配置代理策略时,请尽量细化策略的过滤条件,避免配置过滤条件宽泛的代理策略,影响设备的正常转发。

·     当设备进行TCP代理时,如果同时需要进行NAT业务的处理,则不支持ALG功能。有关NAT业务和ALG功能的详细介绍,请参见“三层技术-IP业务配置指导”中的“NAT”。

·     如果同时需要配置SSL代理和TCP代理功能,配置代理策略规则时,请先配置动作为SSL解密的规则,避免因为先匹配到动作为TCP代理的规则导致SSL解密的规则匹配失败。

·     配置SSL代理功能时,需要在安全策略中允许源安全域和Local域互通。有关安全策略的详细介绍,请参见“安全配置指导”中的“安全策略”。

·     开启SSL代理后,IPS业务的捕获动作将失效。有关捕获动作的详细介绍,请参见“DPI深度安全配置指导”中的“IPS”。

1.3  代理策略配置流程图

代理策略的基本配置思路如图1-5所示,在配置代理策略之前需要完成的配置包括:创建安全域、配置接口并加入安全域、配置对象、配置安全策略、配置DPI业务。

图1-5 代理策略配置流程图

 

1.4  代理策略配置任务简介

代理策略配置任务如下:

(1)     配置代理策略

a.     配置代理策略缺省动作

b.     创建代理策略规则

c.     配置代理策略规则过滤条件

d.     配置代理策略规则动作

(2)     (可选)管理代理策略规则

a.     移动代理策略规则

b.     禁用代理策略规则

(3)     配置SSL解密证书

仅当设备需要配置SSL代理功能时,才需要进行本配置。

a.     导入SSL解密证书

b.     (可选)修改SSL解密证书可信度

c.     (可选)删除SSL解密证书

(4)     (可选)配置SSL代理域名白名单

a.     添加自定义域名白名单

b.     禁用预定义域名白名单

c.     激活SSL代理域名白名单配置

1.5  代理策略配置准备

在配置代理策略之前,需完成以下任务:

·     配置IP地址对象组和服务对象组(请参见“安全配置指导”中的“对象组”)。

·     配置用户和用户组(请参见“安全配置指导”中的“用户身份识别与管理”)。

·     配置安全域(请参见“安全配置指导”中的“安全域”)。

·     配置安全策略(请参见“安全配置指导”中的“安全策略”)。

·     配置DPI业务(请参见“DPI深度安全配置指导”中的各模块)。

1.6  配置代理策略

1.6.1  配置代理策略缺省动作

1. 功能简介

当不存在代理策略规则或报文未匹配到任何代理策略规则的情况下,设备将对所有经过的报文执行代理策略缺省动作。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入代理策略视图。

app-proxy-policy

(3)     配置代理策略默认动作。

default action { no-proxy | ssl-decrypt | tcp-proxy }

缺省情况下,代理策略缺省动作为不代理。

1.6.2  创建代理策略规则

(1)     进入系统视图。

system-view

(2)     进入代理策略视图。

app-proxy-policy

(3)     创建代理策略规则,并进入代理策略规则视图。

rule { rule-id | [ rule-id ] name rule-name }

缺省情况下,未配置代理策略规则。

1.6.3  配置代理策略规则过滤条件

1. 配置限制和指导

当代理策略规则中未配置任何过滤条件时,则该规则将匹配所有报文。

当代理策略规则中引用的对象组不存在,或对象组中内容为空时,则该规则将不能匹配任何报文。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入代理策略视图。

app-proxy-policy

(3)     进入代理策略规则视图。

rule { rule-id | [ rule-id ] name rule-name }

(4)     配置代理策略规则的过滤条件。

¡     配置作为代理策略规则过滤条件的源安全域。

source-zone source-zone-name

缺省情况下,未配置源安全域过滤条件。

¡     配置作为代理策略规则过滤条件的目的安全域。

destination-zone destination-zone-name

缺省情况下,未配置目的安全域过滤条件。

¡     配置作为代理策略规则过滤条件的源IP地址。

source-ip object-group object-group-name

缺省情况下,未配置源IP地址过滤条件。

¡     配置作为代理策略规则过滤条件的目的IP地址。

destination-ip object-group object-group-name

缺省情况下,未配置目的IP地址过滤条件。

¡     配置作为代理策略规则过滤条件的服务。

service object-group { object-group-name | any }

缺省情况下,未配置服务过滤条件。

¡     配置作为代理策略规则过滤条件的用户。

user username [ domain domain-name ]

缺省情况下,未配置用户过滤条件。

¡     配置作为代理策略规则过滤条件的用户组。

user-group user-group-name [ domain domain-name ]

缺省情况下,未配置用户组过滤条件。

1.6.4  配置代理策略规则动作

(1)     进入系统视图。

system-view

(2)     进入代理策略视图。

app-proxy-policy

(3)     进入代理策略规则视图。

rule { rule-id | [ rule-id ] name rule-name }

(4)     配置代理策略规则动作。

action { no-proxy | ssl-decrypt | tcp-proxy }

缺省情况下,代理策略规则动作为不代理。

1.7  管理代理策略规则

1.7.1  移动代理策略规则

1. 功能简介

缺省情况下,设备按照规则创建的先后顺序对报文进行匹配,先创建的先匹配,也通过本功能来移动规则的位置,调整规则的匹配顺序。当一条规则匹配成功后,则结束匹配过程。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入代理策略视图。

app-proxy-policy

(3)     移动代理策略规则的位置。请选择其中一项进行配置。

¡     使用规则ID移动代理策略规则的位置。

move rule rule-id before insert-rule-id

¡     使用规则名称移动代理策略规则的位置。

rule move name rule-name1 { before [ rule-name2 ] | after rule-name2 }

1.7.2  禁用代理策略规则

(1)     进入系统视图。

system-view

(2)     进入代理策略视图。

app-proxy-policy

(3)     进入代理策略规则视图。

rule { rule-id | [ rule-id ] name rule-name }

(4)     禁用代理策略规则。

disable

缺省情况下,代理策略规则处于启用状态。

1.8  配置SSL解密证书

1.8.1  导入SSL解密证书

1. 配置限制和指导

设备上只能存在一份可信证书和一份不可信证书,后续导入的可信或者不可信证书会覆盖原有的证书。

需要在客户端浏览器上安装并信任标识为可信的SSL解密证书。

导入成功后,设备将修改证书文件类型为CER格式。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     导入SSL解密证书。

app-proxy ssl-decrypt-certificate import { trusted | untrusted } { pem | p12 } filename filename

缺省情况下,未配置SSL解密证书。

1.8.2  修改SSL解密证书可信度

1. 配置限制和指导

设备中只能存在一份可信SSL解密证书和一份不可信SSL解密证书,若改变证书的可信度,则会覆盖原有的证书。

当SSL解密证书成功导入设备后,文件类型会被改为CER格式,修改证书时需要将指定的证书后缀名改为.cer。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     修改SSL解密证书的可信度。

app-proxy ssl-decrypt-certificate modify { trusted | untrusted } filename filename

1.8.3  删除SSL解密证书

1. 配置限制和指导

删除SSL解密证书后,设备将不能签发SSL代理服务器证书,从而导致客户端因无法验证服务器身份造成SSL代理连接失败,设备将直接透传报文。

当证书成功导入设备后,文件类型会被改为CER格式,删除证书时需要将指定的证书后缀名改为.cer。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     删除SSL解密证书。

app-proxy ssl-decrypt-certificate delete filename filename

1.9  配置SSL代理域名白名单

1.9.1  添加自定义域名白名单

1. 功能简介

对于不需要或不能够以代理方式访问的服务器,可以将这些服务器的域名加入自定义域名白名单。设备对匹配白名单的所有SSL连接不进行代理。

在如下场景中,设备无法通过客户端或服务器的校验,不能进行SSL代理,需要配置SSL代理白名单,使设备直接透传报文:

·     服务器要求对客户端身份进行验证。

·     客户端要求对服务器证书做深度校验。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     添加自定义域名白名单。

app-proxy ssl whitelist user-defined-hostname host-name

缺省情况下,未配置自定义SSL代理域名白名单。

1.9.2  禁用预定义域名白名单

(1)     进入系统视图。

system-view

(2)     禁用预定义域名白名单。

undo app-proxy ssl whitelist predefined-hostname { chrome-hsts [ hostname ] | hostname } enable

缺省情况下,预定义SSL代理域名白名单处于启用状态。

1.9.3  激活SSL代理域名白名单配置

1. 功能简介

需要激活SSL代理域名白名单配置的场景如下:

·     对自定义SSL代理域名白名单进行添加、修改和删除操作。

·     对预定义SSL代理域名白名单进行启用或禁用操作。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     激活SSL代理域名白名单配置。

app-proxy ssl whitelist activate

1.10  代理策略显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示代理策略的配置信息、配置白名单和相关证书,通过查看显示信息验证配置的效果。

在用户视图下执行reset命令可以清除代理策略使用的IP地址白名单和相关证书。

表1-1 代理策略显示和维护

操作

命令

显示代理策略的配置信息

display app-proxy-policy

显示SSL解密证书

display app-proxy ssl-decrypt-certificate

显示服务器证书

display app-proxy server-certificate [ slot slot-number ]

显示SSL代理域名白名单

display app-proxy ssl whitelist hostname { user-defined | predefined }

显示SSL代理IP地址白名单

display app-proxy ssl whitelist ip { all [ slot slot-number ] | ip-address }

清除服务器证书

reset app-proxy server-certificate

清除SSL代理IP地址白名单

reset app-proxy ssl whitelist ip

 

1.11  代理策略典型配置举例

1.11.1  代理策略基础配置举例

1. 组网需求

Device作为安全网关部署在内网边界。由于设备无法对HTTPS流量进行深度安全检测,导致部分攻击无法识别。现需要配置SSL解密功能,对HTTPS流量进行SSL解密,再进行DPI业务检测,保护企业内网用户安全。

2. 组网图

图1-6 代理策略基本配置举例组网图

3. 配置步骤

(1)     配置接口IP地址

# 根据组网图中规划的信息,配置各接口的IP地址,具体配置步骤如下。

<Device> system-view

[Device] interface gigabitethernet 1/0/1

[Device-GigabitEthernet1/0/1] ip address 192.168.1.1 255.255.255.0

[Device-GigabitEthernet1/0/1] quit

请参考以上步骤配置其他接口的IP地址,具体配置步骤略。

(2)     配置静态路由

本举例仅以静态路由方式配置路由信息。实际组网中,请根据具体情况选择相应的路由配置方式。

# 请根据组网图中规划的信息,配置静态路由,本举例假设到达外网Web Server的下一跳IP地址为2.2.2.2,实际使用中请以具体组网情况为准,具体配置步骤如下。

[Device] ip route-static 5.5.5.0 24 2.2.2.2

(3)     配置接口加入安全域

# 请根据组网图中规划的信息,将接口加入对应的安全域,具体配置步骤如下。

[Device] security-zone name trust

[Device-security-zone-Trust] import interface gigabitethernet 1/0/1

[Device-security-zone-Trust] quit

[Device] security-zone name untrust

[Device-security-zone-Untrust] import interface gigabitethernet 1/0/2

[Device-security-zone-Untrust] quit

(4)     配置对象组

# 创建名为obj1的IP地址对象组,并配置其子网地址为192.168.1.0/24。

[Device] object-group ip address obj1

[Device-obj-grp-ip-obj1] network subnet 192.168.1.0 24

[Device-obj-grp-ip-obj1] quit

(5)     导入SSL解密证书

# 导入名为trust.pem的可信SSL解密证书和名为untrust.pem的不可信SSL解密证书,分别用于签发标识为可信和不可信的代理服务器证书。

[Device] app-proxy ssl-decrypt-certificate import trust pem filename trust.pem

[Device] app-proxy ssl-decrypt-certificate import untrust pem filename untrust.pem

(6)     在内网用户浏览器上安装并信任名为trust.pem的可信SSL解密证书(具体配置步骤略)。

(7)     配置代理策略及规则

# 创建名为https的代理策略规则,对所有通过HTTPS协议访问Web服务器的连接进行SSL解密。

[Device] app-proxy-policy

[Device-app-proxy-policy] rule 1 name https

[Device-app-proxy-policy-rule-1-https] source-zone trust

[Device-app-proxy-policy-rule-1-https] destination-zone untrust

[Device-app-proxy-policy-rule-1-https] source-ip object-group obj1

[Device-app-proxy-policy-rule-1-https] service object-group https

[Device-app-proxy-policy-rule-1-https] action ssl-decrypt

[Device-app-proxy-policy-rule-1-https] quit

(8)     配置安全策略

# 配置名称为trust-untrust的安全策略规则,使内网用户可以访问外网,并对交互报文进行IPS业务检测。具体配置步骤如下(本举例假设设备上已配置了IPS功能,有关IPS功能的详细介绍,请参见“DPI深度安全配置指导”中的“IPS”)。

[Device] security-policy ip

[Device-security-policy-ip] rule name trust-untrust

[Device-security-policy-ip-10-trust-untrust] source-zone trust

[Device-security-policy-ip-10-trust-untrust] source-ip-subnet 192.168.1.0 24

[Device-security-policy-ip-10-trust-untrust] destination-zone untrust

[Device-security-policy-ip-10-trust-untrust] action pass

[Device-security-policy-ip-10-trust-untrust] profile sec

[Device-security-policy-ip-10-trust-untrust] quit

# 按照同样的步骤,配置名称为untrust-trust的安全策略规则,由于使用SSL代理功能时,设备同时作为代理客户端和代理服务器,需要放行外网到内网的流量。具体配置步骤如下。

[Device] security-policy ip

[Device-security-policy-ip] rule name untrust-trust

[Device-security-policy-ip-11-untrust-trust] source-zone untrust

[Device-security-policy-ip-11-untrust-trust] destination-zone trust

[Device-security-policy-ip-11-untrust-trust] destination-ip-subnet 192.168.1.0 24

[Device-security-policy-ip-11-untrust-trust] action pass

[Device-security-policy-ip-11-untrust-trust] profile sec

[Device-security-policy-ip-11-untrust-trust] quit

# 按照同样的步骤,配置名称为proxyserverlocalin和proxyserverlocalout的安全策略规则,保证设备可作为代理服务器,对客户端向服务器发起的访问流量进行代理。具体配置步骤如下。

[Device-security-policy-ip] rule name proxyserverlocalin

[Device-security-policy-ip-12-proxyserverlocalin] source-zone trust

[Device-security-policy-ip-12-proxyserverlocalin] source-ip-subnet 192.168.1.0 24

[Device-security-policy-ip-12-proxyserverlocalin] destination-zone local

[Device-security-policy-ip-12-proxyserverlocalin] action pass

[Device-security-policy-ip-12-proxyserverlocalin] quit

[Device-security-policy-ip] rule name proxyserverlocalout

[Device-security-policy-ip-13-proxyserverlocalout] source-zone local

[Device-security-policy-ip-13-proxyserverlocalout] destination-zone trust

[Device-security-policy-ip-13-proxyserverlocalout] destination-ip-subnet 192.168.1.0 24

[Device-security-policy-ip-13-proxyserverlocalout] action pass

[Device-security-policy-ip-13-proxyserverlocalout] quit

# 按照同样的步骤,配置名称为proxyclientlocalin和proxyclientlocalout的安全策略规则,保证设备可作为代理客户端,对服务器发往客户端的流量进行代理。具体配置步骤如下。

[Device-security-policy-ip] rule name proxyclientlocalin

[Device-security-policy-ip-14-proxyclientlocalin] source-zone untrust

[Device-security-policy-ip-14-proxyclientlocalin] destination-zone local

[Device-security-policy-ip-14-proxyclientlocalin] destination-ip-subnet 192.168.1.0 24

[Device-security-policy-ip-14-proxyclientlocalin] action pass

[Device-security-policy-ip-14-proxyclientlocalin] quit

[Device-security-policy-ip] rule name proxyclientlocalout

[Device-security-policy-ip-15-proxyclientlocalout] source-zone local

[Device-security-policy-ip-15-proxyclientlocalout] source-ip-subnet 192.168.1.0 24

[Device-security-policy-ip-15-proxyclientlocalout] destination-zone untrust

[Device-security-policy-ip-15-proxyclientlocalout] action pass

[Device-security-policy-ip-15-proxyclientlocalout] quit

# 激活安全策略配置。

[Device-security-policy-ip] accelerate enhanced enable

[Device-security-policy-ip] quit

4. 验证配置

以上配置完成后,设备将对HTTPS流量进行SSL解密,解密后再进行入侵防御业务的检测。

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们