热门关键字:  ubuntu  分区  函数  Fedora  linux系统进程

F5 BIGIP-LTM SSL应用加速技术白皮书

来源: 作者: 时间:2007-10-16 Tag: 点击:

3.1 内置SSL加速的结构:
 

如图:HTTPS流量到达BIGIP上的VS,由VS处理之后转换成HTTP流量直接发往服务器,服务器处理完成后返回给BIGIP,然后由BIGIP加密后返回给用户。

3.2 外挂SSL加速器的结构:
通常情况下,考虑到系统的可扩展性,可采用独立的设备分别实现服务器的负载均衡和SSL加速,同时负责服务器负载均衡的BIGIP LTM也实现了SSL加速用BIGIP LTM的负载均衡。建议的系统结构图如下:


 
在外挂方式下,通常加速器直接连接在BIGIP上,这样可以节省核心交换机的端口,减少数据包的往返传输。根据实际情况的不同,也可将加速器直接连接在主干交换机上。但无论如何连接,实际的数据流程如下:

上下的两台BIGIP LTM实际为同一台设备。采用外挂方式下,HTTPS流量首先到达实现负载均衡功能的BIGIP LTM,然后由BIGIP LTM 分配到多台用于SSL加速的ACC3400或BIGIP LTM上,在SSL加速器处理完成后,将HTTP流量返回到负责负载均衡的BIGIP LTM,并由BIGIP LTM发往后端的服务器,再后端服务器处理处理完成后原路返回。
4 SSL的认证模式
4.1 单向认证模式
在采用单向认证时,主要是客户端验证服务器端是否合法。在建立SSL握手的时候,服务器将其证书传送给客户端进行验证。客户端主要验证有三个方面:

1、 服务器证书是否在有效时间内
即服务器证书的有效时间与当前时间相比较,如果过期,则认为该证书已经失效。
2、 服务器证书中的域名是否与用户访问的域名一致
即客户端访问的域名,如在浏览器中填入:https://www.adntech.com,则访问的域名为www.adntech.com。服务器的证书中的域名必须与此域名一致。
3、 服务器证书是否由浏览器认可的根证发放
在主流的浏览器软件包括IE和Mozila的版本中,均已经内置了全球主流的CA系统的根证书。用户也可以自行安装可信任的根证书,比如CFCA、信安以及各地CA中心的自建系统的根证书。浏览器将使用内置的根证书对服务器返回的服务器证书进行验证。

如果验证全部通过,则SSL握手成功,浏览器将直接发送HTTP请求到服务器请求内容。如果任何一项没有通过,浏览器则会弹出错误提示,由用户选择是否继续进行。该提示如下:
 

其中,黄色带惊叹号的标志为验证失败。绿色标志为验证成功。

单向认证的流程如下:


4.2 双向认证模式
   在双向认证模式下,除客户端验证服务器端是否合法外,服务器端也需要验证客户端是否为合法用户。服务器端需要安装颁发客户端证书的CA的根证书和中间证书,要求客户端提交客户端证书,并通过已经安装的根证书和中间证书对客户端证书进行逐级验证。以确定客户端是否为合法用户。

当客户端连接一个双向认证模式的VS时,除了客户端验证服务器端是否安全外,还需要进行以下步骤:

1、 客户端弹出证书选择框,该证书选择框内列出服务器端,也就是BIGIP上所支持的CA所发布的证书。
2、 客户端选择证书然后提交。
3、 BIGIP验证客户端提交的证书是否由所信任的CA所发布。
4、 如果配置了证书吊销列表,BIGIP将根据客户端证书中提供的CRL发布点,验证客户端提交的证书是否已经被作废。如果作废或者证书已经过期,则BIGIP将拒绝该用户登录。

双向认证的流程如下:


现在国内的主流CA系统为CFCA和信安的证书系统。下面就针对这两种证书体系进行分别介绍。

4.2.1 CFCA系统
CFCA为银行业的官方证书机构,在国内有较多的用户。CFCA的证书系统中,分为Entrust CA和新的国产CA两个系统。

其中Entrust CA为3级结构,其结构如下:

国产CA为两级结构,结构如下:

在对CFCA Client证书进行验证的时候,BIGIP需要进行多级认证。BIGIP现支持的最大多级认证深度为9级。以Entrust CA三级证书为例,其验证流程如下:
 验证Client Certificate是否由PCA认可
 验证PCA是否由OCA认可
 验证RCA是否是自签发证书并存放在BIGIP的可信任证书列表(Trusted Authorities)中。

如果三级认证均通过,则验证该客户端为合法客户。

4.2.2 信安系统
信安的系统为单级证书体系,在各大银行通常是自建CA。所以通常情况下根证书均为银行特有,在配置时需要向客户配合提供根证书。在配置信安系统的时候,只需要将提供的根证书配置为Trusted Authorities即可。注意根证书必须为PEM格式,经常可能能拿到手的证书为DER格式。
5 基本功能及配置
5.1 证书的导入
5.1.1 服务器证书的生成和导入
 如果由BIGIP来生成服务器证书
需要通过以下步骤。
选择Local Traffic-〉SSL Certificates-〉Create
 
注意Common Name一定要设置为准备用来使用的域名。
点击Finish继续:
 

点击Download Xin_an_server.csr到本地硬盘,然后把csr文件提交给CA,就可以得到相应的证书了。
完成后,在SSL Ceritificates 的页面中能看到一个只有key的条目:
 
在从CA得到证书后,导入到相应的名字即可。


 如果已经具备服务器证书和私钥
需要通过以下步骤进行导入
选择Local Traffic->SSL Certificates ->Import
选择导入的项目
 
通常先导入证书:
 

在导入证书成功后,再点击导入的证书然后导入相应的key文件。

5.1.2 根证及中间证书的导入
对于单级证书模式,将PEM格式的根证直接导入即可:
 

对于多级证书模式,需要将在整个链上的多个证书进行Boundle。Boundle的方式为将多个证书粘贴拷贝到一起,然后全部导入:
-----BEGIN CERTIFICATE-----
MIICvDCCAiWgAwIBAgIEPPx1qzANBgkqhkiG9w0BAQUFADAgMQswCQYDVQQGEwJD
TjERMA8GA1UEChMIQ0ZDQSBSQ0EwHhcNMDIwNjA0MDczOTIwWhcNMjIwNjA0MDgw
OTIwWjAgMQswCQYDVQQGEwJDTjERMA8GA1UEChMIQ0ZDQSBSQ0EwgZ8wDQYJKoZI
hvcNAQEBBQADgY0AMIGJAoGBALjj9EbWFRz6rj4a42KpSB+jPqoHnkjmr3S69P4A
icz9r6ZfFat1SvjJAG4XjB69ejGczrP2Acp3JVyH3jDMXSa4EfEfw/Erom1ILaWy
jKTl/Cs78oJMjGyiZT5CJ14gH6o9rVYMEr2FjH6a7SJKJ/P/YBiQzNh6h97gynIy
J5ChAgMBAAGjggEBMIH+MBEGCWCGSAGG+EIBAQQEAwIABzBCBgNVHR8EOzA5MDeg
NaAzpDEwLzELMAkGA1UEBhMCQ04xETAPBgNVBAoTCENGQ0EgUkNBMQ0wCwYDVQQD
EwRDUkwxMCsGA1UdEAQkMCKADzIwMDIwNjA0MDczOTIwWoEPMjAyMjA2MDQwODA5
MjBaMAsGA1UdDwQEAwIBBjAfBgNVHSMEGDAWgBQAmjTyUflTFGF0bnKhBt7HgXAb
vDAdBgNVHQ4EFgQUAJo08lH5UxRhdG5yoQbex4FwG7wwDAYDVR0TBAUwAwEB/zAd
BgkqhkiG9n0HQQAEEDAOGwhWNi4wOjQuMAMCBJAwDQYJKoZIhvcNAQEFBQADgYEA
Jv+gsBZv4egVVt7qPYUM8M0rfT2TjUd/vm7l7kmfGHLz2hJR2fMhgMXo8sxPBA6D
L3ZW08X+UA5Gsa34enwtkDEVTe1Nvpz6L+W1C9hWpzyKsK0HQbrC5xTLAcEl7nlt
Zb/JN44RbcevYcdAt3SyOAaoOtGljBQwFI0TFdMwHrg=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIICezCCAeSgAwIBAgIEPPyMXjANBgkqhkiG9w0BAQUFADAgMQswCQYDVQQGEwJD
TjERMA8GA1UEChMIQ0ZDQSBSQ0EwHhcNMDQwODEwMDgzNjM3WhcNMTQwNzI1MTYw
MDAwWjAkMQswCQYDVQQGEwJDTjEVMBMGA1UEChMMQ0ZDQSBURVNUIENBMIGfMA0G
CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDYrs50M7hq8y0LzFjfN3UPQzGiBg1kLinP
qJcSx7oRXey15WpLLMLthcfp9Gn/7uXmtNL6athr91YXzrB3Rcp53U3zqScGE9h2
ktFQ3SNdZP6c/VSQ+27pAVxWRUC+F6pmUsno+jd1mftYjhKRV8yvCRpSV6HDzhLK
83xbkoCfiQIDAQABo4G9MIG6MEIGA1UdHwQ7MDkwN6A1oDOkMTAvMQswCQYDVQQG
EwJDTjERMA8GA1UEChMIQ0ZDQSBSQ0ExDTALBgNVBAMTBENSTDEwCwYDVR0PBAQD
AgEGMB8GA1UdIwQYMBaAFACaNPJR+VMUYXRucqEG3seBcBu8MB0GA1UdDgQWBBRG
ctwlcp8CTlWDtYD5C9vpk7P0RTAMBgNVHRMEBTADAQH/MBkGCSqGSIb2fQdBAAQM
MAobBFY2LjADAgSQMA0GCSqGSIb3DQEBBQUAA4GBAJ69l0Y1K+ayEvojzBHfzozM
f0a0aQMaEbiil+RJQ8lvwWHZOeaRTcJOxyiPoQ5DZqhEusXavFPX4J/mE3H5PCnV
5tF7tSO7vEguhs8m2IXxrOZCpKmCJVevNdV9x0m9eD629NVJGf683raMx39Ft4HQ
FaLT+EXbnSAWvYemPyOW
-----END CERTIFICATE-----


导入后,BIGIP会自动识别其为一个Boundle Certificate:
 
同时,自动识别出Boundle中的各级证书。

在处理多级证书和多CA时,通常会用到Boundle证书方式。

5.2 Client SSL Profile的配置
Client SSL Profile的配置,是应用SSL加速功能中最重要的一个环节。
5.2.1 单向认证方式
单向认证模式下,需要配置的内容较少:
 

 Certificate:服务器证书
 Key:服务器证书对应的Key
 Chain:如果服务器证书为多级证书体系,则将中间证书添加在这里。如果是单级证书体系,则不需要任何配置。
5.2.2 双向认证方式
在双向认证模式下,则需要配置BIGIP验证Client证书的部分:

在双向认证时,需要配置以下内容:
Trusted Certificate Authorities:客户端证书的根证书
Client Certificate:这里有两种模式可以选择
      Require:客户端必须提交证书,通常都采用这种方式
      Request:客户端可提交证书,也可不提交证书
Advertised Certificate Authorities:在客户端连接时,服务器发送到客户端的信息,该信息使在客户端弹出的证书选择列表中只包含选中的根证书所颁发的客户端证书。配置时注意如果有中间证书,则一定要选择根证书和中间证书的Boundle。

最新评论共有 4 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册