在Windows Server 2008中,支持的遠程訪問協(xié)議為PPP點對點協(xié)議。當VPN客戶端連接到VPN服務(wù)器時,需要對其身份進行驗證,只有驗證成功,用戶才有權(quán)利訪問內(nèi)網(wǎng)資源。其支持 MS-CHAP v2,EAP-TLS,PEAP-TLS,EAP-MS-CHAP v2等身份驗證協(xié)議。為了保證數(shù)據(jù)傳輸?shù)陌踩?,客戶端和服?wù)器之間傳輸?shù)臄?shù)據(jù)必須經(jīng)過加密。Windows Server 2008支 持PPTP,L2TP/IPSec,SSTP,IKEv2 等VPN協(xié)議。
PPTP(Point to Point Tunneling Protocol,點 對點隧道協(xié)議)是組建VPN服務(wù)最常用的協(xié)議,其默認使用MS-CHAP v2身份驗證方法。當客戶端身份驗證通過后,客戶端和服務(wù)器端使用MPPE(微軟點對點加密)方式,對傳輸?shù)臄?shù)據(jù)進行加密,其支持128位的RC4加密算法。對于使用MS-CHAP v2驗證方式來說,為了提高安全性。用戶的密碼最好設(shè)置的更加復雜一些,避免被黑客輕松破解。在域控上打開Active Directory用戶和計算機窗口,雙擊用于VPN訪問的賬戶,在其屬性窗口中的“撥入”面板中選擇“允許訪問”項,賦予域用戶遠程訪問權(quán)限。
如果允許客戶端使用VPN服務(wù)器上的本地賬戶連接,需要在VPN服務(wù)器上運行“l(fā)usrmgr.msc”程序,打開賬戶管理界面,在對應(yīng)賬戶的屬性窗口按照上述方法進行設(shè)置。以域管理員身份登錄到VPN服務(wù)器,在服務(wù)器管理器窗口右側(cè)點擊“添加角色”連接,在選擇服務(wù)器角色窗口中選擇“網(wǎng)絡(luò)策略和訪問服務(wù)器”角色,連續(xù)點擊下一步按鈕,在選擇角色服務(wù)窗口中選擇“路由和遠程訪問服務(wù)”項,之后點擊下一步按鈕,安裝遠程訪問服務(wù)。
在路由和遠程服務(wù)窗口左側(cè)的服務(wù)器名的右鍵菜單上點擊“配置并啟用路由和遠程訪問”項,在向?qū)Ы缑孢x擇“遠程訪問(撥號或VPN)”項,在下一步窗口中選擇“VPN”項,點擊下一步按鈕,選擇外網(wǎng)連接項目。在下一步窗口選擇“自動”項,VPN服務(wù)器會向內(nèi)網(wǎng)中的DHCP服務(wù)器租用IP地址,之后將其分配給客戶端。注意,當客戶端連接VPN服務(wù)器時,其默認每次會向DHCP服務(wù)器申請10個IP,用來分配給客戶機。
選擇“來自一個指定的地址范圍”項,設(shè)置所需的IP范圍,VPN服務(wù)器會從此范圍內(nèi)挑選IP地址分配給客戶端。點擊下一步按鈕,在本例中已經(jīng)將VPN服務(wù)器添加到了域中,所以需要選擇“否,使用路由和遠程訪問來對連接請求進行身份驗證”項。如果沒有將其添加到域,可以選擇“是,設(shè)置此服務(wù)器與RADIUS服務(wù)器一起工作”項,之后輸入主RADIUS服務(wù)器地址以及共享機密,因為NPS服務(wù)器其實就是RADIUS服務(wù)器,因此可以輸入NPS服務(wù)器地址。點擊完成按鈕,啟動路由和遠程訪問功能。
當路由和遠程服務(wù)向DHCP服務(wù)器租用IP時,需要VPN服務(wù)器擔當DHCP中繼代理角色,才可以獲得DHCP選線設(shè)置信息。因此,需在路由和遠程訪問主界面左側(cè)選擇服務(wù)器名,在其下的“IPv4”→“DHCP中繼代理程序”項的右鍵菜單上點擊“屬性”,在彈出窗口(如圖1)中點擊“添加”按鈕,輸入DHCP服務(wù)器IP。這樣,VPN服務(wù)器會代替客戶端向DHCP中繼代理提出DHCP選項要求。
VPN服務(wù)器默認會自動建立5個PPTP VPN端口。如果要添加端口,可以在服務(wù)器名稱下點擊“端口”項,在其屬性窗口中進行操作
圖1 設(shè)置DHCP中繼代理程序
同PPTP VPN相比,L2TP/IPSec VPN的安全性要更高一些,其支持IPSec預共享密鑰和計算機證書兩種身份驗證方法。當VPN客戶端身份驗證完成后,VPN服務(wù)器和客戶端之間發(fā)送的數(shù)據(jù)會利用IPSec ESP的3DES或者AES加密方法進行安全傳輸。這里先介紹預共享密鑰的驗證方式。為了便于說明,這里依然采用和上述PPTP VPN相同的網(wǎng)絡(luò)環(huán)境,以下各例與之相同。
在VPN服務(wù)器上打開路由和遠程訪問窗口,在左側(cè)選擇服務(wù)器名稱,在其屬性窗口中的“安全”面板中選擇“允許L2TP連接使用自定義IPSec策略”項,在“預共享密鑰”欄中輸入密碼。保存設(shè)置信息后,在服務(wù)器名稱的右鍵菜單上點擊“所有任務(wù)”-“重新啟動”項,重啟路由和遠程訪問服務(wù)。
實際上,支持IPSec的預共享密鑰方法常作用測試用途,在正常狀態(tài)下,建議使用安全性較高的證書驗證方法。這就需要在內(nèi)網(wǎng)環(huán)境中添加CA證書服務(wù)器。VPN服務(wù)器必須信任由CA發(fā)放的證書,即需要將CA證書安裝到VPN服務(wù)器中。因本例中為VPN已經(jīng)加入域,而與成員會自動信任企業(yè)CA,所以VPN服務(wù)器已經(jīng)信任該CA。對于獨立的CA服務(wù)器來說,也可以手工使VPN服務(wù)器信任企業(yè)CA。之后為VPN服務(wù)器申請證書。具體的方法很簡單,這里不再贅述。當完成證書的申請操作后,在服務(wù)器名稱的右鍵菜單上點擊“所有任務(wù)”→“重新啟動”項,重啟路由和遠程訪問服務(wù)。
SSTP(即Secure Socket Tunneling Protocol,安全套接字隧道協(xié)議)是安全性較高的協(xié)議,其使用RC4或者AES加密數(shù)據(jù)。SSTP采用HTTPS協(xié)議創(chuàng)建安全通道,利用SSL加密技術(shù)保證數(shù)據(jù)傳輸?shù)陌踩?。同PPTP和L2TP/IPSec使用復雜的端口相比,HTTPS協(xié)議僅僅使用443端口,因此無需在防火墻執(zhí)行復雜的配置。利用SSTP VPN服務(wù)區(qū),可以很好的保證客戶端的安全連接,
因為SSTP VPN服務(wù)器需要向CA申請和安裝證書,所以需要安裝企業(yè)根CA。由于VPN客戶端需要從CA服務(wù)器上下載證書吊銷列表,所以需要在CA服務(wù)器上打開證書頒發(fā)機構(gòu)窗口。
在CA的右鍵菜單中點擊屬性”項,在其屬性窗口(如圖2)中的“擴展”面板中的選擇擴展”列表中選擇“CPL分發(fā)點”項,在下面的列表中選擇以“http”開頭的網(wǎng)址項目,選擇“包括在CRL中,客戶端用它來尋找增量CRL的位置”和“包含在頒發(fā)的證書的CDP擴展中”項。之后在“選擇擴展”列表中選擇頒發(fā)結(jié)構(gòu)信息訪問(ATA)”項,在其下的列表中選擇“包含在頒發(fā)的證書的ATA擴展中”項。點擊確定按鈕,來重啟AD CS服務(wù)。
圖2 CA服務(wù)器屬性窗口
運行“Pkiview.msc”程序,在彈出窗口中查看“ALA位置 #2”,“CDP 位置 #2”,“DeltaCRL 位置 #2”項對應(yīng)的HTTP路徑是否存在。若不存在的話,可以打開證書頒發(fā)機構(gòu)窗口,在左側(cè)的“吊銷證書”項的右鍵菜單中點擊“所有任務(wù)”→“發(fā)布”項,在發(fā)布CRL窗口中選擇“新的CRL”項,點擊確定按鈕即可。
VPN客戶端因為無法連接到內(nèi)網(wǎng)根CA網(wǎng)站,所以需要在VPN服務(wù)器上啟用NAT端口映射功能來解決問題。
在VPN服務(wù)器上打開路由和遠程訪問窗口,在左側(cè)的“IPv4”→“常規(guī)”項的右鍵菜單上點擊“新增路由協(xié)議”項,在彈出窗口中選擇“NAT”項,保存配置后,在窗口左側(cè)的“IPv4”-“NAT”項 的右鍵菜單上點擊“新增接口”項,在彈出窗口中選擇VPN服務(wù)器的內(nèi)網(wǎng)卡項目,之后在其屬性窗口中選擇“專用接口道專用網(wǎng)絡(luò)”項。之后在窗口左側(cè)的“IPv4”→“NAT”項的右鍵菜單上點擊“新增接口”項,在彈出窗口選擇外網(wǎng)卡項,點擊確定按鈕,在其屬性窗口中選擇“公用接口連接到Internet”和“在此端口上啟用NAT”項,點擊應(yīng)用按鈕保存配置。
在VPN服務(wù)器的外網(wǎng)卡屬性窗口的“服務(wù)和端口”面板中選擇“Web服務(wù)器”項,點擊“編輯”按鈕,在彈出窗機中的“專用地址”欄中輸入CA網(wǎng)站的地址。點擊確定按鈕保存配置信息。之后在窗口左側(cè)選擇“IPv4”→“常規(guī)”項,在右側(cè)選擇“外網(wǎng)卡”項,在其屬性窗口中的“常規(guī)”面板中點擊“入站篩選器”按鈕,在打開窗口中選擇“接收所有的數(shù)據(jù)包,滿足下列條件的除外”項,之后刪除所有的篩選規(guī)則。點擊“出站篩選器”按鈕,在打開窗口中選擇“傳輸所有除符合下列條件以外的數(shù)據(jù)包”項,并將所有的規(guī)則刪除。之后為VPN服務(wù)器向CA服務(wù)器申請證書,并重啟路由和遠程訪問服務(wù)即可。
IKEv2協(xié)議采用的是IPSec信道模式,使用UDP 500端口,使用3DES或者AES加密數(shù)據(jù)。其利用IKE v2 MOBIKE(即 Mobility and Multihoming Protocol)協(xié)議提供的功能,允許移動客戶通過VPN連接內(nèi)網(wǎng)。Windows 2008/7通過使用VPN Reconnect功能,來支持IKEv2協(xié)議。和上述幾個VPN協(xié)議不同,借助于VPN Reconnect功能,當網(wǎng)絡(luò)連接中斷后,即使經(jīng)過一段時間,當網(wǎng)絡(luò)連接恢復后,VPN連接通道會自動恢復運行,無需用戶手工重新建立VPN連接,這對于移動用戶來說是很有利的。例如,當用戶使用筆記本電腦移動上網(wǎng),在不同的環(huán)境中切換不同的無線連接后,VPN通道照樣保持連接狀態(tài)。IKEv2 VPN服務(wù)器需要向CA申請和安裝證書,因此需要按照上述介紹,在域控制器上安裝企業(yè)CA和IIS網(wǎng)站,VPN客戶端不需要使用計算機證書。
圖3 證書模板屬性窗口
但是,IKE v2服務(wù)器使用的證書需要包含服務(wù)器驗證和IPIKE中繼證書,因為企業(yè)根CA沒有提供這些數(shù)據(jù),需要我們手工建立對應(yīng)的證書模板。在證書頒發(fā)機構(gòu)窗口左側(cè)選擇“證書模板”項,在其右鍵菜單中點擊“管理”項,在證書模板控制臺窗口右側(cè)選擇選擇某個證書(例如“IPSec”等),在其右鍵菜單上點擊“復制模板”項,在彈出窗口中選擇“Windows Server 2003 Enterprise”項,這是為了提高證書模板可用性。
點擊確定按鈕,在證書模板的屬性窗口(如圖3)中的“常規(guī)”面板中的“模板顯示名稱”欄中輸入其名稱,例如 “VPNCXL”。在“請求處理”面板中選擇“允許導出私鑰”項,在“請求者名稱”面板中選擇“在請求中提供”項,在“擴展”面板中選擇“應(yīng)用程序策略”項,點擊“編輯”按鈕,在編輯應(yīng)用程序策略擴展窗口中點擊“添加”按鈕,分別添加“IP安全 IKE中級”和“服務(wù)器身份驗證”項。在“擴展”面板中選擇“密鑰用法”項,點擊“編輯”按鈕,在彈出窗口中選擇“數(shù)字簽名”項,點擊確定按鈕,保存模板信息。
在證書頒發(fā)機構(gòu)左側(cè)選擇“證書模板” 項,在其右鍵菜單上點擊“新建”→“要頒發(fā)的證書模板”項,在啟用證書模板窗口中選擇上述證書模板(例如“VPNCXL”),點擊確定按鈕,完成所需的操作。VPN服務(wù)器必須信任由CA發(fā)放的證書,即需要將CA證書安裝到VPN服務(wù)器中。因本例中為VPN已經(jīng)加入域,而與成員會自動信任企業(yè)CA,所以VPN服務(wù)器已經(jīng)信任該CA。因為IKEv2 VPN服務(wù)器需要安裝服務(wù)器身份驗證和IP安全IKE中級證書,我們已經(jīng)將其包含在新建的證書模板中,所以需要向企業(yè)根CA服務(wù)器申請該證書。
運行“mmc”命令,在控制臺窗口選擇“證書”→“個人”項,在其右鍵菜單上點擊“所有任務(wù)”→“申請新證書”項,依次點擊下一步按鈕,在證書注冊窗口中選擇“顯示所有模板”項,顯示所有證書模板項目。在“VPNCXL”證書項右側(cè)“詳細信息”圖標,在擴展面板中點擊“屬性”按鈕,在其屬性窗口中的“使用者”面板中的“類型”列表中選擇“公用名”項,在“值”欄中輸入VPN服務(wù)器名稱。例如vpn.xxx.com。點擊“添加”按鈕,便于VPN客戶端利用VPN服務(wù)器網(wǎng)址名稱進行訪問。在證書注冊窗口中選擇“VPNCXL”項,點擊注冊按鈕,完成申請和安裝。再重啟路由和遠程訪問服務(wù)即可。