安全连接方式SSL
通常的連接方式中,通信是以非加密的形式在網(wǎng)絡(luò)上傳播的,這就有可能被非法竊聽到,尤其是用于認(rèn)證的口令信息。為了避免這個安全漏洞,就必須對傳輸過程進(jìn)行加密。對HTTP傳輸進(jìn)行加密的協(xié)議為HTTPS,它是通過SSL(Secure socketlayer)進(jìn)行HTTP傳輸?shù)膮f(xié)議,不但通過公用密鑰的算法進(jìn)行加密保證傳輸?shù)陌踩?#xff0c;而且還可以通過獲得認(rèn)證證書CA,保證客戶連接的服務(wù)器沒有被假冒。
使用公用密鑰的方式可以保證數(shù)據(jù)傳輸沒有問題,但如果瀏覽器客戶訪問的站點(diǎn)被假冒,這也是一個嚴(yán)重的安全問題。這個問題不屬于加密本身,而是要保證密鑰本身的正確性問題。要保證所獲得的其他站點(diǎn)公用密鑰為其正確的密鑰,而非假冒站點(diǎn)的密鑰,就必須通過一個認(rèn)證機(jī)制,能對站點(diǎn)的密鑰進(jìn)行認(rèn)證。當(dāng)然即使沒有經(jīng)過認(rèn)證,仍然可以保證信息傳輸安全,只是客戶不能確信訪問的服務(wù)器沒有被假冒。如果不是為了提供電子商務(wù)等方面對安全性要求很高的服務(wù),一般不需要如此嚴(yán)格的考慮。
一、SSL協(xié)議工作機(jī)制
SSL除了可以用在Web服務(wù)器與瀏覽器之間信息交換以外,還可以支持其他我們所熟識的網(wǎng)絡(luò)應(yīng)用。以TCP/IP網(wǎng)絡(luò)層來看,SSL是定位在網(wǎng)絡(luò)層之上的應(yīng)用協(xié)議,如圖:
HTTP FTP SMTP
Secure Socket Layer
TCP層
IP層
任何以TCP/IP層以上的網(wǎng)絡(luò)協(xié)議SSL都可以支持,因此HTTP、FTP、SMTP等等皆是SSL的保護(hù)范圍。SSL協(xié)議一共包含兩個部分:SSLHandshake協(xié)議和SSL Record協(xié)議。前者是負(fù)責(zé)通信前的一些參數(shù)協(xié)商,后者則是定義SSL的內(nèi)部數(shù)據(jù)格式。
SSL Handshake協(xié)議
SSL中Handshake協(xié)議可以說是SSL的前置步驟,就好象初次見面的兩個人回先自我介紹一番再開始談話一樣。通信的雙方(商店的服務(wù)器與客戶計算機(jī))先進(jìn)行“溝通”與“協(xié)調(diào)”有關(guān)SSL通信的參數(shù)設(shè)置,其中包括:
※通信中所使用的SSL版本。
※信息加密用的算法
※客戶端的身份驗(yàn)證要求
※所使用的公開金鑰算法
這個協(xié)議的餓大致步驟如下:
(1)Client Hello:首先,由客戶端計算機(jī)向服務(wù)器Say Hello,并同時將客戶端計算機(jī)所能支持的安全模塊告訴對方,以便溝通。信息內(nèi)容包括:SSL協(xié)議版本、本次聯(lián)機(jī)的餓識別碼以及加密模塊等。
(2)Server Hello:這時商店端服務(wù)器在收到這個信息后,立即送出包含以下信息的響應(yīng)信息給客戶端:
※服務(wù)器的數(shù)字證書,讓客戶端可以檢查服務(wù)器的身份。
※如果服務(wù)器要求雙方相互認(rèn)證的話,則送出“認(rèn)證請求”的信息。要求客戶端也提出識別身份的數(shù)字證書。(淘寶的帳單支付就是這樣)
※服務(wù)器用來加密的密鑰。
(3)加解密參數(shù):當(dāng)客戶端收到服務(wù)器的信息后,就可根據(jù)要求來響應(yīng),并且也將客戶端的公用金鑰也送給對方,作為后續(xù)信息的加解密之用。到這個階段為止,通信雙方都已經(jīng)達(dá)成了共識,并準(zhǔn)備傳送真正的信息內(nèi)容。
(4)HTTP數(shù)據(jù)流:協(xié)調(diào)的工作已經(jīng)大功告成了!這時雙方就可以HTTP協(xié)議來進(jìn)行數(shù)據(jù)交換了。
SSL Record協(xié)議
顧名思義Record協(xié)議,是在描述SSL信息交換的過程中的記錄格式。SSL協(xié)議是介于應(yīng)用層和網(wǎng)絡(luò)層之間,因此它回接收來自應(yīng)用層的信息,并加以包裝后交由下一層(也就是網(wǎng)絡(luò)層來傳送)。
二、關(guān)于HTTPS SSL證書問題
SSL證書是在SSL通信中驗(yàn)證通信雙方身份的數(shù)字文件。SSL證書一般分為服務(wù)器證書和客戶端證書,我們通常說的SSL證書主要指服務(wù)器證書。目前的SSL證書以X.509 V3為標(biāo)準(zhǔn),每個證書綁定了一個唯一甄別名(DN-Distinguished Name ),還可以包含多個字段和值,還可以支持別名(SAN ,Subject Alternative Name )。
主流瀏覽器:IE、Netscape/Mozilla,Opera和Safari會預(yù)先安裝一部分根證書,這些根證書都是受信任的證書認(rèn)證機(jī)構(gòu)CA,這樣他們頒發(fā)的證書,瀏覽器將可以直接信任。雖然用戶可以刪除或者禁用這些根證書,但事實(shí)上,用戶很少這么做。在最新的微軟平臺,甚至?xí)谟脩粢瞥祟A(yù)先安置的根證書后,當(dāng)用戶再訪問這些被刪除的根證書網(wǎng)站的時候,會自動將這些根證書恢復(fù)到信任列表中。
SSL證書的工作流程
※用戶連接到你的Web站點(diǎn),該Web站點(diǎn)受服務(wù)器證書所保護(hù)。(可由查看 URL的開頭是否為"https:"來進(jìn)行辯識,或?yàn)g覽器會提供你相關(guān)的信息)。
※你的服務(wù)器進(jìn)行響應(yīng),并自動傳送你網(wǎng)站的數(shù)字證書給用戶,用于鑒別你的網(wǎng)站。(此證書的根證書如果不在瀏覽器中已安裝的受信任機(jī)構(gòu)根證書列表中,則瀏覽器會發(fā)出警告,提示用戶正在訪問一個不安全的網(wǎng)站!)
※用戶的網(wǎng)頁瀏覽器程序產(chǎn)生一把唯一的"會話鑰匙碼",用以跟網(wǎng)站之間所有的通訊過程進(jìn)行加密。
※使用者的瀏覽器以網(wǎng)站的公鑰對交談鑰匙碼進(jìn)行加密,以便只有讓你的網(wǎng)站得以閱讀此交談鑰匙碼。
※現(xiàn)在,具有安全性的通訊過程已經(jīng)建立。這個過程僅需幾秒中時間,且使用者不需進(jìn)行任何動作。依不同的瀏覽器程序而定,使用者會看到一個鑰匙的圖標(biāo)變得完整,或一個門栓的圖標(biāo)變成上鎖的樣子,用于表示目前的工作階段具有安全性。
如何申請SSL證書
申請SSL證書主要需要經(jīng)過以下3個步驟:
1、制作CSR文件。CSR就是Certificate Secure Request證書請求文件。這個文件是由申請人制作,在制作的同時,系統(tǒng)會產(chǎn)生2個密鑰,一個是公鑰就是這個CSR文件,另外一個是私鑰,存放在服務(wù)器上。要制作CSR文件,申請人可以參考WEB SERVER的文檔,一般APACHE等,使用OPENSSL命令行來生成KEY+CSR2個文件,Tomcat,JBoss,Resin等使用KEYTOOL來生成JKS和CSR文件,IIS通過向?qū)Ы⒁粋€掛起的請求和一個CSR文件。如果不愿意學(xué)習(xí)文檔,可以使用一些在線工具,如: https://www.myssl.cn/openssl/createcsr.asp ,通過這些工具會產(chǎn)生2個文件,必須都保存好。
2、CA認(rèn)證。將CSR提交給CA,CA一般有2種認(rèn)證方式:1、域名認(rèn)證,一般通過對管理員郵箱認(rèn)證的方式,這種方式認(rèn)證速度快,但是簽發(fā)的證書中沒有企業(yè)的名稱;2、企業(yè)文檔認(rèn)證,需要提供企業(yè)的營業(yè)執(zhí)照。一般需要3-5個工作日。 也有需要同時認(rèn)證以上2種方式的證書,叫EV證書,這種證書可以使IE7以上的瀏覽器地址欄變成綠色,所以認(rèn)證也最嚴(yán)格(這個不是免費(fèi)的,是需要年費(fèi)的哦。當(dāng)然也可以自己給自己認(rèn)證,只不過不受瀏覽器信任)。
3、證書的安裝。在收到CA的證書后,可以將證書部署上服務(wù)器,一般APACHE文件直接將KEY+CER復(fù)制到文件上,然后修改HTTPD.CONF文件;TOMCAT等,需要將CA簽發(fā)的證書CER文件導(dǎo)入JKS文件后,復(fù)制上服務(wù)器,然后修改SERVER.XML;IIS需要處理掛起的請求,將CER文件導(dǎo)入。或者可以通過一些網(wǎng)絡(luò)工具 https://www.myssl.cn/guide/openssl.asp 將KEY和CER合并為服務(wù)器可讀的證書格式,導(dǎo)入服務(wù)器。
三、關(guān)于SSL VPN
所謂的SSL VPN,指的是使用者利用瀏覽器內(nèi)建的Secure Socket Layer封包處理功能,用瀏覽器連回公司內(nèi)部SSL VPN服務(wù)器,然后透過網(wǎng)絡(luò)封包轉(zhuǎn)向的方式,讓使用者可以在遠(yuǎn)程計算機(jī)執(zhí)行應(yīng)用程序,讀取公司內(nèi)部服務(wù)器數(shù)據(jù)。它采用標(biāo)準(zhǔn)的安全套接層(SSL)對傳輸中的數(shù)據(jù)包進(jìn)行加密,從而在應(yīng)用層保護(hù)了數(shù)據(jù)的安全性。高質(zhì)量的SSL VPN解決方案可保證企業(yè)進(jìn)行安全的全局訪問。在不斷擴(kuò)展的互聯(lián)網(wǎng)Web站點(diǎn)之間、遠(yuǎn)程辦公室、傳統(tǒng)交易大廳和客戶端間,SSL VPN克服了IPSec VPN的不足,用戶可以輕松實(shí)現(xiàn)安全易用、無需客戶端安裝且配置簡單的遠(yuǎn)程訪問,從而降低用戶的總成本并增加遠(yuǎn)程用戶的工作效率。而同樣在這些地方,設(shè)置傳統(tǒng)的IPSec VPN非常困難,甚至是不可能的,這是由于必須更改網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)和防火墻設(shè)置。
通過SSL VP N遠(yuǎn)程訪問企業(yè)內(nèi)部網(wǎng)絡(luò)的構(gòu)架
SSL VPN的實(shí)現(xiàn)
簡單的來講,SSL VPN一般的實(shí)現(xiàn)方式是在企業(yè)的防火墻后面放置一個SSL代理服務(wù)器。如果用戶希望安全地連接到公司網(wǎng)絡(luò)上,那么當(dāng)用戶在瀏覽器上輸入一個URL后,連接將被SSL代理服務(wù)器取得,并驗(yàn)證該用戶的身份,然后SSL代理服務(wù)器將提供一個遠(yuǎn)程用戶與各種不同的應(yīng)用服務(wù)器之間連接。掌握四個關(guān)鍵術(shù)語的含義有助于理解SSL VPN是如何實(shí)現(xiàn)的。即:代理、應(yīng)用轉(zhuǎn)換、端口轉(zhuǎn)發(fā)和網(wǎng)絡(luò)擴(kuò)展。
SSLVPN網(wǎng)關(guān)至少要實(shí)現(xiàn)一種功能:代理Web頁面。它將來自遠(yuǎn)端瀏覽器的頁面請求(采用HTTPS協(xié)議)轉(zhuǎn)發(fā)給Web服務(wù)器,然后將服務(wù)器的響應(yīng)回傳給終端用戶。
對于非Web頁面的文件訪問,往往要借助于應(yīng)用轉(zhuǎn)換。SSL VPN網(wǎng)關(guān)與企業(yè)網(wǎng)內(nèi)部的微軟CIFS 或FTP服務(wù)器通信,將這些服務(wù)器對客戶端的響應(yīng)轉(zhuǎn)化為HTTPS協(xié)議和HTML格式發(fā)往客戶端,終端用戶感覺這些服務(wù)器就是一些基于Web的應(yīng)用。
有一些應(yīng)用,如微軟Outlook或MSN,它們的外觀會在轉(zhuǎn)化為基于Web界面的過程中丟失。此時要用到端口轉(zhuǎn)發(fā)技術(shù)。端口轉(zhuǎn)發(fā)用于端口定義明確的應(yīng)用。它需要在終端系統(tǒng)上運(yùn)行一個非常小的Java或ActiveX程序作為端口轉(zhuǎn)發(fā)器,監(jiān)聽某個端口上的連接。當(dāng)數(shù)據(jù)包進(jìn)入這個端口時,它們通過SSL連接中的隧道被傳送到SSL VPN網(wǎng)關(guān),SSL VPN網(wǎng)關(guān)解開封裝的數(shù)據(jù)包,將它們轉(zhuǎn)發(fā)給目的應(yīng)用服務(wù)器。使用端口轉(zhuǎn)發(fā)器,需要終端用戶指向他希望運(yùn)行的本地應(yīng)用程序,而不必指向真正的應(yīng)用服務(wù)器。
一些SSL VPN網(wǎng)關(guān)還可以幫助企業(yè)實(shí)現(xiàn)網(wǎng)絡(luò)擴(kuò)展。它將終端用戶系統(tǒng)連接到企業(yè)網(wǎng)上,并根據(jù)網(wǎng)絡(luò)層信息(如目的IP地址和端口號)進(jìn)行接入控制。雖然犧牲了高級別的安全性,卻也換來了復(fù)雜拓?fù)浣Y(jié)構(gòu)下網(wǎng)絡(luò)管理簡單的好處。
SSL VPN的優(yōu)勢
在最重要的安全性方面,由于SSL協(xié)議本身就是一種安全技術(shù),因此SSL VPN就具有防止信息泄漏、拒絕非法訪問、保護(hù)信息的完整性、防止用戶假冒、保證系統(tǒng)的可用性的特點(diǎn),能夠進(jìn)一步保障訪問安全,從而擴(kuò)充了安全功能設(shè)施。首先SSL VPN可以實(shí)現(xiàn)128位數(shù)據(jù)加密,保證數(shù)據(jù)在傳輸過程中不被竊取,確保ERP數(shù)據(jù)傳輸?shù)陌踩浴F浯?#xff0c;多種認(rèn)證和授權(quán)方式的使用能夠只讓“正確”的用戶訪問內(nèi)部網(wǎng)絡(luò),從而保護(hù)了企業(yè)內(nèi)部網(wǎng)絡(luò)的安全性。
在應(yīng)用性方面,SSL VPN不需要安裝客戶端軟件。遠(yuǎn)程用戶只需借助標(biāo)準(zhǔn)的瀏覽器連接Internet,即可訪問企業(yè)的網(wǎng)絡(luò)資源。這樣盡管購買軟件和硬件的費(fèi)用不一定低,但是 SSL VPN的部署成本卻很低。只要安裝了SSL VPN,基本上就不需要IT部門的支持了,所以維護(hù)成本可以忽略不計。對于那些只需進(jìn)入企業(yè)內(nèi)部網(wǎng)站或者進(jìn)行E-mail通信的遠(yuǎn)程用戶來說,SSL VPN顯然是一個價廉物美的選擇。
此外,SSL VPN連接要比IPSec VPN更穩(wěn)定,這是因?yàn)镮PSec VPN是網(wǎng)絡(luò)層連接,故容易中斷。而SSL協(xié)議只對通信雙方所進(jìn)行的應(yīng)用通道進(jìn)行加密,而不是對從一個主機(jī)到另一主機(jī)的整個通道進(jìn)行加密。除此之外,在管理維護(hù)和操作性方面,SSL VPN方案可以做到基于應(yīng)用的精細(xì)控制,基于用戶和組賦予不同的應(yīng)用訪問權(quán)限,并對相關(guān)訪問操作進(jìn)行審計。此外,SSL VPN還提高了平臺的靈活性,方便擴(kuò)展應(yīng)用和增強(qiáng)性能,尤其是在降低使用成本、最有效地保護(hù)用戶投資這一敏感話題上,SSL VPN贏得了用戶最終的好感。
更值得一提的是,當(dāng)今Web成為標(biāo)準(zhǔn)平臺已勢不可擋,越來越多的企業(yè)開始將系統(tǒng)移植到Web上。而SSL VPN通過特殊的加密通訊協(xié)議,被認(rèn)為是實(shí)現(xiàn)遠(yuǎn)程安全訪問Web應(yīng)用的最佳手段,能夠讓用戶隨時隨地甚至在移動中連入企業(yè)內(nèi)網(wǎng),將給企業(yè)帶來很高的利益和方便。
無疑,伴隨企業(yè)信息化程度的加深,遠(yuǎn)程安全訪問、協(xié)同工作的需求會日益明顯,SSL VPN技術(shù)由于擁有全方位的優(yōu)勢,取代傳統(tǒng)的組網(wǎng)技術(shù)成為主流已為時不遠(yuǎn)。
SSL VPN的應(yīng)用
SSL VPN可以為企業(yè)提供多種遠(yuǎn)程訪問的服務(wù)。就下面常用服務(wù)進(jìn)行介紹:
E-mail:對于企業(yè)來說,電子郵件通信是一個很基本的功能。IPSec VPN可以保護(hù)郵件系統(tǒng)的安全性,但是IPSec VPN需要安裝客戶端軟件并且連接企業(yè)網(wǎng)絡(luò),然后才能使用內(nèi)部的郵件系統(tǒng)。如果員工使用他人的電腦設(shè)備或者在其他的的網(wǎng)絡(luò)中時,就會面臨對方防火墻的地址轉(zhuǎn)換和安全策略帶來的障礙,無法連接企業(yè)網(wǎng)絡(luò),從而無法使用內(nèi)部郵件系統(tǒng)。外出的工作人員在酒店里由于這些問題無法連接到企業(yè)內(nèi)部網(wǎng)絡(luò)是非常讓人頭疼的問題。SSL VPN提供了一個比較好的方案,員工使用任何一個帶有瀏覽器的電腦就可以訪問基于Web的電子郵件系統(tǒng),通過SSL VPN建立的安全通道收發(fā)郵件。SSL VPN還會把企業(yè)內(nèi)部所有的域名和服務(wù)器地址隱藏起來,以提高企業(yè)網(wǎng)絡(luò)的安全性。
內(nèi)部網(wǎng)訪問:即使不在辦公室,企業(yè)員工也需要使用內(nèi)部網(wǎng)中的一些文件資源,但是一般情況下企業(yè)不會開放整個內(nèi)部網(wǎng)絡(luò)以實(shí)現(xiàn)文件訪問。SSL VPN可以讓企業(yè)員工在任何地方,使用任何一個包含瀏覽器、連接到Internet的接入設(shè)備,實(shí)現(xiàn)對內(nèi)部特定資源的訪問。
面向合作伙伴的網(wǎng)絡(luò)資源:為了提高工作效率和加強(qiáng)合作關(guān)系,企業(yè)通常會對合作伙伴開放內(nèi)部站點(diǎn)和網(wǎng)絡(luò)資源。考慮到企業(yè)信息的保密性,如何能保證只有指定的合作伙伴才能訪問相應(yīng)的資源,以及保證信息在網(wǎng)絡(luò)上傳遞時不被截獲,就成為企業(yè)必須解決的問題。IPSec VPN在部署時無法保證對最終用戶的訪問限制,即只允許合作伙伴訪問內(nèi)部網(wǎng)絡(luò)中的指定資源,而且部署IPSec VPN會要求更改合作伙伴防火墻的安全策略,這是很難實(shí)現(xiàn)的。SSL VPN則完全不存在上述問題,企業(yè)甚至可以限制某一個合作伙伴只能訪問一個站點(diǎn)中的某些頁面和文件夾,并且不需要修改合作伙伴的安全策略,只要合作伙伴能夠訪問Internet即可。
目前形式
隨著Web應(yīng)用的增多以及遠(yuǎn)程接入需求的增長,SSL VPN正在成為一個熱門市場。雖然目前大部分的遠(yuǎn)程接入服務(wù)都是由IPSec VPN來實(shí)現(xiàn)的,不過業(yè)內(nèi)人士指出,大約90%的企業(yè)利用IPSec VPN只是用來進(jìn)行電子郵件通信以及訪問Web應(yīng)用,只有10%的用戶利用IPSec VPN訪問非Web應(yīng)用。也就是說目前90%的IPSec VPN應(yīng)用都可以被SSL VPN來實(shí)現(xiàn),而SSL VPN更加容易配置和管理,實(shí)現(xiàn)成本要比IPSec VPN低很多。 經(jīng)過幾年的發(fā)展,如今許多的大型公司對SSL VPN技術(shù)趨之若鶩,吸引著包括思科、諾基亞、Array Networks等在內(nèi)的國際知名廠商。目前,幾乎所有的主流商業(yè)瀏覽器都集成了SSL,實(shí)施SSL VPN不需要再安裝額外的軟件。Infonetics預(yù)測,在未來幾年,SSL VPN設(shè)備的全球銷售將會出現(xiàn)持續(xù)增長。SSL VPN為運(yùn)營商提供了新創(chuàng)收機(jī)遇,它為運(yùn)營商及最終用戶創(chuàng)造的優(yōu)勢是以往任何技術(shù)都無法比擬的。現(xiàn)在,SSL VPN在一些1級運(yùn)營商中的部署獲得成功,SSL VPN高速發(fā)展的時機(jī)已經(jīng)到來
總結(jié)
- 上一篇: MySQL学习笔记——20170811
- 下一篇: 互联网高手教你如何搜集你想要的信息