1、Click to edit Master title style,Click to edit Master text styles,Second level,Third level,#,F5 BIGIP-LTM SSL,应用加速,周伟曼,QQ:69680283,18907189098,zhouwm,SSL,加速原理,SSL,协议实际上由两个协议构成,位于下面的一层为,SSL,记录协议(,SSL Record Protocol,),其上为,SSL,控制协议,(SSL Control Protocols),,,SSL,记录协议用于封装上层发送和接收的所有数据,当然包括,SSL,控制协议的数据,,S
2、SL,控制协议包含:,SSL,握手协议,(SSL Handshake Protocol),SSL,密钥交换协议,(SSL Change,Ciphers Specification,),SSL,报警协议,(SSL Alert Protocol),SSL,的握手过程,1,浏览器向安全,WEB,服务器发出一个,HTTPS,的请求,比如:,。,2,该,WEB,服务器将它的证书递交给浏览器的,SSL,模块。,3,浏览器检查服务器递交的证书的有效性,比如有效日期和证书的签名等。如果该证书不是被一个浏览器已经信任的发证结构(,CA,)签发的证书,浏览器将弹出一个对话框来提示用户是否信任该,WEB,站点证书。
3、如果用户选择不信任该证书,浏览器会选择自动中止该连接。,4,浏览器将把从,WEB,站点证书里取得的站点名称和浏览器的,URL,里的域名相对照,如果相符,浏览器将认为站点为真正的站点。,5,浏览器将自己支持的一系列算法发送给服务器。,6,如果服务器需要客户端递交证书,浏览器将把自己的证书发送给服务器,服务器检查递交的证书,并且检查该证书是否为自己已经信任的发证机构(,CA,)发放的证书。如果不是,服务器将自动中止该次连接。,7,服务器端选择自己和客户端共同支持的加密算法,然后发送给客户端。,8,浏览器产生一个会话密钥,然后把该密钥通过服务器的公钥加密后传给服务器。,9,服务器接收到该加过密的会话
4、密钥后用自己的私钥解密,得到会话密钥的明文。,10,客户端和服务器使用刚才协商的会话密钥对应用层的数据进行加解密,对传输的数据进行安全保护。,BIGIP SSL,加速,在,BIGIP,新的硬件,平台上,,,SSL,加速的处理能力还会有成倍的提高。由于采用了独立的安全,NP,硬件加速,SSL,流量,基本上对于,SSL,的流量可实现“零”,CPU,占用率。因此,当采用内置模式时,,SSL,加解密,动作,基本不会影响到负载均衡的处理,能力,。,BIGIP,可支持以下加密协议,SSLv2,TLSv1,SGC/,设置,RFC 2246,中描述的所有标准协议扩展和密码,AES,(在,RFC 3268,中进
5、行了描述),从现有的,128,位加密方式一直到,AES 256,位的加密算法,,BIGIP,均可提供全硬件加速支持,单向认证模式,在采用单向认证时,主要是客户端验证服务器端是否合法。在建立,SSL,握手的时候,服务器将其证书传送给客户端进行验证。客户端主要验证有三个方面:,1,、服务器证书是否在有效时间内,即服务器证书的有效时间与当前时间相比较,如果过期,则认为该证书已经失效。,2,、服务器证书中的域名是否与用户访问的域名一致,即客户端访问的域名,如在浏览器中填入,:,,则访问的域名为,。服务器的证书中的域名必须与此域名一致。,3,、服务器证书是否由浏览器认可的根证发放,在主流的浏览器软件包括
6、IE,和,Mozila,的版本中,均已经内置了全球主流的,CA,系统的根证书。用户也可以自行安装可信任的根证书,比如,CFCA,、信安以及各地,CA,中心的自建系统的根证书。浏览器将使用内置的根证书对服务器返回的服务器证书进行验证。,单向认证的流程,双向认证模式,在双向认证模式下,除客户端验证服务器端是否合法外,服务器端也需要验证客户端是否为合法用户。服务器端需要安装颁发客户端证书的,CA,的根证书和中间证书,要求客户端提交客户端证书,并通过已经安装的根证书和中间证书对客户端证书进行逐级验证。以确定客户端是否为合法用户。,当客户端连接一个双向认证模式的,VS,时,除了客户端验证服务器端是否安
7、全外,还需要进行以下步骤:,1,、客户端弹出证书选择框,该证书选择框内列出服务器端,也就是,BIGIP,上所支持的,CA,所发布的证书。,2,、客户端选择证书然后提交。,3,、,BIGIP,验证客户端提交的证书是否由所信任的,CA,所发布。,4,、如果配置了证书吊销列表,,BIGIP,将根据客户端证书中提供的,CRL,发布点,验证客户端提交的证书是否已经被作废。如果作废或者证书已经过期,则,BIGIP,将拒绝该用户登录。,双向认证的流程,F5,基本功能及配置,服务器证书的生成和导入,如果由,BIGIP,来生成服务器证书,需要通过以下步骤。,选择,Local Traffic-SSL Certif
8、icates-Create,注意,Common Name,一定要设置为准备用来使用的域名。,点击,Finish,继续:,点击,Download Xin_an_server.csr,到本地硬盘,然后把,csr,文件提交给,CA,,就可以得到相应的证书了。,完成后,在,SSL Ceritificates,的页面中能看到一个只有,key,的条目:,在从,CA,得到证书后,导入到相应的名字即可。,如果已经具备服务器证书和私钥,需要通过以下步骤进行导入,选择,Local Traffic-SSL Certificates-Import,选择导入的项目,通常先导入证书:,在导入证书成功后,再点击导入的证书然
9、后导入相应的,key,文件。,根证及中间证书的导入,对于单级证书模式,将,PEM,格式的根证直接导入即可:,-BEGIN CERTIFICATE-,MIICvDCCAiWgAwIBAgIEPPx1qzANBgkqhkiG9w0BAQUFADAgMQswCQYDVQQGEwJD,TjERMA8GA1UEChMIQ0ZDQSBSQ0EwHhcNMDIwNjA0MDczOTIwWhcNMjIwNjA0MDgw,OTIwWjAgMQswCQYDVQQGEwJDTjERMA8GA1UEChMIQ0ZDQSBSQ0EwgZ8wDQYJKoZI,hvcNAQEBBQADgY0AMIGJAoGBALjj9Eb
10、WFRz6rj4a42KpSB+jPqoHnkjmr3S69P4A,icz9r6ZfFat1SvjJAG4XjB69ejGczrP2Acp3JVyH3jDMXSa4EfEfw/Erom1ILaWy,jKTl/Cs78oJMjGyiZT5CJ14gH6o9rVYMEr2FjH6a7SJKJ/P/YBiQzNh6h97gynIy,J5ChAgMBAAGjggEBMIH+MBEGCWCGSAGG+EIBAQQEAwIABzBCBgNVHR8EOzA5MDeg,NaAzpDEwLzELMAkGA1UEBhMCQ04xETAPBgNVBAoTCENGQ0EgUkNBMQ0wCwYDVQQD,EwRDUk
11、wxMCsGA1UdEAQkMCKADzIwMDIwNjA0MDczOTIwWoEPMjAyMjA2MDQwODA5,MjBaMAsGA1UdDwQEAwIBBjAfBgNVHSMEGDAWgBQAmjTyUflTFGF0bnKhBt7HgXAb,vDAdBgNVHQ4EFgQUAJo08lH5UxRhdG5yoQbex4FwG7wwDAYDVR0TBAUwAwEB/zAd,BgkqhkiG9n0HQQAEEDAOGwhWNi4wOjQuMAMCBJAwDQYJKoZIhvcNAQEFBQADgYEA,Jv+gsBZv4egVVt7qPYUM8M0rfT2TjUd/vm7l7kmfGHLz2h
12、JR2fMhgMXo8sxPBA6D,L3ZW08X+UA5Gsa34enwtkDEVTe1Nvpz6L+W1C9hWpzyKsK0HQbrC5xTLAcEl7nlt,Zb/JN44RbcevYcdAt3SyOAaoOtGljBQwFI0TFdMwHrg=,-END CERTIFICATE-,-BEGIN CERTIFICATE-,MIICezCCAeSgAwIBAgIEPPyMXjANBgkqhkiG9w0BAQUFADAgMQswCQYDVQQGEwJD,TjERMA8GA1UEChMIQ0ZDQSBSQ0EwHhcNMDQwODEwMDgzNjM3WhcNMTQwNzI1MTYw,MDA
13、wWjAkMQswCQYDVQQGEwJDTjEVMBMGA1UEChMMQ0ZDQSBURVNUIENBMIGfMA0G,CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDYrs50M7hq8y0LzFjfN3UPQzGiBg1kLinP,qJcSx7oRXey15WpLLMLthcfp9Gn/7uXmtNL6athr91YXzrB3Rcp53U3zqScGE9h2,ktFQ3SNdZP6c/VSQ+27pAVxWRUC+F6pmUsno+jd1mftYjhKRV8yvCRpSV6HDzhLK,83xbkoCfiQIDAQABo4G9MIG6MEIGA1UdHwQ7MDkwN6A
14、1oDOkMTAvMQswCQYDVQQG,EwJDTjERMA8GA1UEChMIQ0ZDQSBSQ0ExDTALBgNVBAMTBENSTDEwCwYDVR0PBAQD,AgEGMB8GA1UdIwQYMBaAFACaNPJR+VMUYXRucqEG3seBcBu8MB0GA1UdDgQWBBRG,ctwlcp8CTlWDtYD5C9vpk7P0RTAMBgNVHRMEBTADAQH/MBkGCSqGSIb2fQdBAAQM,MAobBFY2LjADAgSQMA0GCSqGSIb3DQEBBQUAA4GBAJ69l0Y1K+ayEvojzBHfzozM,f0a0aQMaEbiil+RJQ8
15、lvwWHZOeaRTcJOxyiPoQ5DZqhEusXavFPX4J/mE3H5PCnV,5tF7tSO7vEguhs8m2IXxrOZCpKmCJVevNdV9x0m9eD629NVJGf683raMx39Ft4HQ,FaLT+EXbnSAWvYemPyOW,-END CERTIFICATE-,-,对于多级证书模式,需要将在整个链上的多个证书进行,Boundle,。,Boundle,的方式为将多个证书粘贴拷贝到一起,然后全部导入:,导入后,,BIGIP,会自动识别其为一个,Boundle Certificate:,同时,自动识别出,Boundle,中的各级证书。,在处理多级证书和多,CA
16、时,通常会用到,Boundle,证书方式。,双向认证方式,在双向认证模式下,则需要配置,BIGIP,验证,Client,证书的部分:,Trusted Certificate Authorities,:客户端证书的根证书,Client Certificate,:这里有两种模式可以选择,Require:,客户端必须提交证书,通常都采用这种方式,Request:,客户端可提交证书,也可不提交证书,Advertised Certificate Authorities,:在客户端连接时,服务器发送到客户端的信,息,该信息使在客户端弹出的证书选择列表中只包含选中的根证书所颁发的客户端证书。配置时注意如果
17、有中间证书,则一定要选择根证书和中间证书的,Boundle,。,证书内容添加到,HTTP Header,在实际应用中,通常需要将证书中的一些字段如,subject,,,Expire Date,,,Issue Date,等信息插入到,HTTP header,中,传递给后台的服务器,以便于服务器对用户进行识别。,在,BIGIP,中,可以将证书中的任何字段添加到,HTTP Header,并传递到后台服务器。添加方法需要通过,rules,进行。,when CLIENTSSL_CLIENTCERT,session add ssl SSL:sessionid SSL:cert 0,when HTTP_RE
18、QUEST,set id SSL:sessionid,set cert session lookup ssl$id,HTTP:header insert subject X509:subject$cert,HTTP:header insert not_valid_before X509:not_valid_before$cert,HTTP:header insert not_valid_after X509:not_valid_after$cert,其他,在F5上配置SSL加速,对客户的后台http服务器进行加密,访问模式:clientSSLF5 BIGIPHTTPserver由于客户访问后台
19、服务习惯上使用http的方式访问,做了SSL加密后,要使用https访问,客户使用不习惯,能否有一种方法,客户在IE浏览器里输入http后,自动跳转为https,建立两个,vs,,一个,http,的(使用,irule),,一个,https vswhen HTTP_REQUEST HTTP:redirect https:/getfield HTTP:host:1HTTP:uri,when HTTP_RESPONSE set httpHost set http set https https:/set location HTTP:header locationif$location starts_with$httpHost regsub-all$http$location$https newLocationHTTP:header replace location$newLocation,答疑,Q&A,谢 谢,!,感谢大家!,






