關於網頁發行中的驗證

發佈時間: 2009年11月

更新日期: 2010年2月

適用於: Forefront Threat Management Gateway (TMG)

當用戶端要求存取發行的內部網頁伺服器時,Forefront TMG 中的驗證程序有三個要件:

  • 收到用戶端認證。

  • 向 Active Directory 網域服務 (AD DS)、RADIUS 或 SecurID 驗證管理員等驗證提供者驗證用戶端認證。

  • 對位於 Forefront TMG 之後的網頁伺服器委派驗證,例如執行 SharePoint Portal Server 2007 的伺服器。

    note附註:
    您可以在接收用戶端要求的網頁接聽程式上設定前兩項要件。第三項則是在發行規則上設定。這代表您可以讓不同的規則使用相同的接聽程式,以及具有不同的委派類型。

下圖示範表單型驗證的驗證程序。請注意,這裡只會簡單描述程序,藉以說明所涉及的主要步驟。

步驟 1,收到用戶端認證 - 用戶端會傳送要求,以連線到 [內部網路] 中的公司 Outlook Web Access 伺服器。用戶端會以 HTML 的格式提供認證。

步驟 2 與 3,傳送認證 - Forefront TMG 會將認證傳送給驗證提供者,例如網域控制站以進行 AD DS 驗證或 RADIUS 伺服器,以及接收來自驗證提供者已驗證使用者的通知。

步驟 4,驗證委派 - Forefront TMG 會將用戶端的要求轉寄到 Outlook Web Access 伺服器,以及使用該用戶端的認證來驗證伺服器。Outlook Web Access 伺服器會重新驗證那些認證,通常會使用相同的驗證提供者。

note附註:
網頁伺服器必須設定成使用與 Forefront TMG 所使用委派方法相符的驗證配置。

步驟 5,伺服器回應 - Outlook Web Access 伺服器會將回應傳送到用戶端,而 Forefront TMG 會攔截該回應。

步驟 6,轉寄回應 - Forefront TMG 會將回應轉寄到用戶端。

note附註:
  • 如果您未限制已驗證使用者的存取權 (例如,將允許存取的規則套用至所有使用者),Forefront TMG 就不會驗證使用者的認證。Forefront TMG 會使用使用者的認證,根據設定的委派方法來驗證網頁伺服器。

  • 建議您對所有已驗證的使用者或特定的使用者組套用每個發行規則,而不是在網頁接聽程式上選取 [需要驗證所有使用者],要求驗證透過網頁接聽程式連線的任何使用者。

收到用戶端認證的用戶端驗證方法

Forefront TMG 網頁接聽程式可以接受下列來自用戶端的驗證類型:

  • 不驗證。

  • 表單型驗證

  • HTTP 驗證 (在 HTTP 標頭中收到)

  • 用戶端憑證驗證

不驗證

您可以選擇讓 Forefront TMG 不要求驗證。如果您這樣做,您便無法在使用此網頁接聽程式的規則上設定委派方法。

表單型驗證

您可以在 Forefront TMG 中使用表單型驗證,以用於發行任何網頁伺服器。在 Forefront TMG 中,表單型驗證有三種類型:

  • 密碼 (Password) 表單:使用者在表單上輸入使用者名稱及密碼 (Password)。這是 AD DS、LDAP 及 RADIUS 認證驗證需要的認證類型。

  • 密碼 (Passcode) 表單:使用者在表單上輸入使用者名稱及密碼 (Passcode)。這是 SecurID 及 RADIUS 單次密碼 (Password) 驗證需要的認證類型。

  • 密碼 (Passcode)/密碼 (Password) 表單:使用者輸入使用者名稱與密碼 (Passcode) 以及使用者名稱與密碼 (Password)。使用者名稱與密碼 (Passcode) 是透過套用 SecurID 或 RADIUS 單次密碼驗證方法,用來向 Forefront TMG 驗證。使用者名稱與密碼 (Password) 是用來進行委派。

以基本驗證為後援

依預設,當特定用戶端無法使用表單型驗證時,Forefront TMG 便會改為要求基本驗證。這是定義在使用者代理程式對應集合的 Forefront TMG COM 中。

FPCRuleElements.UserAgentMappings

如需詳細資訊,請參閱管理 User-Agent 對應 (http://go.microsoft.com/fwlink/?LinkId=106693) (英文)。

行動式用戶端的表單

Forefront TMG 提供各種不同行動式用戶端的表單。這些表單都放在 CHTMLXHTML (代表 XHTML-MP 表單) 資料夾中,您可以在下列位置找到:

Forefront TMG Installation Directory\Templates\CookieAuthTemplates

Forefront TMG 會使用行動式用戶端提供的 User-Agent 標頭,來決定要提供的表單類型。

表單型驗證中的密碼管理

當您使用表單型驗證時,Forefront TMG 可讓您警告使用者他們的密碼即將過期 (依您設定的天數),並可允許使用者變更他們的密碼。您可以個別使用或結合使用這兩項功能。例如,您可以警告使用者他們的密碼即將過期,但不允許他們變更密碼。或者,您可以允許他們變更密碼,但卻不提供密碼即將過期的警告。

當您允許使用者變更密碼時,便可以在登入表單上找到該選項。當您設定 Forefront TMG 要警告使用者密碼即將過期時,使用者會收到個別的警告頁面,他們可以在此決定是否要變更密碼。如需如何設定變更密碼功能的指示,請參閱設定變更密碼功能

note附註:
  • 您可以完全自訂表單型驗證的 HTML 表單。

  • 當您將 Forefront TMG 設定為要求驗證、當您對特定使用者組或 [所有已驗證的使用者] 套用發行規則,或是將網頁接聽程式設定為 [需要驗證所有使用者] 時,Forefront TMG 就會在轉寄要求之前先驗證認證。

  • 依預設,用戶端瀏覽器的語言設定可決定 Forefront TMG 提供的表單語言。Forefront TMG 可提供 26 種不同語言的表單。也可以不管瀏覽器的語言,將 Forefront TMG 設定為提供特定語言。

請注意下列安全性問題:

  • 設定表單型驗證的等候逾時時,建議等候逾時要短於已發行伺服器所指定的等候逾時。如果在 Forefront TMG 之前發行伺服器逾期,使用者可能會誤以為工作階段已結束。這樣可允許攻擊者使用工作階段,這個工作階段在使用者主動關閉或 Forefront TMG 逾時 (如表單設定上所設定) 之前都會保持開啟狀態。

  • 在使用 Forefront TMG 發行網頁應用程式之前,您應該確定該應用程式的設計可以抵禦 Session Riding 攻擊 (也稱為跨網站張貼、跨網站的偽造要求或誘餌式攻擊)。這對於透過 Forefront TMG 所發行的網頁伺服器特別重要,因為對於用戶端透過發行 Forefront TMG 防火牆所存取的所有網站,都必須使用相同的信任等級。

  • 在需要用戶端憑證而使用者拒絕提供憑證的表單型驗證實例中,使用者可以存取登入表單。然後 Forefront TMG 便會因為缺乏用戶端憑證,而拒絕使用者登入。

  • 表單自訂需要修改 Strings.txt 檔。如果您將 Strings.txt 檔提供給協力廠商進行修改,請驗證檔案未曾被新增非文字的部分,因為這樣可能會提供他人攻擊您網路的途徑。

HTTP 驗證

Forefront TMG 支援下列類型的 HTTP 驗證:

  • 基本驗證:使用基本驗證時,系統會提示要求用戶端提供認證。Forefront TMG 會驗證該認證,然後根據設定的委派方法,在將要求傳送到網頁伺服器時,使用認證來驗證網頁伺服器。網頁伺服器必須設定成使用與 Forefront TMG 所使用委派方法相符的驗證配置。如需基本驗證的相關資訊,請參閱關於驗證方法

  • 摘要式驗證和 WDigest 驗證:使用摘要式驗證或 WDigest 驗證時,用戶端會提出要求。Forefront TMG 會拒絕要求,並要求用戶端提供驗證資訊。認證是傳送到網域控制站來進行驗證。如需相關資訊,請參閱關於驗證方法

  • 整合的 Windows 驗證 (NTLM) - 使用 NTLM、Kerberos 以及交涉驗證機制。用戶端電腦上目前的 Windows 資訊是用來供驗證使用。如果驗證交換失敗,瀏覽器會發出提示,直到使用者輸入有效的認證或關閉提示對話方塊為止。如需此驗證方法的相關資訊,請參閱關於驗證方法

用戶端憑證驗證

在用戶端憑證實例中,用戶端會提供憑證,然後 Forefront TMG 便會以該憑證為基礎來驗證用戶端。這可能是內嵌於智慧卡中的憑證,或行動式裝置所使用的憑證,因此可連線至 Microsoft ActiveSync。

驗證用戶端認證的方法

Forefront TMG 支援以下列伺服器類型來驗證用戶端認證:

  • 不驗證 (允許內部伺服器處理驗證)

  • Windows Active Directory

  • LDAP 伺服器

  • RADIUS

  • RADIUS 單次密碼

  • SecurID

您可以在發行規則的網頁接聽程式上,設定要收到和驗證用戶端認證。發行規則如果搭配使用特定認證驗證表單的網頁接聽程式,就必須使用與驗證表單一致的使用者組。例如,發行規則如果搭配使用 LDAP 認證驗證的網頁接聽程式,則也必須使用包含 LDAP 使用者的使用者組。不過,無法包括 AD DS 使用者。

Important重要事項:
當您使用相同的網頁接聽程式,在同一個網域中發行多個應用程式時,即使並未啟用單一登入 (SSO) 功能,某個應用程式已驗證的使用者也能夠存取其他應用程式。

驗證委派

在驗證認證之後,您可以設定發行規則使用下列其中一種方法,來將認證委派給發行的伺服器:

  • 沒有委派,用戶端無法直接驗證

  • 沒有委派,但用戶端可以直接驗證

  • 基本

  • NTLM

  • NTLM/Kerberos (交涉)

  • SecurID

  • Kerberos 限制委派

設定驗證委派

用戶端認證委派方法是在發行規則上設定。請在 [發行規則精靈][驗證委派] 頁面上設定這些方法。驗證設定就在發行規則內容的 [驗證委派] 索引標籤上。

沒有委派,用戶端無法直接驗證

採用此選項,Forefront TMG 不會委派認證。這是為了要防止無意中將認證委派到組織中,認證可能是遭到探聽而被盜用。這是某些 Forefront TMG 發行精靈的預設值,因此如果您想要委派認證,就必須變更該預設值。

沒有委派,但用戶端可以直接驗證

當您選取 [沒有委派,但用戶端可以直接驗證] 委派方法時,Forefront TMG 會將使用者的認證傳送到目的地伺服器,而 Forefront TMG 不需要採取任何動作。然後用戶端及目的地伺服器會交涉驗證。

基本

採用基本委派時,Forefront TMG 會以純文字格式將認證轉寄到需要認證的伺服器。如果驗證失敗,Forefront TMG 就會根據網頁接聽程式上設定的驗證類型,提示使用者提供驗證。如果伺服器要求不同類型的認證,Forefront TMG 便會觸發警示。

NTLM

在 NTLM 委派中,Forefront TMG 會透過使用 NTLM 挑戰/回應驗證通訊協定來委派認證。如果驗證失敗,Forefront TMG 便會以網頁接聽程式使用的驗證類型來取代委派方法。如果伺服器要求不同類型的認證,Forefront TMG 便會觸發警示。

NTLM/Kerberos (交涉)

當您選取 [交涉] 當做委派方法時,Forefront TMG 會先嘗試從網域控制站取得用戶端的 Kerberos 票證。如果 Forefront TMG 未收到 Kerberos 票證,則要透過使用 NTLM,使用交涉配置來委派認證。如果 Forefront TMG 收到 Kerberos 票證,便可透過使用 Kerberos,使用交涉配置來委派認證。如果驗證失敗,Forefront TMG 便會將伺服器的失敗通知提供給用戶端。如果伺服器要求不同類型的認證,Forefront TMG 便會觸發警示。

用來取得票證的預設服務主要名稱 (SPN) 是 http/internalsitename。在採用伺服器陣列的情況下,SPN 就是陣列的名稱。您可以在 Forefront TMG 管理中,於規則的 [驗證委派] 索引標籤上變更預設的 SPN。

note附註:
在 Microsoft Exchange Server 2003 中,Internet Information Services (IIS) 是在 Network Service 帳戶下執行。Forefront TMG 會使用萬用字元 SPN HTTP\*,並會以發行網站的主機名稱來取代星號。

SecurID

當用戶端提供 SecurID 認證時,您可以使用 SecurID 驗證委派。Forefront TMG 會將專屬 SecurID Cookie 傳送到發行伺服器。請注意,Forefront TMG 及發行的伺服器必須具有相同的網域機密與 Cookie 名稱。

Kerberos 限制委派

自 ISA Server 2006 開始,便可支援 Kerberos 限制委派功能。如需 Kerberos 限制委派的相關資訊,請參閱 Kerberos 通訊協定轉換和限制委派 (http://go.microsoft.com/fwlink/?LinkID=56785) (英文)。

若不使用 Kerberos 限制委派,只有當使用基本或表單型驗證接收用戶端認證時,Forefront TMG 才可以委派認證。使用 Kerberos 限制委派,Forefront TMG 可接受其他用戶端認證類型。但一定要在網域控制站上啟用 Forefront TMG,才能夠使用 Kerberos 限制委派 (受限於特定的服務主要名稱)。

如果驗證失敗,Forefront TMG 便會將伺服器的失敗通知提供給用戶端。如果伺服器要求不同類型的認證,Forefront TMG 便會觸發警示。

note附註:
  • 您需要設定 AD DS,將 Forefront TMG 辨識為可信任其進行委派,才能夠使用 Kerberos 限制委派。

  • 用來取得票證的預設 SPN 是 http/internalsitename。在採用伺服器陣列的情況下,SPN 就是陣列的名稱。您可以在 Forefront TMG 管理中,於規則的 [驗證委派] 索引標籤上變更預設的 SPN。

  • 若要使用 Kerberos 限制委派功能,您的網域必須在 Windows Server 2003 或更高的網域功能等級下執行。

  • Kerberos 驗證需依賴 UDP 封包。這些封包通常只有片段。如果 Forefront TMG 位於網域內,而且您啟用封鎖 IP 片段的功能,那麼 Kerberos 驗證便會失敗。例如,如果電腦在使用者登入時使用 Kerberos 驗證,登入將會失敗。在使用 Kerberos 驗證的情況下,建議您不要封鎖內含 IP 片段的封包。

  • SharePoint Portal Server 2003 預設會停用 Kerberos,因此 NTLM/Kerberos (交涉) 與 Kerberos 限制委派無法與 SharePoint 發行一起使用。若要啟用 Kerberos,請遵循如何設定 Windows SharePoint Services 虛擬伺服器使用 Kerberos 驗證,以及如何從 Kerberos 驗證切換回 NTLM 驗證 (http://go.microsoft.com/fwlink/?LinkId=160327) 中的指示。

  • 在 Microsoft Exchange Server 2003 中,IIS 是在 Network Service 帳戶下執行,而且 Forefront TMG 會使用萬用字元 SPN HTTP\*,並會以發行網站的主機名稱來取代星號。

有效的用戶端認證與委派方法組合

不是每種委派方法都可用於特定的用戶端認證類型。下表提供有效組合的摘要

 

收到用戶端認證 驗證提供者 委派

表單型驗證 (只有密碼)

基本

AD DS (Windows)

AD DS

LDAP

RADIUS

沒有委派,但用戶端可以直接驗證

沒有委派,用戶端無法直接驗證

基本

NTLM

交涉

Kerberos 限制委派

摘要

整合

AD DS (Windows)

沒有委派,但用戶端可以直接驗證

沒有委派,用戶端無法直接驗證

Kerberos 限制委派

具有密碼 (Passcode) 的表單型驗證

SecurID

RADIUS 單次密碼

沒有委派,但用戶端可以直接驗證

沒有委派,用戶端無法直接驗證

SecurID

Kerberos 限制委派

表單型驗證 (密碼 (Passcode) 與密碼 (Password))

SecurID

RADIUS 單次密碼

沒有委派,但用戶端可以直接驗證

沒有委派,用戶端無法直接驗證

基本

NTLM

交涉

SecurID (不使用 RADUIS 單次密碼)

用戶端憑證

AD DS (Windows)

沒有委派,但用戶端可以直接驗證

沒有委派,用戶端無法直接驗證

Kerberos 限制委派

相關主題

顯示: