多圖詳解VPN使用者隔離:ISA2006系列之二十四

技術小甜發表於2017-11-15


多圖詳解VPN使用者隔離


VPN隔離是ISA2006中提供的一個強大功能,也是NAP(網路訪問保護)的一個重要組成環節。VPN隔離指的的是當VPN客戶機通過VPN伺服器的身份驗證後,VPN伺服器並不立即允許其訪問內網,而是將VPN客戶機放到一個被隔離的網路中。然後通過策略對客戶機進行安全檢查,例如檢視VPN客戶機是否安裝了最新的安全補丁,是否啟用了防火牆,防病毒軟體是否升級到了最新版本等等。如果VPN客戶機通過了安全策略的檢查,VPN伺服器將允許其訪問內網資源;如果不能通過安全策略檢查,VPN客戶機將被限定在隔離網路中,無法訪問內網資源,而且在隔離網路中停留一段時間後會被逐出。有的企業會在隔離網路中放置一些檔案伺服器,用以提供殺病毒軟體,系統更新補丁等,還有的可能會在隔離網路中放置Web伺服器,用以提示使用者為什麼被隔離,接下來要進行什麼操作。VPN隔離的原理如下圖所示。
 
今天我們通過一個實驗來簡單介紹一下VPN隔離的功能,實驗拓撲如下圖所示,Denver是域控制器,BeijingISA2006伺服器,Istanbul是外網VPN客戶機。Beijing上啟用了VPN隔離,當VPN客戶機撥入時,VPN伺服器會把VPN客戶機放入隔離網路,然後檢查VPN客戶機的防火牆是否開啟。如果開啟了防火牆,那VPN客戶機就能通過安全檢查,被允許訪問內網;否則VPN客戶機就將在規定時間內被逐出隔離網路。
 
目前我們已經在Beijing上配置了VPN伺服器,VPN客戶機的地址池是192.168.100.1192.168.100.200,我們接下來要進行下列步驟。
 安裝隔離服務
ISA2004安裝VPN隔離服務時一般是使用Resource Kits工具集中提供的VPN隔離服務的安裝程式,現在由於Win2003 SP1中已經整合了VPN隔離服務,因此ISA2006安裝VPN隔離就非常簡單了。開啟控制皮膚中的新增或刪除程式,選擇新增/刪除Windows元件,如下圖所示,在網路服務的子元件中勾選“遠端訪問隔離服務”,點選確定即可完成VPN隔離服務的安裝。
 
如下圖所示,我們已經在ISA伺服器上安裝了VPN隔離服務,這時ISA伺服器會在7250埠提供一個守護程式,用來接收VPN客戶機上的代理程式發來的策略檢查結果,但此時的VPN隔離服務還需要對一些引數進行配置。
 
我們在Beijing上開啟登錄檔編輯工具regedit.exe,定位到[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices
qs]
,編輯“AllowedSet”。如下圖所示,我們為鍵值賦值為“RQVersion3”。這個鍵值的作用相當於是一個接頭暗號,當VPN客戶機被隔離策略檢查安全性之後,VPN客戶機上的代理程式會把檢查結果發往VPN伺服器。VPN伺服器收到VPN客戶機上發來的檢查結果後,要檢視檢查結果中附帶的版本識別符號是否和登錄檔中記錄的一樣,如果是相同的,那VPN伺服器就認可對VPN客戶機的檢查結果,否則VPN伺服器就會認為VPN客戶機上的代理程式把檢查結果發錯了目標,拒絕承認檢查結果。
 
接下來我們還要新增一個登錄檔鍵值,如下圖所示,我們在RQS服務中新建一個字串值。
 
如下圖所示,鍵值命名為Authenticator,內容為C:Program FilesMicrosoft ISA Servervpnplgin.dll,這個鍵值的作用是當VPN客戶機通過了安全策略檢查後,vpnplgin.dll將解除對VPN客戶機的隔離。
 
 建立VPN隔離通告協議
ISA伺服器上安裝了VPN隔離服務後,在7250埠會有一個守護程式等候被隔離客戶機上的代理程式傳送安全策略檢查的結果,但ISA的訪問規則不會允許被隔離的計算機連線ISA7250埠,因此我們需要建立訪問規則允許這種訪問行為。在建立訪問規則前我們需要把訪問7250埠的行為定義為一種協議,在ISA防火牆策略的工具箱中選擇新建協議,如下圖所示,出現協議建立嚮導,我們給協議命名為“VPN隔離通告協議”,點選“下一步”繼續。
 
如下圖所示,我們定義協議使用TCP,埠是7250,方向是出站。注意,千萬別認為ISA被其他計算機訪問7250埠,方向應該算是入站,這是錯誤的!訪問規則中使用的協議方向是出站,而釋出規則中使用的協議方向是入站!
 
接下來協議建立嚮導詢問是否需要使用輔助連線,我們並不需要,點選下一步繼續。
 
如下圖所示,我們順利完成了VPN隔離通告協議的建立。
 
 建立訪問規則
我們建立了VPN隔離通告協議之後,接下來就可以建立訪問規則允許被隔離的VPN客戶機連線ISA伺服器的7250埠報告策略檢查結果了。如下圖所示,我們在ISA管理器中選擇新建訪問規則,我們為規則命名為“允許VPN隔離通告”,點選下一步繼續。
 
當訪問請求滿足規則條件時允許操作。
 
規則中只允許使用我們建立的VPN隔離通告協議。
 
規則的訪問源是“被隔離的VPN客戶端”,這也是ISA中預設的一個網路。
 
訪問目標是本機主機。
 
此規則適用於所有使用者。
 
如下圖所示,我們完成了訪問規則的建立。
 
 啟用VPN隔離
接下來我們可以在ISA伺服器上啟用VPN隔離了,如下圖所示,我們在ISA的網路中找到“被隔離的VPN客戶端”,點選右鍵檢視屬性。
 
我們在屬性中切換到“隔離標籤”,如下圖所示,勾選“啟用隔離控制”,選擇按照ISA伺服器策略進行隔離VPN客戶端,並設定使用者在60秒內如果不能被解除隔離,就將被ISA伺服器中斷連線。
 
至此,我們在ISA伺服器上啟用了VPN隔離服務,接下來我們啟動VPN隔離服務就可以完成伺服器端的配置了。
 
 建立連線管理器分發檔案
伺服器端的配置完成之後,我們接下來就要考慮如何在客戶端進行安全策略的檢查以及如何把檢查結果傳送給ISA伺服器。如下圖所示,rqc.exe負責把策略檢查結果傳送給ISA伺服器,rqc.exeVPN隔離服務的客戶端工具,在Resource kits工具集中有提供,在win2003 SP1中也已經整合了,路徑是C:Program FilesCmakSupportRQScript.vbs是一個負責檢查客戶端安全策略的指令碼,這個指令碼檔案是由微軟的ISA實驗室提供的示例檔案,主要負責檢查客戶端的防火牆有沒有開啟。我們如果想自定義一些檢測專案,就只能自己寫指令碼了。如果你沒有程式設計基礎也不要緊,有一些公司可以提供這種指令碼程式設計的服務,還有的公司把常用的檢測專案都封裝成應用程式,管理員只要用滑鼠選擇具體的檢測專案即可。

現在我們有了rqc.exeRQScript.vbs,但怎麼才能讓這兩個檔案在客戶端進行VPN連線時發揮作用呢?我們可以定製一個專用的VPN撥號配置檔案,在配置檔案中整合這兩個檔案。我們要想定製專用的VPN撥號配置檔案,首先要安裝一個連線管理器管理工具包。我們在ISA伺服器上開啟控制皮膚中的新增或刪除程式,選擇新增/刪除Windows元件,如下圖所示,在“管理和監視工具”的子元件中選擇“連線管理器管理工具包”。
 
接下來我們在管理工具中開啟“連線管理器管理工具包”,建立定製一個VPN撥號配置檔案,如下圖所示,出現連線管理器管理工具包嚮導,點選下一步繼續。
 
選擇新建配置檔案,點選下一步繼續。
 
輸入服務名和檔名,注意,檔名是vpnrq,最終生成的配置檔名就是vpnrq.exe
 
選擇不再使用者名稱中新增領域名,下一步繼續。
 
不需要合併配置檔案,下一步繼續。
 
在電話簿中配置VPN伺服器的IP地址或完全合格域名,在此我們使用的是IP地址。
 
VPN安全設定使用預設值,點選下一步繼續。
 
取消勾選“自動下載電話簿更新”,點選下一步繼續。
 
檢查撥號設定無誤,點選下一步繼續。
 
使用預設設定“不改變路由選擇表”,點選下一步繼續。
 
選擇“不配置代理設定”,點選下一步繼續。
 
接下來是關鍵步驟,我們點選“新建”,準備自定義操作。
 
在新建的自定義操作中,我們選擇使用RQScript.vbs來檢查客戶端的安全策略,傳遞的引數是%DialRasEntry%%TunnelRasEntry%%Domain%%UserName%,操作型別是後連線,點選確定完成新建操作。
 
接下來設定登入點陣圖,我們使用預設值,點選下一步繼續。
 
電話簿點陣圖,我們也取預設值,點選下一步繼續。
 
顯示圖示也使用預設值,點選下一步繼續。

不在工作列建立快捷方式,點選下一步繼續。
 
不指定幫助檔案,點選下一步繼續。
 
不需要輸入登入對話方塊中的幫助資訊,點選下一步繼續。
 
選擇把連線管理器1.3版本整合在這個配置檔案中。
 
不需要定製許可協議檔案,點選下一步繼續。
 
這一步也很重要,我們點選“新增”按鈕把rqc.exe整合到配置檔案中,這個檔案在Resource Kits工具集中有提供,在ISA伺服器的C:Program FilesCmakSupport中也有。
 
不選擇高階自定義,點選下一步繼續。
 
如下圖所示,我們終於完成了定製的撥號配置檔案,接下來我們只要把vpnrq.exe發給客戶機,就可以在客戶端進行VPN隔離的測試了。
 
 VPN隔離測試
我們現在可以在VPN客戶機Istanbul上開始測試了,首先我們先關閉Istanbul的防火牆,看看能否通過VPN的安全策略檢查。我們在Istanbul上雙擊執行用連線管理器工具生成的配置檔案vpnrq.exe,如下圖所示,安裝程式詢問是否安裝ITET配置檔案,選擇“是”繼續。
 
選擇在桌面新增快捷方式,點選“確定”結束配置檔案的安裝。
 
雙擊執行桌面上的ITET圖示,如下圖所示,輸入使用者名稱和口令,點選“連線”。
 
使用者名稱和口令校驗成功後,VPN伺服器提示已經成功撥入,但很快就彈出一個訊息框,如下圖所示,提示我們由於防火牆沒有開啟,因此Istanbul沒有滿足VPN隔離的安全策略檢查,即將被斷開連線。
 
過了預設的60秒後,VPN連線被伺服器中斷,如下圖所示,撥號連線詢問是否要重新連線,點選“否”。
 
接下來我們看看在Istanbul上開啟防火牆是否能夠通過VPN隔離的安全策略檢查,如下圖所示,在網路連線的高階屬性中,選擇開啟防火牆的保護。注意,Istanbul的作業系統是Win2003,如果作業系統是Win2003 SP1,那麼開啟防火牆的方法就不是這樣了,檢查安全策略的指令碼也要進行相應改變。
 
開啟防火牆後再次撥入,如下圖所示,系統提示Istanbul已經通過了安全策略檢查,被賦予了訪問許可權,至此,VPN隔離實驗成功!

VPN隔離是微軟NAP中的一個重要環節,希望大家能夠掌握這個功能。中間的步驟很多,但難度不大,真正困難的是安全策略檢查指令碼的撰寫。
















本文轉自yuelei51CTO部落格,原文連結:http://blog.51cto.com/yuelei/94705,如需轉載請自行聯絡原作者



相關文章