ISA Server

透過 ISA Server 2006 強化 TS 閘道安全性

Dr. Thomas W. Shinder 和 Yuri Diogenes

 

綜覽:

  • 透過 ISA Server 使用 TS 閘道的兩種案例
  • ISA Server 2006 設定
  • 測試和監視

目錄

超越周邊
第一種案例
設定 ISA Server 2006
測試和監視用戶端存取
從 ISA Server 監視
第二種案例
那用戶端呢?
結論

隨著 Exchange Server 2007 中的「Outlook 無所不在」大舉成功,Windows Server 2008 也緊跟著提供以安全且受到控制的方式隨處存取桌上型電腦的功能。

Windows Server® 2008 中全新的終端機伺服器閘道服務 (TS 閘道) 除了提供 Windows® 終端機伺服器服務的彈性,還外加了透過 HTTP 連線隨處連接到終端機伺服器的功能。這項服務使用 RDP (遠端桌面通訊協定) over HTTPS (SSL) 來加強安全性,並同時提供單一用戶端介面以利存取終端機服務資源。

這個全新的 TS 閘道服務為那些需要從遠端存取他們電腦的人提供了無比的好處:

  • 使用 RDP 連接到內部資源之前,完全不用建立虛擬私人網路 (VPN) 工作階段。
  • 使用網路存取保護 (NAP) 與 Windows Security Health Checks 來控制 RDP 連線以加強安全性。
  • 無須開啟 TCP 連接埠 3389 輸入,即可透過防火牆提供更安全的網頁發行。

您可以使用 Microsoft® Internet Security and Acceleration (ISA) Server 2006 來加強 TS 閘道的安全性,同時允許外部存取內部資源。您也可以使用 HTTPS 建立 SSL 對 SSL 橋接的案例,讓 ISA Server 2006 接收要求,並將它們傳送到內部 TS 閘道服務。在橋接要求時,ISA 防火牆會將 SSL 通訊解密,並執行應用程式層偵測。

如果 HTTP 通訊協定資料流通過偵測,就會將通訊重新加密,轉寄到終端機服務 Proxy。如果通訊協定資料流沒有通過偵測,則會捨棄連線。

超越周邊

Microsoft 在安全性上投入了相當的心力,而 Windows Server 2008 正是當前最安全、最強固的 Windows 版本。但是 Microsoft 公司也非常關心使用者會如何實作它的產品,並且希望使用者遵守最佳作法來保護他們的環境。最佳作法需要採取深度防禦的方法,在多個存取點或存取層提供保護。我們在此處討論的階層是跟原則、程序和覺察、周邊、內部網路和主機等相關。

當您允許外部使用者透過 ISA Server 存取內部資源時,必須了解其中牽涉的各項產品的界限。ISA Server 2006 和 TS 閘道會在周邊層提供安全性,但對於內部資源,您必須在必要時設立允許或拒絕存取的原則。網路原則與存取服務 (NPAS) 可讓您完成這項作業,在原則、程序和覺察層工作。存取內部資源 (磁碟機、剪貼簿、印表機等) 是由終端機服務資源授權原則定義而成,以內部網路層為主。

在本文中,我們首先將討論如何透過 ISA Server 2006 發行終端機服務閘道。接下來,我們會擴大 ISA Server 2006 發行案例,加入強制使用 NAP 來保護用戶端健康狀況這一項。藉由使用 NAP,我們可以建立用戶端健康原則,幫助我們在主機層控制存取。

第一種案例

我們的目標是要示範如何透過 ISA Server 2006 發行 TS 閘道。[圖 1] 概括了在連線期間的電腦和資料流程。本案例是在 TS 閘道本身實作網路原則伺服器 (NPS) 角色,不過,第二個案例會改用中央 NPS 伺服器。請遵循下面的順序,來了解 TS 閘道發行解決方案各元件間如何進行通訊:

fig01.gif

[圖 1] 透過 ISA Server 2006 發行 TS 閘道 (按一下以放大影像)

  1. 由外部 RDP 使用者起始連線。首先,用戶端必須解析 TS 閘道的外部名稱 (在本例中是 tsg.contoso.com)。外部 DNS 會解析這個名稱,它會指向 ISA Server 的外部 IP 位址。
  2. 在 RDP 用戶端與 ISA Server 外部介面之間建立 SSL 通道。ISA Server 在使用發行到 tsg.contoso.com 的憑證的連接埠 TCP 443 上設有網頁發行規則。
  3. 評估規則並檢查流量確實受到允許之後,ISA Server 會傳送 DNS 查詢給內部 DNS 伺服器 (位於網域控制站上),來解析網頁發行規則上指定的伺服器名稱。
  4. ISA Server 接著開啟連往 TS 閘道的 SSL 通道,並將驗證要求傳給它。
  5. 由 TS 閘道伺服器驗證使用者的認證,並確認該使用者有權建立連線。
  6. 在證實使用者有權建立連線之後,TS 閘道服務便在 TCP 連接埠 443 上接收要求,並透過 TCP 連接埠 3389 (預設值),將 RDP 封包轉寄到內部應用程式 (例如 CRM 應用程式) 所在的終端機伺服器。

從這裡開始,RDP 用戶端透過 ISA Server 傳給 TS 閘道的任何封包,都會轉寄給內部終端機伺服器,反之亦然。

還有一點很重要,那就是 RDP over HTTPS 實際上不過是 RDP/RPC/HTTPS。RDP 用戶端會將 RDP 通訊封裝在 RPC 標頭中,這個標頭後來會與使用 SSL (或傳輸層安全性,TLS) 保護的 HTTP 標頭一起封裝起來。RPC over HTTPS 解決方案所需的所有元件都必須存在。這也是您一安裝 TS 閘道角色服務時,它自動安裝 RPC over HTTP Proxy 的原因。若要進一步了解這個通訊協定的運作方式,建議您詳讀<透過 ISA Server 2006 測試 RPC over HTTP 第一篇:通訊協定、驗證和處理>(英文),您可以在 ISA Server 小組部落格上找到 (網址是 blogs.technet.com/isablog)。

要進行這項實作,必須安裝含終端機服務閘道的 Windows Server 2008,而這項功能所仰賴的是 RPC over HTTP Proxy。為了讓 RDP over RPC over HTTP Proxy 功能順利運作,您也必須安裝和執行 Internet Information Services (IIS) 7.0。另外,您還需要網路原則與存取服務,但是如果您要的話,可以設定 TS 閘道來使用 NPS 伺服器 (之前稱為 Internet Authentication Services (IAS)),以便集中處理終端機服務連線授權原則 (TS CAP) 的存放、管理和驗證作業。最後,您必須取得 TS 閘道伺服器的 SSL 憑證 (如果沒有的話)。這裡要特別強調的一點是,ISA Server 2006 必須信任發行該憑證的憑證授權單位 (CA)。因此,請務必將憑證匯入信任的根憑證授權單位存放區。

除非您所設定的 TS 閘道授權原則要求使用者必須是 Active Directory 安全性群組的成員,才能連接到 TS 閘道伺服器,否則 Active Directory® 網域服務一般是派不上用場。為了這項特別的設定,我們將在執行 Windows Server 2003 SP2 的電腦上使用 Active Directory。

當終端機服務閘道服務完裝完畢時,便會出現 [圖 2] 的畫面,列出您所安裝的元件。用戶端若要連接 TS 閘道,必須執行下列一項:Windows Vista®;Windows XP (含 SP2 和 RDP 6.0 或之後版本);Windows Server 2008;Windows Server 2003 (含 SP1 或之後版本和 RDP 6.0 或之後版本)。如需關於 TS 閘道設定的詳細資訊,請參閱《Windows Server 2008 TS 閘道伺服器逐步設定指南》(英文),網址是 go.microsoft.com/fwlink/?LinkId=122251。現在,讓我們來看看要如何設定 ISA Server 2006。

fig02.gif

[圖 2] TS 閘道安裝摘要 (按一下以放大影像)

設定 ISA Server 2006

第一步是建立網頁接聽程式,來處理外部 RDP 用戶端所發出的要求。我們的網頁接聽程式有下列參數:

  • 驗證:基本
  • 驗證確認:Windows (Active Directory)
  • 連線:在連接埠 443 上啟用 SSL (HTTPS) 連線
  • 憑證:發到 tsg.contoso.com 的憑證
  • 網路:外部

接下來是建立網頁發行規則。從 ISA Server 2006 的角度來看,RDP 用戶端會使用跟 Outlook® 無所不在一樣的通訊協定,因此請選擇 Exchange Server 2007 精靈。其步驟如下:

  1. 以滑鼠右鍵按一下 [防火牆原則],選取 [新增],然後按一下 [Exchange Web 用戶端存取發行規則]。
  2. 在 [歡迎使用新增網頁發行規則精靈] 頁上輸入規則名稱,然後按 [下一步]。
  3. 在 [選取規則動作] 頁選取 [允許] 選項,然後按 [下一步]。
  4. 在 [新增 Exchange 發行規則] 頁選取 Exchange 版本,在本例是 Exchange Server 2007。接著選取 [Outlook Anywhere (RPC/HTTP(s))],然後按 [下一步] (注意:請勿選取 [在 Exchange Server for Outlook 2007 用戶端上發行其他資料夾] 選項)。
  5. 在 [發行類型] 頁選取 [發行單一網站或負載平衡器],然後按 [下一步]。
  6. 在 [伺服器連線安全性] 頁選取 [使用 SSL 連線到發行的 Web 伺服器或伺服器陣列],然後按 [下一步]。
  7. 在 [內部發行詳細資料] 頁的 [內部網站名稱] 方塊中,輸入 TS 閘道伺服器的名稱。接著選取 [使用要連線到發行伺服器的電腦名稱或 IP 位址] 核取方塊,然後在 [電腦名稱或 IP 位址] 方塊中輸入伺服器名稱。如果您不知道 TS 閘道伺服器的名稱,請按一下 [瀏覽] 以巡覽至它的位置。請注意,您在此頁上使用的名稱,必須與繫結到 TS 閘道網站的網站憑證上的一般名稱或主題名稱相符。
  8. 在 [公用名稱詳細資料] 頁上,從 [為右列接受要求] 下拉式清單選取 [這個網域名稱 (在下方鍵入)],然後在 [公用名稱] 方塊中,輸入與針對此 URL 發行的憑證名稱相符的公用名稱 — 在本例是 tsg.contoso.com。接著按 [下一步]。
  9. 在 [選取網頁接聽程式] 頁上按一下下拉式清單,選取之前建立的網頁接聽程式,然後按 [下一步]。

接下來,在 [授權委派] 頁選取 [沒有委派,但用戶端可以直接驗證],再按 [下一步]。

然後在 [使用者組] 頁上,確認已經選取預設選項 (所有使用者),再先後按 [下一步] 和 [完成],最後再套用它。

如果您按兩下規則,然後前往 [路徑] 索引標籤,會看到我們只有一個路徑,那就是 /rpc/*。這是因為我們使用 Exchange Server 2007 Outlook 無所不在精靈的關係。

測試和監視用戶端存取

我們在前面說過,您必須有 RDP 6.0 或之後的版本,才能連線到 TS 閘道。若要設定 RDP 用戶端應用程式,請啟動它,然後在 [電腦] 欄位中輸入您要連接的終端機伺服器名稱。接著依序按一下 [選項] 按鈕、[進階] 索引標籤和 [設定],然後輸入 TS 閘道伺服器的外部名稱,如 [圖 3] 所示。在本例當中,這是繫結到我們網頁發行規則接受連入要求所用之網頁接聽程式的憑證上的名稱。請注意,本例是使用 Windows NT® LAN Manager 驗證。完成之後,請按一下 [確定],再按一下 [連線]。您會收到驗證提示。請輸入有權存取終端機伺服器的使用者的認證,然後再按一下 [確定]。

fig03.gif

[圖 3] 設定 RDP 用戶端 (按一下以放大影像)

請注意 RDP 6.0 用戶端 (用於 Windows XP 和 Windows Server 2003) 會顯示 [圖 3] 的畫面。系統會提示您進行驗證兩次 — 第一次是針對 TS 閘道電腦進行驗證,第二次是針對您要存取的終端機伺服器進行驗證。這一點很重要,因為您可能會以為這是 ISA Server 設定所致,但實際上 ISA Server 完全不會處理驗證作業,因為網頁發行規則是套用到「所有使用者」,而這可以讓使用者透過 ISA 防火牆進行匿名連線。

Windows Server 2008 隨附的 RDP 用戶端有個 [對遠端電腦使用我的 TS 閘道認證] 選項,如 [圖 4] 所示。只要選取這個選項之後,就不用輸入認證兩次,對於使用者來說相當方便。Windows Vista 在套用 SP1 之後,也會出現一個單一登入選項供您使用。

fig04.gif

[圖 4] Windows Server 2008 RDP 用戶端 (按一下以放大影像)

您可以使用 [監視] 選項,透過 TS 閘道管理員來監視連線。當未經授權的使用者想要連線到伺服器時,TS 閘道服務也會提供詳細資料。在 [圖 5] 中,事件檢視器顯示出一位無權透過 TS 閘道連線的使用者所做的連線嘗試。

fig05.gif

[圖 5] 記錄到 TS 閘道服務的事件 (按一下以放大影像)

這個事件會記錄 ISA Server 2006 的內部 IP 位址,因為網頁發行規則中已啟用 [要求看起來是來自 ISA Server 電腦]。如果您想要註冊原始的用戶端 IP 位址,必須變更 ISA Server 2006 網頁發行規則,然後在 [目標] 索引標籤上選取 [要求看起來是來自原始用戶端] 選項。

從 ISA Server 監視

使用 ISA Server 2006 Supportability Update 的新功能,可仔細觀察和了解內部網路的各個連線。[圖 6] 所示的是一個反白標示的連線,另外還在 [要求:]行顯示指出 RPC over HTTP Proxy URL 的 RPC_IN_DATA 指令動詞。

fig06.gif

[圖 6] 使用 Supportability update 的 ISA Server 2006 記錄 (按一下以放大影像)

如果您繼續看一下記錄,應該可以看到另一個 RPC over HTTP 指令動詞 RPC_OUT_DATA。請特別注意使用的是哪些 HTTP 方法,此處是 RPC_IN_DATA 和 RPC_OUT_DATA (用於 RDP/HTTP),因為如果您設定了 HTTP 篩選來封鎖這些方法的話,ISA Server 就會封鎖流量。如果您想要鎖住環境,可以設定 RDP/HTTP 網頁發行規則,只允許使用這兩種方法。如需有關發行常用的 HTTP 方法的詳細資訊,請閱讀<ISA Server 2004 中的 HTTP 篩選>(英文) 一文,網址是 technet.microsoft.com/library/cc302627

第二種案例

在這個案例當中,TS 閘道將使用位於另一部伺服器上的 NPS 中央原則。我們將強制使用 NAP 原則,讓用戶端透過 TS 閘道從遠端進行連線。除了多加一個 NPS 伺服器之外,此處所用的元件與第一種案例完全一樣。不過,由於強制使用 NAP 的關係,用戶端上會使用更多元件,如 [圖 7] 所示。

fig07.gif

[圖 7] 第二種案例拓樸的主要元件 (按一下以放大影像)

以下是個別元件的說明。Windows Vista 用戶端上的 System Health Agent (SHA),是由負責監視和報告用戶端健康狀態的用戶端元件組成。雖然 Windows Vista 附有 Windows SHA,但是其他廠商也在積極建立自己的 SHA。

用戶端上的 NAP 代理程式負責在用戶端嘗試存取網路時,建立與 NAP 強制伺服器的通訊。NAP 代理程式會將用戶端的健康狀態聲明 (SoH) 傳給該部伺服器。

在 TS 閘道上,TS 資源授權原則 (TS RAP) 是讓您決定哪部電腦可用來接收連入 RDP 要求的元件。TS RAP 也會決定哪些使用者可以和特定的伺服器建立 RDP 連線。

中央 NPS 負責的是控制用來協調內部電腦存取的條件、條件約束和設定。中央 NPS 上的 System Health Validators (SHV) 是負責評估用戶端所提交的 SoH 是否遵守系統管理員所設定的原則。

現在讓我們把 TS 閘道改指向 NPS 中央伺服器,開啟 [TS 閘道管理員主控台],在伺服器名稱上按一下右鍵,然後選取 [屬性] 選項。接著在伺服器的屬性視窗上按一下 [TS CAP 存放區] 索引標籤,選取 [中央 NPS 伺服器]。接下來是輸入 NPS 伺服器的名稱或 IP 位址,然後按 [新增] 按鈕。這時候會出現一個 [共用密碼] 視窗。請輸入密碼,再按一下 [確定],然後再次按一下 [確定] 關閉視窗。您必須記住這個密碼,因為 NPS 伺服器上會用到。

假設另一部伺服器已經安裝 NPS,則步驟如下:

  1. 開啟 [網路原則伺服器] 主控台,然後在左窗格按一下 [NPS (本機)]。
  2. 在右窗格按一下 [設定 NAP]。接著會出現 [選取與 NAP 搭配使用的網路連線方法] 頁面。
  3. 在 [網路連線方法] 下,從下拉式方塊選取 [終端機服務閘道 (TS 閘道)],然後按 [下一步]。
  4. 在 [指定執行 TS 閘道的 NAP 強制伺服器] 頁按一下 [新增] 按鈕。
  5. 在 [新增 TS 閘道] 視窗中,輸入 TS 閘道伺服器的易記名稱和 IP 位址。接著在視窗下方輸入共用密碼,使用與 TS 閘道伺服器設定上同一個密碼。接著按一下 [確定]。
  6. 您可以在 [設定用戶端裝置重新導向及驗證方法] 頁,指定要重新導向哪些裝置,以及允許的驗證方法 (密碼或智慧卡)。基於本範例的目的,請保留預設選項,然後按 [下一步]。
  7. 在 [設定使用者群組與電腦群組] 頁上,新增允許建立連線的使用者群組。以本範例來說,請按一下 [使用者群組:(必要)] 下的 [新增使用者] 按鈕,然後選取 [Domain Admins]。按一下 [確定],再按 [下一步]。
  8. 您會看到 [預設 NAP 健康原則] 頁已經選取預設的 SHV 了。另外也請注意這一頁的下半部,不合格電腦的存取已被拒絕。請保留預設值的選取狀態,然後按 [下一步]。
  9. 在 [正在完成 NAP 強制原則及 RADIUS 用戶端設定] 頁上,檢閱之前選取的選項。您也可以按一下 [設定詳細資料] 超連結,開啟一個 HTML 頁面,列出您的選項摘要。完成時,請按一下 [完成]。

這個精靈會負責設定幾項重要原則 (連線要求原則、網路原則和健康原則) 的設定,因此明顯幫本案例減少許多設定 NAP 所需的工作。

那用戶端呢?

現在伺服器都已安裝設定妥當,至於用戶端該怎麼處理呢?

若要利用 NAP 強制原則,用戶端必須是 Windows Server 2008 或 Windows Vista 才行。如果是 Windows XP,則必須安裝 SP3 (其中包含 NAP 用戶端)。

除了作業系統的需求外,用戶端上還有一些相關的服務和設定需要啟用。當中包括下列項目:

  • 在用戶端上新增 TS 閘道伺服器名稱到 [信任的伺服器] 清單。
  • 啟動 NAP 代理程式服務,並將服務啟動類型設為 [自動]。
  • 啟用 TS 閘道隔離強制用戶端。

為了簡化這套解決方案的部署,Microsoft 建立了終端機服務 NAP 用戶端設定命令 (Tsgqecclientconfig.cmd),此命令可從 go.microsoft.com/fwlink/?LinkId=122267 下載取得。執行命令之後,用戶端就會設定成 TS 閘道的 NAP 強制用戶端。請注意,您必須具有較高的權限,才能執行這個命令。

在本文當中,我們主要的目的不光是說明和解釋 Windows Server 2008 提供的全新 TS 閘道功能,示範如何安全地透過 ISA Server 2006 來發行它,也要讓您全然瞭解兩種產品的結合,可為貴公司提供哪些安全性優勢。

以目前來說,隨處連線可說是成功企業的必備條件,但也必須確定這樣的連線能力並不會損及使用者的體驗,更重要的是,一定要以安全性為優先考量。

Dr. Thomas W. Shinder 身兼 MCSE 和 ISA Server MVP,自 1996 年來先後擔任過技術培訓講師、作者和顧問,並撰寫過六本 ISA 防火牆方面的著述。他同時也是 ISAserver.org 的實踐先驅,這是網際網路上最大的 ISA 防火牆系統管理員和熱中者社群。

Yuri Diogenes 身兼 MCSE+S、MCTS、MCITP、Security+、Network+ 和 CCNP,他是 Microsoft ISA Server/IAG 小組的支援工程師。Yuri 為 Microsoft TechNet Library 和 ISA Server 小組部落格撰文,他自 1993 起就投入 Microsoft 技術。加入 Microsoft 之前,他曾擔任 Microsoft 培訓講師、支援分析師和顧問。