Windows Server 2008所推出的終端機服務閘道伺服器,是企業在終端機服務應用技術上的一大突破,它讓使用者的連線存取更加簡單,也讓IT人員在平日維護管理上減少許多負擔,如果再進一步整合網路存取保護技術(NAP),將變成一個既安全又便利的完美方案。
一旦是開放員工可以遠端連線存取企業內部的網路資源,無論所採用的方式為何,都可能發生因用戶端電腦上的各項不安全因素,而直接危及到企業網路正常運作的安全問題,即使是終端機服務主機的連線方式也不例外。
有鑑於近年來企業對於終端機服務應用需求的大幅成長,在企業外部的遠端連線機制上,無論是簡單的遠端桌面連線需求或是大量的終端機服務主機的存取需求,為了讓網路管理人員的負擔減輕,以及讓遠端的使用者連線存取更加方便,Microsoft在最新的Windows Server 2008終端機服務角色中,推出了一個新的終端機閘到主機角色,企業建置後可以透過它將遠端使用者連線企業內部網路電腦的需求,直接轉向到所要連接的目的地。此外,在基礎的安全控管方面,系統管理人員可以控管能夠連線的使用者或電腦清單,並且管理所開放連線的目標電腦清單。
但是,擁有高度嚴謹安全的企業網路,採用這樣的安控機制就夠了嗎?當然不夠!因為根本上無法確認這些遠端使用者電腦目前是否安全。換句話說,如果沒有將其與Windows Server 2008所提供的網路存取保護(NAP)的安全機制進行整合,可能隨時會發生企業網路危安問題。
▲NAP整合終端機服務閘道架構。
談到終端機服務閘道主機與網路存取保護(NAP)機制的整合,在架構上可以參閱上圖的說明,在此範例中,只是在現有的終端機服務主機的架構內加入一部網路原則伺服器(NPS),來負責檢驗所有遠端嘗試連線的用戶端電腦是否符合企業IT所制訂的健康檢查清單。這些遠端使用者的電腦,除了必須是Windows Vista或Windows XP SP3的版本之外,還必須先關閉NAP組態配置才可以開始正常運作,操作細節將在接下來的內容中一一說明。
首先是終端機服務閘道主機的建置部分,一般來說,由於網路安全性規劃上的考量,筆者建議將TS閘道的伺服器獨立安裝在防火牆的DMZ網路區段中,並且讓它可以透過TCP 3389通訊埠的連線方式,來轉接至內部網路的終端機伺服器。
整個終端機服務閘道主機的安裝設定,請從【開始】→【系統管理工具】選單中的【伺服器管理員】來點選新增角色。接著會來到「伺服器角色」頁面,勾選其中的「終端機服務」項目。最後在「角色服務」頁面內,如下圖所示只勾選「TS閘道」項目即可。
▲唯一勾選TS閘道。
由於TS閘道伺服器角色,採用RDP over HTTPs技術來轉送終端機服務的連線,因此勾選這個角色時,將出現「新增角色精靈」,其中的用戶端憑證對應驗證以及RPC over HTTP Proxy便是兩項關鍵的重要元件,請點選「新增所需的角色服務」。
接下來在「伺服器驗證憑證」頁面中,必須選擇TS閘道使用的伺服器憑證,若TS閘道主機要加入內部的Active Directory網域,預先透過MMC介面申請憑證之後再來選取即可;如果是一部未加入網域的獨立伺服器,則可以暫時選取「建立自我簽屬憑證進行SSL加密」,稍後會就真憑證的申請部分進行詳解。設定好了之後,按下〔下一步〕繼續。
由於遠端電腦若要透過TS閘道主機來連線企業內部的終端機服務伺服器,除了需要知道閘道的位址之外,在尚未整合NAP的安全機制下,預設還必須通過連線授權原則(TS CAP)與資源授權原則(TS RAP)的檢驗,才能夠連線存取。
因此在「為TS閘道建立授權原則」頁面內,可以決定是否要立即進行這兩部分的相關授權原則設定。安裝好TS閘道伺服器之後,就可以在「系統管理工具」→「終端機服務」下拉選單中開啟TS閘道管理員介面。
建立終端機服務閘道憑證
在為終端機服務閘道(TS GW)伺服器安裝專屬的電腦憑證之前,必須先為其建立一個專屬的憑證範本。
先登入擔任憑證伺服器的主機,之後開啟「系統管理工具」下拉選單中的「憑證授權單位」管理介面,接著如下頁圖所示展開至「憑證範本」項目節點上,然後按下滑鼠右鍵,點選快速選單中的【管理】。
▲開啟憑證範本管理。
想要產生終端機服務閘道專屬的主機憑證,所使用的Windows Server 2003或Windows Server 2008的CA憑證伺服器作業系統,必須是企業版。
接著開啟「憑證範本主控台」管理介面,在眾多的憑證範本項目中找到「IPSec(離線要求)」項目,按下滑鼠右鍵,然後點選快速選單中的【複製範本】。接著設定一個唯一的範本顯示名稱,可以自行定義憑證的有效期期間(最多999年),以及更新的間隔時間。然後切換到〔處理要求〕活頁標籤內,如下圖所示勾選「允許匯出私密金鑰」選項,並按下右下角的〔CSP〕按鈕。
▲憑證範本處理要求設定。
接著在「CSP選取」頁面中選取「要求必須是以下其中一個CSP」,然後勾選下方CSP清單中的「Microsoft Enhanced RSA and ASE Cryptographic」項目,並按下〔確定〕按鈕。隨後切換到〔延伸〕活頁標籤中,先選取「應用程式原則」項目,然後按下滑鼠右鍵,點選快速選單中的【編輯】。
隨後開啟「編輯應用程式原則延伸」頁面,先刪除預設的「IP安全性IKE中繼」,再分別加入「用戶端驗證」與「伺服器驗證」,並按下〔確定〕。接著,切換到〔安全性〕活頁標籤內,在「群組或使用者名稱」清單中選取「Authentication Users」項目,然後勾選下方權限清單中的「允許註冊」,最後按下〔確定〕完成設定。
再回到「憑證授權單位」管理介面,點選「憑證範本」項目之後,按下滑鼠右鍵,然後點選快速選單中的【新增】→【要發出的憑證範本】。
在「啟用憑證範本」頁面中便可以看見之前面所建立的「終端機服務閘道(TS GW) SERVER」憑證範本,將其選取之後按下〔確定〕。而在「憑證範本」項目節點上,可以看到前面所新增的「終端機服務閘道(TS GW) SERVER」憑證範本。
申請與安裝終端機服務閘道(TS GW) 伺服器憑證
建立好自訂的終端機服務閘道(TS GW) SERVER憑證範本之後,接下來從憑證授權單位的主機上,申請與安裝此電腦憑證在終端機服務閘道(TS GW)主機本機電腦中。
首先,在終端機服務閘道(TS GW)主機的IE瀏覽器中連線登入憑證授權單位的網站(例如「https://caserver/certsrv」),並點選「要求憑證」連結。然後,在「要求憑證」連結頁面中點選「進階憑證要求」連結。
求憑證」連結頁面中點選「進階憑證要求」連結。 接著,在「進階憑證要求」頁面中點選「向這個CA建立並提交一個要求」連結,隨後將來到如下圖所示的「進階憑證要求」表單頁面。先在「憑證範本」下拉選單中選取【終端機服務閘道(TS GW) SERVER】,然後在離線範本識別資訊區域的第一個欄位中,輸入自己公司終端機服務閘道(TS GW)網路給予外部使用者連線的網際網路FQDN位址(絕對不可以輸入錯誤),接著在下方的CSP下拉選單中選取【Microsoft Enhanced RSA and AES Cryptographic Provider】,並勾選「將金鑰標示成可匯出」設定,最後按下〔送出〕按鈕。
▲進階憑證要求設定。
按下〔送出〕按鈕之後,將彈出一則「Web存取確認」警告訊息,請按下〔是(Y)〕繼續。接著來到「憑證已發出」頁面,點選「安裝這個憑證」連結,隨後再出現了一次「Web存取確認」警告頁面,主要是為了讓使用者確認來源憑證的合法性,按下〔是〕按鈕繼續。完成憑證安裝之後,出現「憑證已安裝」訊息頁面,按下〔關閉〕按鈕。
完成在憑證授權單位主機上的終端機服務閘道(TS GW) SERVER憑證安裝之後,還有一個地方需要調整:必須將預設安裝在目前使用者容器中的終端機服務閘道(TS GW) SERVER憑證項目,加入到以本機為主的憑證容器中才可以正常運作。
首先,在終端機服務閘道(TS GW)伺服器上以MMC介面開啟MMC管理介面,然後在「新增或移除嵌入式管理單元」頁面中分別加入兩個「憑證」管理項目,「目前的使用者」和「本機電腦」都必須加入,最後按下〔確定〕按鈕。
接著,如下圖所示就可以在「憑證-目前的使用者」→「個人」→「憑證」容器中,看到目前所安裝的終端機服務閘道(TS GW)伺服器專屬的電腦憑證,在此憑證項目上按下滑鼠右鍵,然後點選快速選單中的【所有工作】→【匯出】。
▲憑證管理。
緊接著開啟「憑證匯出精靈」頁面,整個過程中有些設定須特別注意。首先,在「匯出私密金鑰」頁面中必須選取「是,匯出私密金鑰」選項,然後按下〔下一步〕繼續。接著,在「匯出檔案格式」頁面中勾選「如果可能的話,包含憑證路徑中的所有憑證」以及「匯出所有延伸內容」項目。按下〔下一步〕按鈕之後,在「密碼」頁面中設定用來保護這個憑證檔案的密碼,這個密碼在後續匯入到本機電腦的作業時需要再次輸入。
將憑證從目前使用者的容器中匯出之後,緊接著將此憑證檔案匯入本機電腦的憑證容器中。先在本機電腦的「個人」→「憑證」節點上按一下滑鼠右鍵,然後點選快速選單中的【匯入】,執行後會出現「匯入檔案」頁面,按下〔瀏覽〕按鈕選取前面所匯出的憑證檔案(其副檔名是pfx),最後按下〔下一步〕。
接著來到「密碼」頁面中,必須先輸入前面憑證匯出時所設定的密碼,然後勾選「將這個金鑰設成可匯出,這樣可以在以後備份或傳輸你的金鑰」和「包含所有延伸內容」項目,然後按下〔下一步〕按鈕繼續完成憑證的匯入作業即可。安裝終端機閘道服務憑證之後,最後在「TS閘道管理員」介面中將所安裝的憑證設定進來即可。
網路原則伺服器(NPS)設定
先從「系統管理工具」下拉選單中開啟「網路原則伺服器」,接著在最上層的本機節點頁面中點選「設定NAP」連結,開始進行一連串有關於終端機服務的整合設定。
執行之後,將會開啟如下圖所示的「選取與NAP搭配使用的網路連線方法」頁面,先從下拉選單中點選【終端機服務閘道(TS閘道)】,隨後會自動產生預設的原則名稱,請注意!這個名稱必須是唯一的。最後,按下〔下一步〕按鈕繼續。
▲設定NAP連線方法。
接下來開啟「指定執行TS閘道的NAP強制伺服器」頁面,如下圖所示可以觀察到筆者已經完成三筆設定,其中的Cisco 3560G與VPN01即代表在之前NAP環境需求中所建置的RADIUS用戶端,而TS01是代表目前網路原則伺服器所要連線的終端機服務閘道。至於如何設定,請先按下〔新增〕按鈕。
▲設定RADIUS用戶端。
在「新TS閘道伺服器」頁面中,必須輸入一個唯一的識別名稱,以及輸入終端機服務閘道主機的IP位址或FQDN,然後按下〔驗證〕按鈕來確認此伺服器目前能夠正常連線。最後,在此頁面中選擇以「手動」方式設定兩次共用密碼。這個密碼必須牢記,因為在後續的終端機服務閘道主機設定上也需要輸入同樣的密碼驗證。設定好了之後,按下〔確定〕按鈕。
接著進入「設定用戶端裝置重新導向及驗證方法」頁面,可以設定當用戶端連線時,自動進行本機裝置導向至終端機服務主機上來使用,其中包括了磁碟機、剪貼簿、印表機、序列連接埠以及其他支援的隨插即用裝置(USB)。
在此,可以設定自動重新導向所有裝置,或是只開放給以智慧卡登入的用戶端,或是只針對特定的裝置進行重新導向。
至於在「驗證方法」部分,可以選用唯一的一般允許密碼方式,或是同時允許以智慧卡的連線登入方式。選擇完畢,按下〔下一步〕繼續。
接下來,在「設定使用者群組與電腦群組」頁面中,設定允許連線的電腦群組清單以及使用者群組清單。其中,使用者群組的清單至少必須設定一筆,如此一來,屬於這個群組中的使用者成員才能夠通過這第一關的連線。設定完畢,按下〔下一步〕按鈕。
隨即來到「定義NAP健康原則」頁面,請勾選唯一的「Windows安全性健康狀態驗證程式」項目,並且確認下方的「NAP不合格用戶端電腦的網路存取限制」區域內,已經選擇「拒絕用戶端存取執行遠端桌面的終端機伺服器或電腦」,確認無誤之後,按下〔下一步〕繼續。
接著,在「正在完成NAP強制原則及RADIUS用戶端設定」頁面中,確認一下RADIUS用戶端的設定,以及系統自動幫忙完成的健康原則設定、連線要求原則設定以及網路原則設定,然後按一下〔完成〕按鈕。
關於NAP整合終端機服務閘道的原則設定部分,最後到「網路存取保護」項目節點下,開啟「Windows安全性健康狀態驗證程式」頁面,並根據實際需求分別設定「Windows Vista」與「Windows XP」用戶端的健康檢查項目。
終端機服務閘道整合NAP設定
完成NAP架構下的網路原則伺服器設定之後,接著來到終端機服務閘道主機上進行相關設定。先從「系統管理工具」→「終端機服務」下拉選單中開啟「TS閘道管理員」介面,然後在本機項目節點上按下滑鼠右鍵,並點選快速選單中的【內容】。
開啟內容頁面之後,切換到「TS CAP存放區」頁面,將預設的「本機NPS伺服器」項目變更為「中央NPS伺服器」,然後在下方的欄位中輸入網路原則伺服器(NPS)的FQDN或IP位址,並按下〔新增〕按鈕。
按下〔新增〕按鈕之後將會開啟「共用密碼」頁面,輸入的密碼必須與前面所設定的網路原則伺服器上的連線共用密碼相同,完成輸入後按下〔確定〕按鈕。
如下圖所示,完成「中央NPS伺服器」設定之後,將會發現原有在終端機服務閘道管理介面中預設的「連線授權原則」節點項目,已經變成「中央網路原則伺服器」,並且可以在這個頁面中看到所連接的這一部網路原則伺服器的位址,後續如果需要修改,只要點選「動作」窗格中的「設定中央TS CAP」連結即可。
▲設定中央NPS伺服器。
終端機服務閘道安裝後需要進行哪些檢查
明白了完成建置的終端機服務閘道,在哪些項目內檢查無誤之後,便可以確認目前的終端機服務閘道正常執行中,而對於故障的排除,則可以將焦點放在其他可能的問題上,例如電腦憑證的檢查、防火牆設定等等。以下說明兩個終端機服務閘道運作上的重要檢查項目。
首先,在「伺服器管理員」介面中展開至「角色」→「終端機服務」節點上,接著便可以在右方頁面的「系統服務」窗格內,查看到目前的「Terminal Service Gateway」服務是否正在執行中。
接著進行第二項檢查目標,請開啟「網站管理員」,並瀏覽至「站台」的預設網站節點下,然後按一下滑鼠右鍵,點選快速選單中的【管理網站】→【進階設定】。
執行後將會開啟「進階設定」頁面,檢查目前「自動啟動」欄位中的數值是否設定為「True」,如此才能夠確保後續重新開機後,終端機服務閘道的正常運作。
關於終端機服務閘道運作的持續監控,建議導入Microsoft System Center旗下的Operation Manager 2007(SCOM 2007),來進行由裡到外的終端機服務的全面持續監控。
NAP的TS用戶端設定
終端機服務NAP用戶端的設定方法比較特別,首先必須到網址「http://go.microsoft.com/fwlink/?LinkId=103093」下載專屬的設定手稿檔(Tsgqecclientconfig.cmd),此手稿在官方網站上的附檔名是「txt」,所以在完成下載之後必須將其副檔名變更為「cmd」,並儲存在用戶端電腦的磁碟根目錄下,然後透過命令提示列來執行即可。以下先來看看這個手稿檔執行的時候將會完成的那些工作:
●將指定的終端機服務閘道名稱加入到信任的伺服器清單中。
●啟動Network Access Protection Agent服務,並且將啟動類型設定為「自動」,而此服務是用來將用戶端系統目前的健康狀態回報給NAP管理主機。必須注意的是,如果此服務沒有正常啟動,NAP網路原則會將它視為不支援的NAP用戶端。
●啟用TS閘道隔離強制用戶端設定。
瞭解Tsgqecclientconfig.cmd手稿檔所會完成的設定工作之後,接下來以管理員的身分登入到用戶端的電腦中,然後如下圖所示開啟命令提示列視窗並執行「tsgqecclientconfig.cmd」。接著,會顯示此命令工具參數的用法說明,在原文範例中清楚說到,當終端機服務閘道只有一部時,可輸入「tsgqecclientconfig.cmd tsg01.msft.com」命令格式,若有多部終端機服務閘道時,則輸入「tsgqecclientconfig.cmd tsg01.msft.com\0 tsg02.msft.com\0 tsg03.msft.com」命令格式。
▲執行tsgqecclientconfig設定程式。
在官方所提供的tsgqecclientconfig手稿程式執行中,由於已經設定了本機信任的終端機服務閘道主機清單,因此只要正確設定執行時的參數,就不會出現如下圖所示的錯誤訊息。
▲未信任閘道伺服器連線錯誤。
實測NAP整合終端機服務閘道
完成網路原則伺服器和終端機服務閘道的NAP組態設定之後,最後進行遠端使用者NAP電腦的連線測試。
先在遠端使用者NAP電腦上設定好遠端桌面連線TS閘道的相關組態,當成功通過網路原則的健康檢查之後,如果點選位於頂端的小圖示時,將會顯示終端機服務閘道的相關資訊。
在初步連線的過程中,用戶端經常會發生的問題可能是未安裝公司的憑證,因而在本機電腦的信任根憑證授權容器中出現如下圖所示的錯誤訊息。然而,只要企業的根憑證授權單位正常運作中,對於成功連線登入的用戶端電腦來說,系統都會自動安裝與更新憑證。
換句話說,只有未加入公司網域的電腦,才必須以IE瀏覽器連線登入到CA憑證的網站來下載與安裝憑證。
▲用戶端尚未安裝憑證。
不符合NAP健康原則的終端機服務用戶端,一開始連線時就會出現如下圖所示的錯誤訊息,其內容很清楚地表示是因為網路存取保護原則因素而無法成功連線。
除此之外,也可能是因為該用戶端並不相容於NAP用戶端的要求(例如沒有使用Windows XP SP3以上的版本)所致。
▲連線遭受NAP原則拒絕。
關於終端機服務閘道與網路存取保護(NAP)的整合控管部分,如果讀者真的按照本文的範例實際測試過,將會發現它相較於其他NAP的應用部分(例如VPN、DHCP)有很大的差異。因為就終端機服務的用戶端連線檢查來說,只有合法才提供連線存取、不合法就立即斷線的處理,並沒有所謂的隔離存取控管。
此外,如果在完成合法連線存取之後的過程中,使用者的電腦使用過程中發生不符合規定的安全設定時(例如關閉自動更新),並不會像其他的NAP架構一樣立即進行網路隔離的處理,想必這是為了不讓使用者進行遠端存取重要資料時,因為發生網路中斷而導致所存取的資料遺失的緣故。
結語
NAP對於遠端連線存取的安全管制,看來不只是VPN網路而已,在Windows Server 2008中所提供的終端機服務閘道,居然也可以整合這一項安全機制,如此一來,將可以降低因為終端機服務用戶端電腦的安全性問題而讓伺服端或遠端桌面電腦遭到危害的機率。