科普PPTP、L2TP、IPSec、VPN區(qū)別
VPN (虛擬專用網(wǎng))發(fā)展至今已經(jīng)不在是一個單純的經(jīng)過加密的訪問隧道了,它已經(jīng)融合了訪問控制、傳輸管理、加密、路由選擇、可用性管理等多種功能,并在全球的 信息安全體系中發(fā)揮著重要的作用。也在網(wǎng)絡(luò)上,有關(guān)各種VPN協(xié)議優(yōu)缺點(diǎn)的比較是仁者見仁,智者見智,很多技術(shù)人員由于出于使用目的考慮,包括訪問控制、 安全和用戶簡單易用,靈活擴(kuò)展等各方面,權(quán)衡利弊,難以取舍;尤其在VOIP語音環(huán)境中,網(wǎng)絡(luò)安全顯得尤為重要,因此現(xiàn)在越來越多的網(wǎng)絡(luò)電話和語音網(wǎng)關(guān)支 持VPN協(xié)議。
一、PPTP
點(diǎn)對點(diǎn)隧道協(xié)議 (PPTP) 是由包括微軟和3Com等公司組成的PPTP論壇開發(fā)的一種點(diǎn)對點(diǎn)隧道協(xié),基于撥號使用的PPP協(xié)議使用PAP或CHAP之類的加密算法,或者使用 Microsoft的點(diǎn)對點(diǎn)加密算法MPPE。其通過跨越基于 TCP/IP 的數(shù)據(jù)網(wǎng)絡(luò)創(chuàng)建 VPN 實(shí)現(xiàn)了從遠(yuǎn)程客戶端到專用企業(yè)服務(wù)器之間數(shù)據(jù)的安全傳輸。PPTP 支持通過公共網(wǎng)絡(luò)(例如 Internet)建立按需的、多協(xié)議的、虛擬專用網(wǎng)絡(luò)。PPTP 允許加密 IP 通訊,然后在要跨越公司 IP 網(wǎng)絡(luò)或公共 IP 網(wǎng)絡(luò)(如 Internet)發(fā)送的 IP 頭中對其進(jìn)行封裝。
二、L2TP
第 2 層隧道協(xié)議 (L2TP) 是IETF基于L2F (Cisco的第二層轉(zhuǎn)發(fā)協(xié)議)開發(fā)的PPTP的后續(xù)版本。是一種工業(yè)標(biāo)準(zhǔn) Internet 隧道協(xié)議,其可以為跨越面向數(shù)據(jù)包的媒體發(fā)送點(diǎn)到點(diǎn)協(xié)議 (PPP) 框架提供封裝。PPTP和L2TP都使用PPP協(xié)議對數(shù)據(jù)進(jìn)行封裝,然后添加附加包頭用于數(shù)據(jù)在互聯(lián)網(wǎng)絡(luò)上的傳輸。PPTP只能在兩端點(diǎn)間建立單一隧道。 L2TP支持在兩端點(diǎn)間使用多隧道,用戶可以針對不同的服務(wù)質(zhì)量創(chuàng)建不同的隧道。L2TP可以提供隧道驗(yàn)證,而PPTP則不支持隧道驗(yàn)證。但是當(dāng)L2TP 或PPTP與IPSEC共同使用時,可以由IPSEC提供隧道驗(yàn)證,不需要在第2層協(xié)議上驗(yàn)證隧道使用L2TP。 PPTP要求互聯(lián)網(wǎng)絡(luò)為IP網(wǎng)絡(luò)。L2TP只要求隧道媒介提供面向數(shù)據(jù)包的點(diǎn)對點(diǎn)的連接,L2TP可以在IP(使用UDP),楨中繼永久虛擬電路 (PVCs),X.25虛擬電路(VCs)或ATM VCs網(wǎng)絡(luò)上使用。
三、IPSec
IPSec 隧道模式隧道是封裝、路由與解封裝的整個過程。隧道將原始數(shù)據(jù)包隱藏(或封裝)在新的數(shù)據(jù)包內(nèi)部。該新的數(shù)據(jù)包可能會有新的尋址與路由信息,從而使其能夠 通 過網(wǎng)絡(luò)傳輸。隧道與數(shù)據(jù)保密性結(jié)合使用時,在網(wǎng)絡(luò)上竊聽通訊的人將無法獲取原始數(shù)據(jù)包數(shù)據(jù)(以及原始的源和目標(biāo))。封裝的數(shù)據(jù)包到達(dá)目的地后,會刪除封 裝,原始數(shù)據(jù)包頭用于將數(shù)據(jù)包路由到最終目的地。
隧道本身是封裝數(shù)據(jù)經(jīng)過的邏輯數(shù)據(jù)路徑,對原始的源和目的端,隧道是不可見的,而只能看到網(wǎng)絡(luò)路徑中的點(diǎn)對點(diǎn)連接。連接雙方并不關(guān)心隧道起點(diǎn)和終點(diǎn)之間的任何路由器、交換機(jī)、代理服務(wù)器或其他安全網(wǎng)關(guān)。將隧道和數(shù)據(jù)保密性結(jié)合使用時,可用于提供VPN。
封裝的數(shù)據(jù)包在網(wǎng)絡(luò)中的隧道內(nèi)部傳輸。在此示例中,該網(wǎng)絡(luò)是 Internet。網(wǎng)關(guān)可以是外部 Internet 與專用網(wǎng)絡(luò)間的周界網(wǎng)關(guān)。周界網(wǎng)關(guān)可以是路由器、防火墻、代理服務(wù)器或其他安全網(wǎng)關(guān)。另外,在專用網(wǎng)絡(luò)內(nèi)部可使用兩個網(wǎng)關(guān)來保護(hù)網(wǎng)絡(luò)中不信任的通訊。
當(dāng)以隧道模式使用 IPSec 時,其只為 IP 通訊提供封裝。使用 IPSec 隧道模式主要是為了與其他不支持 IPSec 上的 L2TP 或 PPTP VPN 隧道技術(shù)的路由器、網(wǎng)關(guān)或終端系統(tǒng)之間的相互操作。
四、SSL VPN
SSL協(xié)議提供了數(shù)據(jù)私密性、端點(diǎn)驗(yàn)證、信息完整性等特性。SSL協(xié)議由許多子協(xié)議組成,其中兩個主要的子協(xié)議是握手協(xié)議和記錄協(xié)議。握手協(xié)議允許 服務(wù)器和客戶端在應(yīng)用協(xié)議傳輸?shù)谝粋€數(shù)據(jù)字節(jié)以前,彼此確認(rèn),協(xié)商一種加密算法和密碼鑰匙。在數(shù)據(jù)傳輸期間,記錄協(xié)議利用握手協(xié)議生成的密鑰加密和解密后 來交換的數(shù)據(jù)。
SSL獨(dú)立于應(yīng)用,因此任何一個應(yīng)用程序都可以享受它的安全性而不必理會執(zhí)行細(xì)節(jié)。SSL置身于網(wǎng)絡(luò)結(jié)構(gòu)體系的 傳輸層和應(yīng)用層之間。此外,SSL本身就被幾乎所有的Web瀏覽器支持。這意味著客戶端不需要為了支持SSL連接安裝額外的軟件。這兩個特征就是SSL能 應(yīng)用于VPN的關(guān)鍵點(diǎn)。
典型的SSL VPN應(yīng)用如OpenVPN,是一個比較好的開源軟件。PPTP主要為那些經(jīng)常外出移動或家庭辦公的用戶考慮;而OpenVPN主要是針對企業(yè)異地兩地總分公司之間的VPN不間斷按需連接,例如ERP在企業(yè)中的應(yīng)用。
五、OpenVPN產(chǎn)品特點(diǎn)與優(yōu)勢
OpenVPN 允許參與建立VPN的單點(diǎn)使用預(yù)設(shè)的私鑰,第三方證書,或者用戶名/密碼來進(jìn)行身份驗(yàn)證。它大量使用了OpenSSL加密庫,以及SSLv3/TLSv1 協(xié)議。OpenVPN能在Linux、xBSD、Mac OS X與Windows 2000/XP上運(yùn)行。它并不是一個基于Web的VPN軟件,也不與IPsec及其他VPN軟件包兼容。
● 隧道加密
OpenVPN使用OpenSSL庫加密數(shù)據(jù)與控制信息:它使用了OpesSSL的加密以及驗(yàn)證功能,意味著,它能夠使用任何OpenSSL支持的算法。它提供了可選的數(shù)據(jù)包HMAC功能以提高連接的安全性。此外,OpenSSL的硬件加速也能提高它的性能。
OpenVPN提供了多種身份驗(yàn)證方式,用以確認(rèn)參與連接雙方的身份,包括:預(yù)享私鑰,第三方證書以及用戶名/密碼組合。預(yù)享密鑰最為簡單,但同時 它只能用于建立點(diǎn)對點(diǎn)的VPN;基于PKI的第三方證書提供了最完善的功能,但是需要額外的精力去維護(hù)一個PKI證書體系。OpenVPN2.0后引入了 用戶名/口令組合的身份驗(yàn)證方式,它可以省略客戶端證書,但是仍有一份服務(wù)器證書需要被用作加密.
OpenVPN所有的通信都基于一個單一的IP端口,默認(rèn)且推薦使用UDP協(xié)議通訊,同時TCP也被支持。OpenVPN連接能通過大多數(shù)的代理服 務(wù)器,并且能夠在NAT的環(huán)境中很好地工作。服務(wù)端具有向客戶端“推送”某些網(wǎng)絡(luò)配置信息的功能,這些信息包括:IP地址、路由設(shè)置等。OpenVPN提 供了兩種虛擬網(wǎng)絡(luò)接口:通用Tun/Tap驅(qū)動,通過它們,可以建立三層IP隧道,或者虛擬二層以太網(wǎng),后者可以傳送任何類型的二層以太網(wǎng)絡(luò)數(shù)據(jù)。傳送的 數(shù)據(jù)可通過LZO算法壓縮。IANA(Internet Assigned Numbers Authority)指定給OpenVPN的官方端口為1194。OpenVPN 2.0以后版本每個進(jìn)程可以同時管理數(shù)個并發(fā)的隧道。
OpenVPN使用通用網(wǎng)絡(luò)協(xié)議(TCP與UDP)的特點(diǎn)使它成為IPsec等協(xié)議的理想替代,尤其是在ISP(Internet service provider)過濾某些特定VPN協(xié)議的情況下。在選擇協(xié)議時候,需要注意2個加密隧道之間的網(wǎng)絡(luò)狀況,如有高延遲或者丟包較多的情況下,請選擇 TCP協(xié)議作為底層協(xié)議,UDP協(xié)議由于存在無連接和重傳機(jī)制,導(dǎo)致要隧道上層的協(xié)議進(jìn)行重傳,效率非常低下。
OpenVPN與生俱來便具備了許多安全特性:它在用戶空間運(yùn)行,無須對內(nèi)核及網(wǎng)絡(luò)協(xié)議棧作修改;初始完畢后以chroot方式運(yùn)行,放棄root權(quán)限;使用mlockall以防止敏感數(shù)據(jù)交換到磁盤。
OpenVPN通過PKCS#11支持硬件加密標(biāo)識,如智能卡。
● 明確目標(biāo):以東北大學(xué)校園網(wǎng)VPN 部署為例
隨著東北大學(xué)的校園網(wǎng)規(guī)模逐漸擴(kuò)大和信息化建設(shè)的發(fā)展,越來越多的網(wǎng)絡(luò)服務(wù)在校園網(wǎng)上運(yùn)行。但網(wǎng)絡(luò)的服務(wù)能力與不斷發(fā)展的應(yīng)用并不匹配。比如,學(xué)校內(nèi)部的一些網(wǎng)絡(luò)應(yīng)用服務(wù)、信息化系統(tǒng)、網(wǎng)上辦公等系統(tǒng)只允許校內(nèi)的師生通過校園網(wǎng)訪問,并不對外開放。這就給住在校外和出差的教職工訪問這些資源造成困難。從電子圖書館的
應(yīng)用就可見一斑。目前東北大學(xué)圖書館購買了一定數(shù)量的電子期刊,絕大部分電子期刊都是通過IP地址來控制用戶訪問的。所以通過其他ISP接入互聯(lián)網(wǎng)的校外老師,都無法使用圖書館購買的電子資源。而 VPN 服務(wù)正好可以解決這些問題。
學(xué)校師生可以通過VPN 穿越互聯(lián)網(wǎng)安全地訪問校內(nèi)的資源,可以通過VPN 獲得校內(nèi)的IP地址再來訪問圖書館或購買電子資源。除了遠(yuǎn)程訪問,VPN技術(shù)還為部門內(nèi)部資源共享提供了支持。例如一些學(xué)校有分校區(qū),在不同的校區(qū)都有相同的部門,如財務(wù)處、資產(chǎn)處等,這些部門內(nèi)部都有自己的小網(wǎng)絡(luò),他們的內(nèi)網(wǎng)是不允許校園網(wǎng)用戶訪問的。為了在不同校區(qū)之間的財務(wù)處、資產(chǎn)處內(nèi)部共享信息,這些部門之間就需要通過 VPN 來實(shí)現(xiàn)資源共享。
目前東北大學(xué)由網(wǎng)絡(luò)中心所提供的VPN 服務(wù)只有OpenVPN 這一種,在一些部門內(nèi)部也有使用Windows自帶的 PPTP/L2TPVPN 的,一般都是部門內(nèi)部有小的局域網(wǎng),通過 VPN 接入后訪問網(wǎng)絡(luò)內(nèi)部的資源。我校建設(shè) VPN 服務(wù)有明確的目標(biāo):
1.為出差在外教職工提供訪問校內(nèi)資源的入口,特別是訪問圖書館資源的入口;
2.隨著 CNGI-CERNET2 的推進(jìn),為出差在外教職工訪問IPv6資源提供服務(wù)。
在選擇技術(shù)模式時,我們認(rèn)為,所選擇的VPN技術(shù)和產(chǎn)品應(yīng)該盡量適應(yīng)各種環(huán)境。
● 比較技術(shù)
在架設(shè)VPN之前,對PPTP、IPSec、SSLVPN都有考察,最終根據(jù)我校的應(yīng)用需求,決定應(yīng)用了Open VPN服務(wù)。
個人覺得:PPTP對net支持得不好,很多情況下在一個net下面只有一個人可以訪問這一類型的VPN服務(wù);PPTP、IPSec對環(huán)境支持要求太高;IPSec靈活性太低,不適合太多移動用戶;SSL VPN 應(yīng)用類型有限,支持有限的Web proxy、port forward等一些基本的網(wǎng)絡(luò)應(yīng)用;MPLS VPN 是運(yùn)營商級的 VPN 服務(wù),如果學(xué)校有多個校區(qū),MPLS VPN 應(yīng)該有很好的發(fā)展?jié)摿?。在主流的VPN中,對用戶IP變化不敏感的主要有PPTP 和 SSL VPN,但是由于PPTP穿越net效果不好,SSL VPN應(yīng)用過于簡單,所以不予采納。而OpenVPN在設(shè)計之初就考慮了復(fù)雜的環(huán)境,通過技術(shù)手
段很好地解決了這些問題。并且在設(shè)計的時候還充分考慮了系統(tǒng)的擴(kuò)展、與現(xiàn)有系統(tǒng)的整合、支持基于事件觸發(fā)的腳本、支持基于腳本的用戶驗(yàn)證等等。
● 使用經(jīng)驗(yàn)
在建設(shè) VPN 時,主要考慮的是網(wǎng)管如何維護(hù)、如何跟蹤用戶的行為、如何對事件進(jìn)行追查。任何一套具有用戶概念的系統(tǒng)都涉及用戶管理,是否讓用戶在每套應(yīng)用系統(tǒng)上都有獨(dú)立的用戶名和密碼?從學(xué)校的實(shí)際情況出發(fā),最終VPN用戶與學(xué)校郵件系統(tǒng)共享用戶信息,只要有郵件系統(tǒng)帳號的用戶都可以使用VPN服務(wù)。這樣一旦出現(xiàn)惡意下載事件,網(wǎng)管人員就可以有據(jù)可查,對于能訪問圖書館資源的機(jī)器需要對用戶訪問過的URL 進(jìn)行記錄,以備事件追蹤。
目前由于網(wǎng)絡(luò)問題,VPN 的使用情況不容樂觀,如果互聯(lián)問題解決,相信 VPN的用戶能有一個突破。由于OpenVPN是開源的,并且在設(shè)計之初就充分考慮了系統(tǒng)的擴(kuò)展性,所以在VPN的基礎(chǔ)上可以很方便地擴(kuò)展。例如:計費(fèi)、用戶連接數(shù)、負(fù)載均衡等方面。OpenVPN支持UPD、TCP也支持通過HTTP代理連接服務(wù)器,極大的增加的OpenVPN的靈活性,適合更復(fù)雜的網(wǎng)絡(luò)環(huán)境。在使用過程中應(yīng)該多分析分析系統(tǒng)的日志,分析用戶行為,最好可以通過程序
來實(shí)現(xiàn)。對于一些不可預(yù)見的問題可以及時發(fā)現(xiàn),避免不必要的損失。