虛擬專用網路(×××)連線基礎
阿新 • • 發佈:2020-10-20
遠端訪問是指通過透明的方式將位於本地網路以外(遠端網路)位置上的特定計算機連線到本地網路中的一系列相關技術。當啟用遠端訪問時,遠端客戶可以通過遠端訪問技術像直接連線到本地網路一樣來使用本地網路中的資源。在Windows伺服器作業系統中均包含了遠端訪問服務,它是作為路由和遠端訪問服務中的一個元件,遠端訪問服務支援遠端訪問客戶端使用撥號網路連線和虛擬專用網路連線這兩種方式的遠端訪問:
遠端訪問×××客戶端
×××客戶端既可以是獨立的計算機,也可以是建立站點到站點×××連線的×××伺服器。而根據×××客戶端型別的不同,×××分為以下兩種連線型別:
-
撥號網路連線遠端訪問方式:通過撥號遠端訪問方式,遠端訪問客戶端可以利用電信基礎設施(通常情況下為模擬電話線路)來建立通向遠端訪問伺服器的臨時物理電路或虛擬電路。一旦這種物理電路或虛擬電路被建立,其餘連線引數將通過協商方式加以確定。
- 虛擬專用網路(×××)連線遠端訪問方式:通過虛擬專用網路遠端訪問方式,×××客戶端可以 通過IP網路(例如Internet)與充當×××伺服器的遠端訪問伺服器建立虛擬點對點連線。一旦這種虛擬點對點連線被建立,其餘連線引數將通過協商方式加以確定。
-
遠端訪問×××:由一臺獨立的計算機作為×××客戶端向×××伺服器發起×××連線,從而此×××客戶端計算機可以訪問×××伺服器所連線的內部網路中的資源。Windows XP、Windows 2000、Windows NT 4.0、Windows ME和Windows 98 ×××客戶端均可與Windows的×××伺服器或執行其它大多數×××伺服器的遠端訪問伺服器建立×××連線。
- 站點到站點×××:在連線到不同內部網路的兩臺×××伺服器之間進行×××連線,當×××連線成功建立後,它們所連線的內部網路中均可以相互進行訪問,就像直接通過物理鏈路連線到一起。×××伺服器會將通過×××連線的資料進行加密和封裝,但是本地子網中的客戶和×××伺服器之間的通訊並不會進行加密。Windows的×××伺服器均可以和其他×××伺服器建立站點到站點的×××連線。這種型別的×××又稱為閘道器×××或路由器到路由器×××。
- 端到端隧道協議(PPTP)
- 第二層隧道協議(L2TP)
- PPTP幀通過通用路由封裝(Generic Routing Encapsulation,GRE,協議ID 47)報頭和IP報頭(TCP 1723)進行封裝,在IP報頭中提供了與×××客戶端和×××伺服器相對應的源IP地址和目標IP地址;
- 使用Microsoft端到端加密(MPPE)技術來對多種協議的資料包進行加密、封裝和在IP網路上進行隧道傳輸;
- PPTP隧道連線協商身份驗證、壓縮與加密;
- PPTP支援×××客戶端IP地址的動態分配;
- MPPE使用RSA/RC4演算法和40位、56位或128位的金鑰進行加密;
- MPPE將通過由MS-CHAP、MS-CHAP v2或EAP-TLS身份驗證過程所生成的加密金鑰對PPP幀進行加密,因此為對PPP幀中所包含的有效資料進行加密,虛擬專用網路客戶端必須使用MS-CHAP、MS-CHAP v2或EAP-TLS身份驗證協議;PPTP將利用底層PPP加密功能並直接對原先經過加密的PPP幀進行封裝;
- 初始加密金鑰在使用者身份驗證時產生並且定期重新整理;
- 在PPTP資料包中,只有資料負載才進行了加密。
- L2TP封裝: PPP幀(IP或IPX資料包)將通過L2TP報頭和UDP報頭進行封裝。
- IPSec封裝: 上述封裝後所得到的L2TP報文將通過IPSec封裝安全性有效載荷(ESP)報頭、用以提供訊息完整性與身份驗證的IPSec身份驗證報尾以及IP報頭再次進行封裝。IP報頭中將提供與×××客戶端和×××伺服器相對應的源IP地址和目標IP地址。IPSec加密機制將通過由IPSec身份驗證過程所生成的加密金鑰對L2TP報文進行加密。
- L2TP隧道資料可以在任何支援點對點傳輸的網路中進行傳輸,例如IP、幀中繼、ATM網路等等;
- L2TP使用UDP協議來進行隧道管理;
- L2TP基於UDP協議傳送封裝的PPP資料包;
- 負載資料可以被加密和壓縮;
- 使用IPSec封裝安全性有效載荷(ESP)進行加密,IPSec ESP在RFC 3193中進行定義;
- 雖然L2TP/IPSec提供了使用者驗證機制,但是同樣要求計算機進行驗證。計算機驗證是相互的,每一端的計算機都必須向對方進行驗證;
- 對於計算機驗證,要求計算機證書。×××客戶端和×××伺服器(遠端訪問×××)、或兩端的×××伺服器(站點到站點×××)都必須具有有效的證書。你可以配置使用預共享的L2TP金鑰,這樣就無需計算機證書,但是由於所有×××客戶都必須配置相同的預共享金鑰,這樣帶來的後果是極大的降低了L2TP的安全性。
- 每一端都必須能夠驗證另一端提供的證書是否有效,如果計算機證書是由不同的證書權威頒發,那麼會出現問題。
IPSec隧道模式
對於站點到站點×××連線,除了上述的PPTP和L2TP/IPSec外,你還可以使用IPSec隧道模式。IPSec隧道模式單獨使用IPSec來建立一個加密的隧道,通常用於和不支援L2TP/IPSec或PPTP協議的非Windows ×××伺服器之間建立加密通訊。和L2TP、PPTP不同,IPSec隧道模式不需要驗證使用者賬戶,它具有以下特性:- IP資料包通過IPSec進行加密,並在IP網路上進行隧道傳輸;
- IPSec隧道模式只能用於站點到站點的×××型別;
- IPSec隧道模式需要額外的IPSec安全策略配置;
- PPTP使用MPPE進行加密,L2TP/IPSec和IPSec隧道模式使用IPSec ESP進行加密。
- PPTP加密在PPP身份驗證通過後處理連線時開始,因此,身份驗證過程沒有被MPPE加密。L2TP/IPSec會先進行安全協商再進行身份驗證,並對PPP身份驗證資料包進行加密,因此L2TP/IPSec比PPTP提供了更高的安全性。
- PPTP使用MMPE和RC4,而L2TP/IPSec使用DES或3DES;
- PPTP和L2TP/IPSec均要求使用者使用基於PPP的身份驗證協議進行身份驗證;
- L2TP/IPSec還要求使用計算機證書進行計算機驗證。因此,L2TP/IPSec提供了更強壯的身份驗證過程。但是,帶來的不便之處是L2TP/IPSec需要公共金鑰基礎服務(PKI)或預共享的連線金鑰,而PPTP則無需PKI。
- IPSec ESP要求基於資料包的資料來源驗證和資料完整性驗證,另外,IPSec ESP提供了中繼保護,這防止了資料包的重現***;而PPTP沒有提供這些保護。
- IPSec ESP和PPTP(通過使用MPPE)提供了基於每個資料包的加密。
- 你可以將基於PPTP的×××伺服器部署在NAT閘道器後,但是不建議將基於L2TP/IPSec、IPSec的×××伺服器部署在NAT閘道器後。
- L2TP/IPSec比PPTP更耗費CPU效能。
- 是否存在公共金鑰基礎服務(PKI),如果不存在則選擇PPTP;強烈建議不要在商用網路中通過預共享的連線金鑰來使用L2TP,這樣會極大的降低L2TP的安全性;
- 如果要求最高的安全級別,選擇L2TP/IPSec;
- 只有在特別需要時才使用IPSec隧道模式;
- 如果企業安全策略要求DES或3DES,則使用L2TP/IPSec;
- 如果使用IPSec導致CPU負荷過重,使用PPTP;
- 如果×××伺服器部署在NAT閘道器後,選擇PPTP;
-
部署PPTP比部署IPSec更為簡單。
對於×××客戶的身份驗證、訪問授權和記賬,你可以選擇兩種不同的方式:Windows或RADIUS。你可以為這三種功能選擇一種方式,也可以選擇一種方式用於身份驗證和授權,而另一種用於記賬。
當使用Windows驗證時,如果×××伺服器是獨立伺服器,則使用本地賬戶(SAM)來驗證×××客戶;如果×××伺服器是域成員伺服器,則使用活動目錄資料庫來驗證×××客戶。如果使用RADIUS進行身份驗證,那麼就算×××伺服器是獨立伺服器,也可以通過RADIUS使用活動目錄資料庫來進行驗證。在Windows伺服器中同樣提供了RADIUS伺服器元件,不過被稱為Internet驗證伺服器(IAS) ,關於Internet驗證伺服器更詳細的資訊,請參見Internet驗證服務使用指南一文。
PPTP和L2TP/IPSec均要求使用者進行身份驗證,並且對於L2TP/IPSec,你必須配置使用者身份驗證和計算機身份驗證。Windows ×××伺服器支援的身份驗證方式有:
- 可擴充套件身份驗證協議(EAP)
- Microsoft質詢式握手身份驗證協議(MS-CHAP)
- MS-CHAP第2版(MS-CHAP v2)
- 質詢式握手身份驗證協議(CHAP)
- Shiva式口令身份驗證協議(SPAP)
- 可擴充套件身份驗證協議(EAP,包含EAP-MD5、EAP-TLS、EAP/MS-CHAPv2等等)