強叔侃牆 VPN篇 VPN技術簡介
強叔最近正在忙一件比較頭疼的事,那就是為分公司、辦事處、出差人員、合作單位解決訪問公司總部網路資源的問題,同時要求總部對分公司、辦事處訪問Internet進行控制。大家都知道這種情況需要用VPN(Virtual Private Network,虛擬私有網路)技術解決,但選哪種VPN技術還是挺有講究的,下面強叔就談談這方面的心得吧!
VPN是指在公用網路上建立一個私有的、專用的虛擬通訊網路。在企業網路中VPN廣泛應用於分支機構和出差員工連線公司總部網路。VPN網路和VPN技術通常是如何分類的呢?
根據建設單位不同分類:
這種分類根據VPN網路端點裝置(關鍵裝置)由運營商提供,還是由企業自己提供來劃分。
- 租用運營商VPN專線搭建企業VPN網路:目前主要指租用運營商MPLS VPN專線,比如聯通、電信都提供MPLS VPN專線服務。跟傳統的租用傳輸專線(比如租用E1、SDH專線)相比,MPLS VPN專線的優勢主要在於線路租用成本低。
- 使用者自建企業VPN網路:目前最常用的就是基於Internet建立企業VPN網路,具體技術包括GRE、L2TP、IPSec、SSL VPN等。這種方案企業只需要支付裝置購買費用和上網費用,沒有VPN專線租用費用;另外企業在網路控制方面享有更多的主動權、更方便企業進行網路調整。強叔要分享的正是這類VPN。
根據組網方式不同分類:
遠端訪問VPN(Access VPN):適合出差員工VPN撥號接入的場景。員工可以在任何能夠接入公網的地方,通過遠端撥號接入企業內網,從而訪問內網資源。
- 區域網到區域網的VPN(也稱為閘道器到閘道器的VPN):它適用於公司兩個異地機構的區域網互連。
根據應用場景不同分類:
- 遠端訪問VPN:Access VPN面向出差員工。允許出差員工跨越公用網路遠端接入公司內部網路。
- Intranet VPN(企業內部虛擬專網):Intranet VPN通過公用網路進行企業內部各個網路的互連。
- Extranet VPN(擴充套件的企業內部虛擬專網):Extranet VPN是指利用VPN將企業網延伸至合作伙伴處,使不同企業間通過公網來構築VPN。Intranet VPN 和Extranet VPN的不同點主要在於訪問公司總部網路資源的許可權有區別。
按照VPN技術實現的網路層次進行分類:
- 基於資料鏈路層的VPN:L2TP、L2F、PPTP。其中L2F和PPTP已經基本上被L2TP替代了,強叔不再關注這兩種技術了。
- 基於網路層的VPN:GRE、IPSec。
- 基於應用層的VPN:SSL。
基於Internet的VPN技術有一個共同點就是必須解決VPN網路的安全問題:
- 出差員工的地理接入位置不固定,其所處位置往往不受企業其他資訊保安措施的保護,所以需要對出差員工進行嚴格的接入認證,並且對出差員工可以訪問的資源和許可權進行精確控制。接入認證涉及身份認證技術。
- 合作伙伴需要根據業務開展的情況,靈活進行授權,限制合作伙伴可以訪問的網路範圍、可以傳輸的資料型別。此時推薦對合作夥伴進行身份認證,認證通過後進行可以通過策略配置等對合作夥伴的許可權進行限制。
- 另外分支機構、合作伙伴和出差使用者與公司總部之間的資料傳輸都必須是安全的。都涉及資料加密和資料驗證技術。
下面簡單講解一下VPN用到的幾個關鍵技術點:
1、隧道技術
隧道技術是VPN的基本技術,類似於點到點連線技術。它的基本過程就是在資料進入源VPN閘道器後,將資料“封裝”後通過公網傳輸到目的VPN閘道器後再對資料“解封裝”。“封裝/解封裝”過程本身就可以為原始報文提供安全防護功能,所以被封裝的資料包在網際網路上傳遞時所經過的邏輯路徑被稱為“隧道”。不同的VPN技術封裝/解封裝的過程完全不同,具體封裝過程在每個協議中詳細介紹。
2、身份認證技術
主要用於移動辦公的使用者遠端接入的情況。通過對使用者的身份進行認證,確保接入內部網路的使用者是合法使用者,而非惡意使用者。
不同的VPN技術能提供的使用者身份認證方法不同:
- GRE不支援身份認證技術。
- L2TP:依賴PPP提供的認證(比如CHAP、PAP、EAP)。接入使用者的使用者名稱和密碼本地認證也可以通過RADIUS伺服器認證。認證通過以後再給使用者分配內部的IP地址,通過此IP地址對使用者進行授權和管理。
- IPSec:通過IKEv2撥號時,支援進行EAP認證。接入使用者的使用者名稱和密碼可以本地認證可以通過RADIUS伺服器認證。認證通過以後再給使用者分配內部的IP地址,通過此IP地址對使用者進行授權和管理。另外IPSec還支援資料來源認證,在下面的資料驗證技術裡進行說明。
- SSL VPN:支援本地認證、證書認證和伺服器認證。主要是對伺服器進行身份認證,確認Web網頁的合法性。
3、加密技術
加密技術就是把能讀懂的報文變成無法讀懂的報文,也就是把明文變成密文,這樣即便是有黑客獲取了報文也無法知道其真實含義。加密物件有資料報文和協議報文之分,能夠實現協議報文和資料報文都加密的協議安全係數更高。
- GRE和L2TP協議本身不提供加密技術,所以通常結合IPSec協議一起使用,使用IPSec的加密技術。
- IPSec:支援資料報文和協議報文加密。IPSec一般採用對稱金鑰演算法加密資料。對稱加密演算法採用相同的金鑰加密和解密資料。
- SSL VPN:支援資料報文和協議報文加密。SSL VPN採用公鑰體制進行加密。公鑰體制加密跟對稱金鑰加密的差別在於加密和解密的所用的金鑰是不同的金鑰。採用公鑰進行加密,私鑰進行解密。公鑰和私鑰一一對應。
4、資料驗證技術
資料驗證技術就是對收到的報文進行驗貨。對於偽造的、被篡改的資料進行丟棄。那麼驗證是如何實現的呢?它採用一種稱為“摘要”的技術。“摘要”技術主要採用HASH函式將一段長的報文通過函式變換,對映為一段短的報文。在收發兩端都對報文進行驗證,只有摘要一致的報文才被認可。
- GRE:本身只提供簡單的校驗和驗證和關鍵字驗證,但可結合IPSec協議一起使用,使用IPSec的資料驗證技術。
- L2TP:本身不提供資料驗證技術,但可結合IPSec協議一起使用,使用IPSec的資料驗證技術。
- IPSec:支援對資料進行完整性驗證和資料來源驗證。在IPSec中驗證和加密通常一起使用,對加密後的報文HMAC(Keyed-Hash Message Authentication Code)生成摘要,提供資料的安全性。HMAC利用Hash函式,以一個對稱金鑰和一個數據包作為輸入,生成一個固定長度的輸出,這個輸出被稱為完整性校驗值ICV(Integrity Check Value)。由於在Hash運算時包含了金鑰,即使使用者同時修改了資料和摘要也可以被識別出來。
- SSL VPN:支援對資料進行完整性驗證和資料來源驗證。SSL VPN採用公鑰體制,利用Hash演算法生成摘要,再用私鑰加密摘要生成數字簽名。利用公鑰進行解密。利用公鑰和私鑰的一一的關係可以對資料來源進行認證。
下面強叔總結一下GRE、L2TP、IPSec和SSL VPN常用的安全技術和使用的場景:
本篇強叔就簡單的介紹了一下VPN,但是僅瞭解這些皮毛是不夠的。想深入瞭解每種VPN技術的應用、配置和原理,敬請各位關注後面的強叔侃牆。
強叔提問:目前常用的VPN協議包括哪些?這些協議的主要優勢是什麼,分別適合怎樣的場景?