APVSSL加速技術(shù)應(yīng)用指導(dǎo)書(shū)
APV SSL加速技術(shù)應(yīng)用指導(dǎo)書(shū)ArrayNetworks ,目錄一、什么是SSL 加速器 ........................................

APV SSL加速技術(shù)應(yīng)用指導(dǎo)書(shū)
ArrayNetworks
,
目錄
一、什么是SSL 加速器 .................................................................................................................... 3
二、APV SSL功能介紹 .................................................................................................................... 4
2.1為提升性能而設(shè)計(jì)的功能 . .................................................................................................. 4
2.2為提升證書(shū)支持的靈活性而設(shè)計(jì)的功能。 . ...................................................................... 5
2.3為提供用戶體驗(yàn)的功能 . ...................................................................................................... 7
2.4 APV SSL功能總結(jié): . .......................................................................................................... 8
三、APV SSL解決方案總結(jié) ............................................................................................................ 9
附件一、APV SSL加速的一個(gè)典型案例配置 ................................................................................ 9
1、為SSL 虛擬域名創(chuàng)建證書(shū)簽發(fā)請(qǐng)求 . ................................................................................. 10
2、轉(zhuǎn)發(fā)證書(shū)簽發(fā)請(qǐng)求到認(rèn)證中心 . ......................................................................................... 11
3、為SSL 虛擬域名配置客戶端認(rèn)證 . ..................................................................................... 13
4、為SSL 虛擬域名配置CRL . .................................................................................................. 13
5、為不具有強(qiáng)加密支持的客戶端配置重定向 ...................................................................... 14
6、查看當(dāng)前SSL 設(shè)置 . ............................................................................................................. 14
附件二:如何使用windows 2003 server的證書(shū)服務(wù)實(shí)現(xiàn)認(rèn)證中心功能................................. 15
,
隨著電子商務(wù)應(yīng)用的迅猛發(fā)展,為保證交易的機(jī)密性,對(duì)交易進(jìn)行加密的需求越來(lái)越普遍,基于HTTP 的Web 應(yīng)用越來(lái)越多的被加密的HTTPS 應(yīng)用所取代。HTTPS 應(yīng)用了Netscape 的完全套接字層(SSL )作為HTTP 應(yīng)用層的子層。HTTPS 使用端口443,而不是象HTTP 那樣使用端口80來(lái)和TCP/IP進(jìn)行通信。SSL (Secure socket Layer)安全套接層協(xié)議主要是使用公開(kāi)密鑰體制和X.509數(shù)字證書(shū)技術(shù)保護(hù)信息傳輸?shù)臋C(jī)密性和完整性。
一、什么是SSL 加速器
SSL 協(xié)議是對(duì) HTTP 請(qǐng)求上的敏感數(shù)據(jù)加密的技術(shù)。握手、加密和解密過(guò)程由 Web 服務(wù)器處理。此過(guò)程會(huì)給 Web 服務(wù)器添加額外的工作負(fù)載。
由web 服務(wù)器提供傳統(tǒng)的軟件SSL 加速方式嚴(yán)重降低了web 服務(wù)器的性能,供應(yīng)商提供了可改進(jìn) SSL 處理的硬件。這些硬件稱(chēng)為“SSL 加速器”或“SSL 終結(jié)器”(SSL Terminator) 。SSL 加速器截獲加密的通信并執(zhí)行 SSL 處理(握手、加密和解密)。加速器與 Web 服務(wù)器之間的通信通常是以明文形式進(jìn)行的。通過(guò)使用專(zhuān)用硬件來(lái)執(zhí)行 SSL 處理,您可以在站點(diǎn)上獲得更好的性能。

瀏覽器向Web 站點(diǎn)發(fā)出 HTTPS 請(qǐng)求。SSL 加速器截獲該請(qǐng)求并對(duì)其進(jìn)行解密。然后以明文形式 (HTTP) 將該請(qǐng)求轉(zhuǎn)發(fā)到 Web 服務(wù)器。當(dāng)響應(yīng)被返回時(shí),SSL 加速器對(duì)響應(yīng)加密,然后將其發(fā)送回瀏覽器。
Array 公司的APV 系列設(shè)備,正是這樣一款性能卓越的SSL 加速器。通常情況下,Array SSL 數(shù)據(jù)處理流程為:
1、首先客戶端與Array 設(shè)備上的SSL 虛擬主機(jī)建立一個(gè)加密的HTTPS 會(huì)話。
2、然后Array 設(shè)備與后臺(tái)原始服務(wù)器建立一個(gè)非加密的http 會(huì)話。
3、數(shù)據(jù)在發(fā)給后臺(tái)服務(wù)器前,SSL 虛擬主機(jī)解密客戶端的請(qǐng)求后再發(fā)給后端服務(wù)器。
,
二、APV SSL功能介紹
Array APV采用了高性能的硬件加速方式。并且支持端到端的安全,SSL 加速器到后臺(tái)服務(wù)器之間也可以采用SSL 加密方式。SSL 不僅支持HTTPS 協(xié)議,還支持POPS 的安全email 傳輸方式。 SSL 標(biāo)準(zhǔn)支持如下:
? 支持128位或192位的強(qiáng)密鑰加密。
? 支持SSLv3, TLSv1 (SSLv3.1)得SSL 版本。
? 支持所有主流版本得加密密碼。
? 支持加速的1024位公鑰。
SSL 服務(wù)器和客戶端支持認(rèn)證。并內(nèi)置證書(shū)管理功能,支持客戶端證書(shū)并且客戶端證書(shū)可以在http 請(qǐng)求中的報(bào)頭傳遞,支持證書(shū)鏈中的中間證書(shū),支持動(dòng)態(tài)上傳證書(shū)吊銷(xiāo)列表,其中證書(shū)支持如下:
? 支持CSR 方式靈活的生成PEM(Base64)格式的外部證書(shū)。
? 支持導(dǎo)入OpenSSL, Microsoft IIS, and Netscape的證書(shū)和私鑰。
? 證書(shū)可以導(dǎo)入OpenSSL/Apache SSL PEM format, Microsoft IIS (v4/v5)
native format, and Netscape iPlanet DB等格式。
支持基于客戶密碼強(qiáng)度的https 重定向,支持HTTP 報(bào)頭中用X-Forwarded-For 來(lái)傳遞客戶端的源地址信息用戶審計(jì)。
APV SSL的功能可分為三大類(lèi),為提升性能而設(shè)計(jì)的功能,為提升證書(shū)證書(shū)的靈活性而設(shè)計(jì)的功能,和提高用戶體驗(yàn)的功能。下面我們分別來(lái)看看每項(xiàng)功能的原理和配置。
2.1為提升性能而設(shè)計(jì)的功能
APV 設(shè)備采用了高性能的硬件加速方式,和獨(dú)特的軟件處理方式,支持X509 證書(shū)快速解析。X509證書(shū)快速解析是Array 公司正在申請(qǐng)專(zhuān)利得一種新的證書(shū)解析算法。
X509證書(shū)快速解析流程如下:
首先掃描整個(gè)x509證書(shū),記錄下證書(shū)中每個(gè)字段的偏移和內(nèi)容長(zhǎng)度。最后對(duì)于不同的需求,APV 可以根據(jù)記錄的信息解析出需要的字段。
該功能對(duì)應(yīng)的CLI 命令:
ssl settings verifymethod

為每個(gè)SSL 虛擬主機(jī)設(shè)置證書(shū)解析模式,stand 表示APV 設(shè)備將采用Openssl 來(lái)解析驗(yàn)證證書(shū),而fast 選項(xiàng)表示在客戶證書(shū)上系統(tǒng)將用快速解析模式。
OpenSSL 客戶端證書(shū)解析是傳統(tǒng)的SSL 解析算法,其主要缺點(diǎn)是:
A 、性能低 B 、支持的證書(shū)類(lèi)型少
X509證書(shū)快速解析的優(yōu)勢(shì):
A 、性能高
B 、支持更多的證書(shū)類(lèi)型,包括BER ,DER 和CER 。
C 、支持一些不規(guī)則的證書(shū),例如某些CN 太長(zhǎng)的證書(shū)。
2.2為提升證書(shū)支持的靈活性而設(shè)計(jì)的功能。
1、支持CA 證書(shū)列表,支持基于SSL 的客戶端認(rèn)證
如果啟用該功能,在客戶端可以連接到SSL 虛擬域名之前,APV 要求每個(gè)客戶端提供SSL 證書(shū)。配置命令為 APV(config)# ssl settings clientauth “www.example.com”
如果為SSL 虛擬域名啟用了SSL 客戶端認(rèn)證功能,則必須提供一個(gè)受信CA 證書(shū),使用它對(duì)客戶端證書(shū)進(jìn)行校驗(yàn):
APV(config)# ssl import rootca “www.example.com”
該命令將提示用戶粘貼一個(gè)PEM 格式的受信CA 證書(shū)??梢詾镾SL 虛擬域名配置多個(gè)受信CA 。也可以指定屬主過(guò)濾:
APV(config)# ssl settings clientauth “www.example.com”“/C=cn/O=arraynetworks"
客戶端所發(fā)送的證書(shū)的屬主必須與所配置的過(guò)濾規(guī)則相匹配才能通過(guò)。過(guò)濾信息可以配置為C (國(guó)家),O (組織)和OU (組織單元),僅限于這三項(xiàng)。
APV 使用受信根證書(shū)對(duì)客戶端證書(shū)進(jìn)行認(rèn)證,然后根據(jù)屬主過(guò)濾規(guī)則決定允許(如果與規(guī)則相匹配)或拒絕客戶端對(duì)SSL 虛擬域名的訪問(wèn)。對(duì)于這個(gè)例子,只有'C' 為 'cn' 并且 'O' 為 'arraynetworks' 的客戶端證書(shū)才能通過(guò)。
APV 支持兩種客戶端認(rèn)證方式:強(qiáng)制的和非強(qiáng)制的??蛻舳苏J(rèn)證模式默認(rèn)是強(qiáng)制的。在非強(qiáng)制模式下:
APV(config)# no ssl settings clientauth “www.example.com”
,
當(dāng)服務(wù)器發(fā)送一個(gè)證書(shū)請(qǐng)求到客戶端時(shí),如果客戶沒(méi)有匹配的證書(shū),或者點(diǎn)“cancel ” 取消時(shí),服務(wù)器將會(huì)允許客戶連接到限制性的網(wǎng)絡(luò)資源,而不是放棄這個(gè)SSL 連接。所有的網(wǎng)絡(luò)資源如果想要公開(kāi)給非認(rèn)證模式的客戶端,則需要執(zhí)行下面這個(gè)命令:
APV(config)# http acl url
2、支持證書(shū)后傳,為SSL 虛擬主機(jī)識(shí)別客戶端證書(shū)
一個(gè)后臺(tái)服務(wù)在處理客戶的請(qǐng)求之前,需要客戶端的證書(shū)。但是后臺(tái)服務(wù)器不能自己識(shí)別分析一個(gè)完整的SSL 證書(shū)。APV 將客戶端證書(shū)分解很多個(gè)字段,然后通過(guò)HTTPS URL 請(qǐng)求或HTTP 頭信息的方式傳遞到后臺(tái)服務(wù)器。
其配置命令為 [no]ssl settings certparse
例如: APV(config)# ssl settings cerparse “www.example.com”
3、支持動(dòng)態(tài)上傳CRL ,并且將CRL 列表存儲(chǔ)在內(nèi)存中,以提高讀證書(shū)狀態(tài)檢查的速度
CRL (即證書(shū)撤消列表),可以通過(guò)HTTP 、FTP 或LDAP 定期從CRL 分發(fā)點(diǎn)獲取CRL 文件,CRL 分發(fā)點(diǎn)最多可以配置10條。
示例:在一個(gè)HTTP 網(wǎng)頁(yè)服務(wù)器上保存有CRL 文件(Array.crl ),希望每隔1分鐘獲取該文件。配置命令如下:
APV(config)#ssl settings crl www.example.com “http://www.crldp.com/Array.crl” 1 這樣 Array TMX每隔1分鐘會(huì)從www.crldp.com 上下載CRL 文件Array.crl 。
也可以從FTP 站點(diǎn)上下載CRL 文件:
APV(config)#ssl settings crl www.example.com “ftp://ftp.crldp.com/Array.crl” 1 也支持從LDAP 站點(diǎn)上下載CRL 文件:
ssl settings crl www.example.com “l(fā)dap://ldap.crldp.com/cn=array,dc=arraynetworks,dc=com” 1
4、支持基于客戶密碼強(qiáng)度的https 重定向
APV 提供重定向弱客戶端(沒(méi)有使用強(qiáng)加密的客戶端)到另一個(gè)URL 的功能。指定可以接受的最弱強(qiáng)度,任何使用比此更弱的加密算法的客戶端將被重定向到另一個(gè)URL 。
比如,希望將密鑰長(zhǎng)度小于168位的客戶端重定向到另一個(gè)不同的站點(diǎn)
www.example2.com 。
配置命令如下:
,
ssl settings minimum www.example.com 168 “http://www.example2.com”
2.3為提供用戶體驗(yàn)的功能
APV 設(shè)備支持客戶定制的SSL 錯(cuò)誤頁(yè)面,管理員可以制定不同的錯(cuò)誤類(lèi)型的頁(yè)面。如果客戶端認(rèn)證失敗,SSL 客戶就能看到一個(gè)管理員定義的錯(cuò)誤頁(yè)面提示。錯(cuò)誤頁(yè)面必須是靜態(tài)的html 類(lèi)型,不能包含圖片,flash 等。
主要優(yōu)勢(shì):用戶可以看到詳細(xì)的、與SSL 錯(cuò)誤相關(guān)的web 頁(yè)面提示。
ssl import error
從管理員的遠(yuǎn)端主機(jī)將一個(gè)靜態(tài)的自定義的錯(cuò)誤頁(yè)面導(dǎo)入到APV 的系統(tǒng)磁盤(pán)。管理員可以針對(duì)不同的錯(cuò)誤頁(yè)面類(lèi)型定義不同的錯(cuò)誤代碼,這些頁(yè)面必須為不包含圖片及flash 動(dòng)畫(huà)的靜態(tài)HTML 頁(yè)面。
error_code 指明自定義錯(cuò)誤頁(yè)面的代碼,錯(cuò)誤頁(yè)面的種類(lèi)有六種,每一種錯(cuò)誤頁(yè)面對(duì)應(yīng)一個(gè)錯(cuò)誤代碼,范圍由901至906,如下所示:
901 服務(wù)器需要客戶端證書(shū),而客戶端沒(méi)有發(fā)送證書(shū)
902 SSL 客戶端證書(shū)的簽名驗(yàn)證未通過(guò)
903 SSL 客戶端證書(shū)不被信任
904 SSL 客戶端證書(shū)過(guò)期
905 SSL 客戶端證書(shū)未生效
906 客戶端證書(shū)被廢除
url 指明遠(yuǎn)端主機(jī)的HTTP 或者FTP URL地址,用戶由該地址獲得靜態(tài)錯(cuò)誤頁(yè)面。 例如,管理員在其主機(jī)上設(shè)置一個(gè)取名為error.html 的錯(cuò)誤頁(yè)面,其主機(jī)IP 地址為10.3.50.100,那么這條命令中的
ssl load error
將一個(gè)SSL 自定義錯(cuò)誤頁(yè)面加載至Array TM 系統(tǒng)內(nèi)存中,這樣,當(dāng)客戶端認(rèn)證失敗時(shí),在SSL 客戶端將顯示該SSL 自定義錯(cuò)誤頁(yè)面。注意,加載之前需保證所加載的錯(cuò)誤頁(yè)面已經(jīng)通過(guò)執(zhí)行“ssl import error”命令被導(dǎo)入到Array TM 系統(tǒng)磁盤(pán)中。
,
用戶還可以通過(guò)設(shè)置一個(gè)配置項(xiàng),在所有的HTTP 和HTTPS 請(qǐng)求中插入
“X-Forwarded-For ”頭。這樣可以使后臺(tái)服務(wù)看到客戶端的IP 地址。
打開(kāi)此項(xiàng)之后,將向轉(zhuǎn)發(fā)到后臺(tái)服務(wù)器的HTTP 報(bào)頭和URL 請(qǐng)求中插入主機(jī)IP 地址。
vs_name SLB 虛擬服務(wù)名稱(chēng)
mode 可以為 header, url 或者 all 。all 的意思是 HTTP 報(bào)頭和 URL ,參數(shù)中將包含
客戶端IP 地址。
customized name為在http header或URL 請(qǐng)求參數(shù)中的IP 地址定義了一個(gè)名稱(chēng)
關(guān)閉此項(xiàng)后,將禁止將向轉(zhuǎn)發(fā)到后臺(tái)服務(wù)器的HTTP 報(bào)頭和URL 請(qǐng)求中插入主機(jī)IP 地
址。
2.4 APV SSL功能總結(jié):



三、APV SSL解決方案總結(jié)
相對(duì)于SSL 加速器的解決方案,客戶還可以采用在WEB 服務(wù)器上直接安裝SSL 加速
卡的方式。但是隨著應(yīng)用服務(wù)器因業(yè)務(wù)擴(kuò)容需要而不斷增加。在每臺(tái)服務(wù)器上都安裝SSL 加速卡的方式嚴(yán)重浪費(fèi)了用戶的投資,并且無(wú)論是從管理的靈活性、維護(hù)的方便性,還是從性能的方面,Array 公司的APV SSL加速方案都更勝一籌,為客戶提供了更好的投資回報(bào)率。
附件一、APV SSL加速的一個(gè)典型案例配置
下面,我們通過(guò)一個(gè)配置實(shí)例來(lái)看一下在APV SSL加速方式下,如何配置支持CRL 吊
銷(xiāo)列表的客戶端證書(shū)認(rèn)證。
在本案中,使用“www.example.com ”作為SSL 虛擬域名,它與一個(gè)IP 地址為10.10.0.10、端口號(hào)為443的SLB 虛擬服務(wù)關(guān)聯(lián)。
首先創(chuàng)建一個(gè)新的SSL 虛擬域名
第一步,使用一個(gè)SLB 的命令創(chuàng)建SLB 虛擬服務(wù)。
APV(config)#slb virtual https virtual1https 10.10.0.10 443
其中“virtual1https ”是新創(chuàng)建的SLB 虛擬服務(wù)。
SSL virtual Host: www.example.com
SLB virtual Host IP: 10.10.0.10
SLB virtual Host Port: 443
第二步,使用“ssl host”命令定義SSL 虛擬域名。
slb virtual https
tual_name>

“ssl host virtual”命令會(huì)為新配置的SSL 虛擬域名創(chuàng)建一個(gè)私有與公有密鑰對(duì),密鑰長(zhǎng)度是1024位。
APV(config)#ssl host virtual www.example.com virtual1https
下面開(kāi)始APV SSL應(yīng)用加速部分的配置過(guò)程
先配置SSL 虛擬域名,產(chǎn)生一個(gè)CSR (證書(shū)簽發(fā)請(qǐng)求)發(fā)送到所選擇的認(rèn)證中心,認(rèn)證 中心會(huì)發(fā)回一個(gè)簽發(fā)后的證書(shū),將該證書(shū)導(dǎo)入。本案例的認(rèn)證中心為自己搭建的windows 2003 server的證書(shū)服務(wù),關(guān)于windows 2003 server證書(shū)認(rèn)證的操作,詳細(xì)請(qǐng)參考此文檔的附件二。
1、為SSL 虛擬域名創(chuàng)建證書(shū)簽發(fā)請(qǐng)求
Array 設(shè)備提供了為已配置的SSL 虛擬域名創(chuàng)建密鑰對(duì)和證書(shū)簽發(fā)請(qǐng)求的功能,也可以創(chuàng)建測(cè)試證書(shū)用于測(cè)試或評(píng)估。第一步是使用“ssl csr
APV(config)#ssl csr www.example.com
We will now gather some required information about your ssl virtual host,
This information is encoded into your certificate
Two character country code for your organization (e.g. US): US
State or province: CA
Location or local city: San Jose
Organization Name: Example.com
Organizational Unit: Example.com
Email address of administrator: admin@example.com
產(chǎn)生以下輸出:
-----BEGIN CERTIFICATE REQUEST-----
MIIB5TCANU4ANQAwgaQxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTERMA8GA1UEBxMIU2FuIEpvc2UxFDASBgNVBAoTC0V4YW1wbGUuY29tMRQwEgYDVQQLEw tFeGFcGxlLmNvbTEnMCUGA1UEAxMec3NsLXRlc3QucHBiLmFycmF 廠商
bmV0d29ya3MubmV0MSAwHgYJKoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLmNvbTCBnzA NBgkqhkiG9w0AQEFAAOBjQAwgYkCgYEApk18ozLXGEpJS69BvtfNLcBEjoO82 QWRtH