Web方式:IP接入国密USB Key证书认证典型配置

使用版本

本举例是在F5000-AI-55-G的E9900版本上进行配置和验证的。

本举例中使用的iNode管理中心为iNode PC 7.3 C0607国密定制版本。

组网需求

如下图所示,SSL VPN网关设备连接公网用户和企业私有网络。用户通过SSL VPN网关、采用IP接入方式能够安全地访问私有网络内的Server。具体需求如下:

图-1 IP接入国密USB Key证书认证配置组网图

注意事项

配置准备

在开始下面的配置之前,假设已完成如下配置:

配置步骤

Device的配置

配置接口IP地址和安全域

# 选择“网络 > 接口 > 接口”,进入接口配置页面。

# 单击接口GE1/0/1右侧的<编辑>按钮,参数配置如下:

# 单击<确定>按钮,完成接口IP地址和安全域的配置。

# 单击接口GE1/0/2右侧的<编辑>按钮,参数配置如下:

# 单击<确定>按钮,完成接口IP地址和安全域的配置。

# 单击接口GE1/0/3右侧的<编辑>按钮,参数配置如下:

# 单击<确定>按钮,完成接口IP地址和安全域的配置。

# 单击接口GE1/0/4右侧的<编辑>按钮,参数配置如下:

# 单击<确定>按钮,完成接口IP地址和安全域的配置。

配置路由

本举例仅以静态路由为例,若实际组网中需采用动态路由,请配置对应的动态路由协议。

# 选择“网络 > 路由 > 静态路由 > IPv4静态路由”,单击<新建>按钮,进入新建IPv4静态路由页面。

# 新建IPv4静态路由,并进行如下配置:

# 单击<确定>按钮,完成静态路由的配置。

# 按照同样的步骤新建IPv4静态路由,并进行如下配置:

# 单击<确定>按钮,完成静态路由的配置。

配置安全策略

# 选择“策略 > 安全策略> 安全策略”,单击<新建>按钮,选择新建策略,进入新建安全策略页面。

# 新建安全策略local-untrust,使SSL VPN网关可以向用户发送报文。配置如下:

# 单击<确定>按钮,完成安全策略的配置。

# 按照同样的步骤新建安全策略untrust-local,使用户可以向SSL VPN网关发送报文。配置如下。

# 单击<确定>按钮,完成安全策略的配置。

# 按照同样的步骤新建安全策略local-trust,使SSL VPN网关可以向Server发送报文。配置如下。

# 单击<确定>按钮,完成安全策略的配置。

# 按照同样的步骤新建安全策略trust-local,使Server可以向SSL VPN网关发送报文。配置如下。

# 单击<确定>按钮,完成安全策略的配置。

# 按照同样的步骤新建安全策略untrust-trust,使用户可以通过SSL VPN AC接口访问Server。配置如下。

# 单击<确定>按钮,完成安全策略的配置。

# 按照同样的步骤新建安全策略trust-untrust,使Server可以通过SSL VPN AC接口向用户发送报文。配置如下。

# 单击<确定>按钮,完成安全策略的配置。

国密证书配置

  1. 为Device申请国密证书

    # 选择“对象 > 证书与秘钥 > PKI > 证书主题”,进入证书主题界面。

    # 单击<新建>按钮,进入新建证书主题界面。参数配置如下图所示。

    其中,通用名一般配置为SSL VPN网关接口的IP地址。如果是通过公网NAT映射私网来访问SSL VPN网关,则需要填写为公网IP地址。如果暂时无法明确映射的公网地址,可填写为网关对应的私网地址。需要注意,参数中不要填写中文,建议使用拼音全拼,避免输入的中文与国密CA机构的编码不适配。如果必须填写中文,可以委托国密CA机构在生成证书的时候协助填写。

    图-2 证书主题配置

    # 单击<确定>按钮。

    # 选择“对象 > 证书与秘钥 > PKI > 证书”,进入证书页面,单击<新建PKI域>按钮,参数配置如下图所示。其中,由于国密证书采用双证书机制,包含签名证书和加密证书。在“申请证书使用的密钥对”区域下,需要勾选“为加密和签名使用不同的公钥”。

    图-3 PKI域配置

    # 单击<确定>按钮。

    # 选择“对象 > 证书与秘钥 > 公钥管理 > 本地密钥对”,进入本地密钥对页面。单击<新建>按钮,创建签名密钥对。参数配置如下图所示。

    图-4 生成本地签名密钥对

    # 单击<确定>按钮。

    # 按照同样的步骤,创建加密密钥对。参数配置如下图所示。

    图-5 生成本地加密密钥对

    # 单击<确定>按钮。

    # 选择“对象 > 证书与秘钥 > PKI > 证书”,进入证书页面。单击<提交申请>按钮,申请服务器端证书,参数配置如下图所示。

    图-6 申请服务器端证书

    # 单击<确定>按钮,页面会显示证书申请信息,如下图所示。

    图-7 证书申请信息

    # 结果框中的内容为申请信息,为了方便后续申请证书的操作,可以输入文件名并单击<导出>按钮,将信息导出到txt文件中。以本举例中的requestinfo.txt文件为例,管理人员通过带外方式将该文件发送给CA,申请服务器端证书。

    # 管理人员通过带外方式将证书获取到本地。

  2. 导入国密CA证书、签名证书和加密证书及加密证书私钥文件

    国密CA机构签发的证书包括:国密CA证书、签名证书、加密证书以及加密证书私钥文件。其中,CA证书可能为证书链文件、或者一个根CA证书+中间证书形式发布;加密证书私钥文件可能以独立的key文件形式或者多种协议标准的数字信封形式发布。

    # 本举例中,以国密CA机构返回如下证书为例。

    • BeiJing SM2 ROOT CA.cer(根CA证书)

    • Beijing SM2 CA.cer(中间CA证书)

    • UserCert.cer(签名证书)

    • UserEncCert.cer(加密证书)

    • UserEncCert-数字信封009标准.txt(加密证书私钥)

    # 首先,将国密CA证书导入Device的PKI域。当CA证书包含根CA证书和中间CA证书时,需要先导入根CA证书再导入中间CA证书。其中,CA证书的后缀需要确保为.cer后再导入到Device中。

    # 选择“对象 > 证书与秘钥 > PKI > 证书”,进入证书页面,单击<导入证书>按钮,导入已保存的根CA证书。

    图-8 导入根CA证书

    # 单击<确定>按钮,完成根CA证书的导入。

    # 再次单击<导入证书>按钮,导入中间CA证书。

    图-9 导入中间CA证书

    # 单击<确定>按钮,完成中间CA证书的导入。

    # 其次,导入签名证书。

    # 单击<导入证书>按钮,导入已保存的签名证书,配置如下图所示。

    图-10 导入签名证书

    # 需要注意,如上图所示,建议为导入的签名证书密钥对起一个名字,因为签名证书和加密证书分别使用不同的密钥对,建议分别取名便于区分。

    # 单击<确定>按钮,完成签名证书的导入。

    # 导入加密证书(即UserEncCert.cer)和加密证书私钥文件(即UserEncCert-数字信封009标准.txt)。其中,需要先加载数字信封后再导入加密证书。

    # 请切换到CLI管理界面执行如下操作导入加密证书私钥文件,即UserEncCert-数字信封009标准.txt。

    <Device> system-view

    [DEVICE] pki import domain sslvpndomain gbt35276-2017 encryption-keypair filename UserEncCert-数字信封009标准.txt

    The system is going to save the key pair. You must specify a key pair name, which is a case-insensitive string of 1 to 255 character

    s. Valid characters include a to z, A to Z, 0 to 9, and hyphens (-).

    Please enter the key pair name[default name: sslvpndomain]: sslvpndomain-2

    # 需要注意,如上面灰色底纹处所示,这里也为导入的加密证书key起一个新的名字,用于和签名证书的key做区分。

    # 导入加密证书。

    # 切换回Web管理界面,单击<导入证书>按钮,选择已保存的加密证书。

    图-11 导入加密证书

    # 单击<确定>按钮,完成证书的导入。

配置SSL服务器端策略

# 选择“对象 > SSL > 服务器端策略”,进入SSL服务器端策略页面。

# 单击<新建>按钮,创建服务器端策略,参数配置如下图所示。其中,需要开启验证客户端功能,该功能建议仅在国密USB Key认证的场景下开启。

图-12 配置服务器端策略

# 单击<确定>按钮,完成配置。

配置SSL VPN网关

# 选择“网络 > VPN > SSL VPN > 网关”,进入SSL VPN网关页面,单击<新建>按钮,创建SSL VPN网关,参数配置如下图所示。

图-13 配置SSL VPN网关

# 单击<确定>按钮,完成配置。

如果是在编辑网关页面引用了SSL服务器端策略,则需要重新使能/去使能SSL VPN网关,使引用的策略生效。需要注意,后续如果修改了SSL服务器策略的配置,同样需要重新使能/去使能SSL VPN网关,使修改的配置生效。

创建SSL VPN AC接口

# 选择“网络 > VPN > SSL VPN > IP接入接口”,进入SSL VPN接入接口页面。单击<新建>按钮,创建SSL VPN接入接口,接口编号输入1,单击<确定>,然后继续配置接口参数,如下图所示。

图-14 创建IP接入接口(1)

图-15 创建IP接入接口(2)

# 单击<确定>按钮。

创建SSL VPN客户端地址池

# 选择“网络 > VPN > SSL VPN > 客户端地址池”,进入SSL VPN客户端地址池页面。单击<新建>按钮,创建SSL VPN客户端地址池,参数配置如下图所示。

图-16 创建客户端地址池

# 单击<确定>按钮。

配置SSL VPN访问实例

# 选择“网络 > VPN > SSL VPN > 访问实例”,进入SSL VPN访问实例页面,单击<新建>按钮,创建SSL VPN访问实例,参数配置如下图所示,未显示的部分,采用默认配置即可。

图-17 新建访问实例

# 单击<下一步>,配置隧道业务,参数配置如下图所示。

图-18 配置隧道业务

# 其中,IPv4接入资源中创建了名为rtlist的IPv4路由列表,具体的参数配置步骤如下。

# 单击IPv4接入资源区域的<新建>,进入新建IPv4路由列表页面,配置列表名称并添加表项。

图-19 新建IPv4路由列表

# 单击<确定>,完成IPv4路由列表配置。

# 单击<下一步>,配置资源组。

# 在资源组区域,单击<新建>按钮,创建资源组,参数配置如下图所示。(本例中ACL:3999用于限制用户访问特定IP地址和端口的资源,具体配置以实际情况为准)

图-20 配置资源组

# 单击<确定>按钮,完成资源组配置。

# 单击<下一步>,配置认证相关参数,配置如下图所示。

图-21 认证相关配置

# 单击<完成>按钮,完成配置。

创建SSL VPN用户

# 选择“对象 > 用户与认证 > 用户管理 > 本地用户”,进入用户界面,单击<新建>按钮,创建SSL VPN用户,参数配置如下图所示。

图-22 创建SSL VPN用户

# 需要注意,SSL VPN用户的用户名必须配置为USB Key客户端证书中的CN字段。

图-23 USB Key客户端证书中的CN字段

# 为该用户授权SSL VPN策略组,参数配置如下图所示。

图-24 授权属性

# 单击<确定>按钮,完成配置。

Server配置

Server上需要配置到达网段10.1.1.0/24的路由。

国密iNode客户端配置

国密认证场景下,iNode客户端需要由SSL VPN网关管理人员使用国密版本的iNode智能管理中心进行定制,生成定制版本的客户端软件后发放给所有SSL VPN用户。国密版本的iNode管理中心请联系技术服务人员获取。

  1. 定制iNode客户端

    # 从技术服务人员处获取并安装国密定制版本的iNode管理中心。

    # 打开iNode管理中心,选择“客户端定制”,在网络接入组件中仅勾选SSL VPN。参数配置如下图所示。

    图-25 客户端定制

    # 单击<高级定制>按钮,进入高级定制页面。在“基本功能项”页签下,勾选“启用从证书读取用户名,从证书中抽取指定属性值作为用户名,XXXX”。参数配置如下图所示。

    图-26 高级定制-基础功能项(1)

    # 单击<确认>按钮,选择CN作为用户名的证书属性。

    图-27 高级定制-基础功能项(2)

    # 在“SSL VPN配置项”页签下,配置默认认证类型为Local,默认校验模式选择密码+证书认证,并勾选“使用网关配置的默认认证类型”。参数配置如下图所示。

    图-28 高级定制-SSL VPN配置项

    # 在“证书配置信息”页签下,SSL VPN的证书类型配置为国密证书Key,自定义国密厂商路径填写Ukey动态链接库路径。参数配置如下图所示。

    图-29 高级定制-证书配置信息

    # 其中,如果使用渔翁Ukey,动态链接库文件名称为keyGDBapi.dll。安装过Ukey控件后的PC机上搜索文件名称即可找到对应路径。建议将dll文件移动至通用的目录下,例如C盘的根目录。iNode客户端定制时需要选择对应dll文件路径。后续使用Ukey登录iNode客户端的PC机均需要安装Ukey控件,并将dll文件移动至定制iNode客户端时选择的路径下。

    # 单击<确定>按钮,完成配置。

    # 单击<完成>按钮,进入完成客户端定制页面。

    # 在完成客户端定制页面,客户端场景信息中勾选“默认场景“和”生成定制的客户端安装程序“。

    图-30 完成客户端定制

    # 单击<确定>按钮,iNode管理中心将生成客户端软件。

    图-31 客户端定制结果

    # 单击<查找目标>按钮,将打开客户端软件的文件夹路径。

    图-32 客户端软件存放路径

  2. 发放iNode客户端软件

    # 管理人员需要将该软件发布给所有SSL VPN用户,并要求用户安装该软件。

验证配置

  1. 在Host上安装国密USB Key控件并插入USB Key

    SSL VPN用户在Host安装Ukey控件(请联系技术服务人员获取),并将dll文件移动至定制iNode客户端时选择的路径下。

    SSL VPN用户将已安装客户端证书的国密USB Key插入到Host。

  2. 登录iNode客户端

    # 从技术服务人员处获取并安装iNode客户端后,启动iNode客户端,并根据提示输入USB Key的PIN码(渔翁PIN码默认为11111111)。

    图-33 输入USB Key的PIN码

    # 单击<确定>按钮。

    # 单击<选择客户端证书>按钮,进入属性设置页面。

    图-34 iNode客户端登录页面

    图-35 属性设置页面

    # 从技术服务人员处获取Device的PKI域中的CA证书,并保存到本地。

    # 单击<选择客户端证书>按钮,指定已保存的Device中PKI域下的CA证书的存放路径。其中,路径不能包含中文。

    图-36 选择根CA证书存放路径

    # 单击<确认>按钮,完成选择。

    # 输入SSL VPN网关地址以及用户名密码等信息。

    # 单击<连接>按钮,成功登录SSL VPN网关,如下图所示。

    图-37 成功登录SSL VPN网关

    # SSL VPN用户sslvpnuser登录成功后,SSL VPN用户可以在Host上Ping通服务器地址20.2.2.2。

    C:\>ping 20.2.2.2

    Pinging 20.2.2.2 with 32 bytes of data:

    Reply from 20.2.2.2: bytes=32 time=31ms TTL=254

    Reply from 20.2.2.2: bytes=32 time=18ms TTL=254

    Reply from 20.2.2.2: bytes=32 time=15ms TTL=254

    Reply from 20.2.2.2: bytes=32 time=16ms TTL=254

    Ping statistics for 20.2.2.2:

    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

    Approximate round trip times in milli-seconds:

    Minimum = 15ms, Maximum = 31ms, Average = 20ms

常见问题

当国密USB Key中客户端证书与SSL VPN网关的服务器端证书不是由一个CA机构签发时,应该如何处理?

  1. SSL VPN网关管理人员需要在Device上新建PKI域,并向该域中导入国密USB Key中客户端证书的CA证书链。

  2. 重新使能/去使能SSL VPN网关服务。

在SSL VPN网关设备上修改SSL证书、客户端验证策略等配置后不能立即生效,应该如何处理?

修改SSL、SSL VPN网关、访问实例等配置后,需要重启(即重新使能/去使能)SSL VPN网关和SSL VPN访问实例才能生效。