IIS 開發人員 Support Voice 資料行

Kerberos 驗證和委派問題疑難排解

若要自訂這個資料行,您的需求,我們想要邀請您送出您感興趣,您和您要查看的問題的主題相關的想法將來解決知識庫文件和 Support Voice 資料欄。您可以在您的想法和意見反應使用要求的它表單提交。此外,還有在本專欄的底部表格的連結。

我的名稱是 Martin Smith,我與 Microsoft 的重要問題解決方案 Microsoft Internet Information Services (IIS) 群組。我已經向 Microsoft 九年,並已與 IIS 小組所有九年。我已經在編譯從多個位置的資訊
http://msdn.microsoft.com
Kerberos 和如何疑難排解委派問題相關的http://www.microsoft.com

IIS 6.0

下列白皮書會說明如何設定 Microsoft Windows Server 2003 中的委派。這份白皮書具有特定資訊的網路負載平衡 (NLB),但是包含了有關如何設定委派的案例,而不需使用 NLB 絕佳的詳細資料。若要檢視這份白皮書,請造訪下列 Microsoft 網站︰

http://technet.microsoft.com/en-us/library/cc757299.aspx注意特別是當您使用 NLB,請使用 HTTP 服務主要名稱 (Spn)。

另一個受歡迎的 Kerberos 問題最近已被允許使用相同的 DNS 名稱的多個應用程式集區需要。不幸的是,當您使用 Kerberos 委派認證時,您無法繫結相同服務主要名稱 (SPN) 不同的應用程式集區。由於 Kerberos 的設計,您無法執行這項操作。Kerberos 通訊協定會需要多個共用的密碼,才能正常運作的通訊協定。藉由使用相同的 SPN,不同的應用程式集區,就可以消除這些共用的機密資料的其中一個。Active Directory 目錄服務將不支援這種組態的 Kerberos 通訊協定,因為安全性問題。

以這種方式設定 Spn,就會造成 Kerberos 驗證失敗。這個問題可能的解決方案就是使用通訊協定轉送。使用 NTLM 驗證通訊協定,會處理在用戶端和伺服器執行 IIS 之間的初始驗證。Kerberos 處理也 IIS 和後端資源的伺服器之間的驗證。

Microsoft Internet Explorer 6 或更新版本

用戶端瀏覽器可能會遇到問題,例如從執行 IIS 的伺服器接收憑證或 「 401 拒絕存取 」 錯誤訊息的重複登入提示。我們發現下列有助於解決這些問題的兩個問題︰

  • 確認啟用整合式 Windows 驗證已選取 [在瀏覽器的內容。如需詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文︰

    299838無法交涉 Kerberos 驗證,升級至 Internet Explorer 6 之後

  • 如果在 [新增/移除程式中啟用 Internet Explorer 增強式安全性設定,則您必須加入使用委派的站台
    信任的網站清單。如需詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文︰

    815141 Internet Explorer 增強式安全性設定會變更瀏覽經驗

IIS 5.0 和 IIS 6.0

您從 IIS 4.0 升級到 IIS 5.0 或 IIS 6.0 之後,則委派可能無法正確執行,或可能是有人或應用程式已經修改 metabase 屬性 NTAuthenticationProviders。
如需有關如何修正這個問題的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件︰

從 IIS 4.0 升級到 IIS 5.0 之後的248350 Kerberos 驗證失敗

當您設定 SPN,就會發生問題的特定區域

判定伺服器名稱

判定是否您連線到 Web 站台使用伺服器的實際的 NetBIOS 名稱或使用別名名稱,例如 DNS 名稱 (例如,www.microsoft.com)。如果您使用而不是實際的名稱伺服器的名稱來存取 Web 伺服器,則新服務主要名稱 (SPN) 必須已註冊使用 Setspn 工具,從 Windows 2000 伺服器資源套件中。由於 Active Directory 目錄服務不知道這個服務名稱,票證授與服務 (TGS) 並不會提供的票證,來驗證使用者。這種行為會強制用戶端使用下一個可用的驗證方法,也就是 NTLM,要重新交涉。如果 Web 伺服器回應 DNS 名稱的 www.microsoft.com,但伺服器名為 webserver1.development.microsoft.com,您必須在 Active Directory 中登錄 www.microsoft.com,正在執行 IIS 的伺服器上項目。若要這麼做,您必須下載 Setspn 工具,並在執行 IIS 的伺服器上安裝它。


您使用的 Windows Server 2003 和 IIS 6,Microsoft Windows Server 2003 的 Setspn 工具可以從下列位置︰

http://support.microsoft.com/kb/970536若要判斷是否使用實際的名稱來進行連線,請嘗試連線到伺服器,而不是 DNS 名稱中使用伺服器的實際名稱。如果您無法連線到伺服器,請參閱 「 確認電腦是受信任可以委派 」 一節。

如果您可以連線到伺服器,請依照下列步驟來設定 SPN 您用於連線到伺服器的 DNS 名稱︰

  1. 安裝 [Setspn] 工具。

  2. 在執行 IIS 的伺服器,開啟命令提示字元,再開啟 C:\Program Files\Resource 組件] 資料夾。

  3. 執行下列命令,將這個新的 SPN (www.microsoft.com) 加入至伺服器的使用中目錄︰

    Setspn-A HTTP/www.microsoft.com webserver1注意這個命令中, webserver1代表伺服器的 NetBIOS 名稱。

您會收到類似下列的輸出︰
Registering ServicePrincipalNames for CN=webserver1,OU=Domain Controllers,DC=microsoft,DC=comHTTP/www.microsoft.com
Updated object

若要檢視此新值,請參閱在伺服器上的 Spn 的清單,請在執行 IIS 的伺服器上輸入下列命令︰

Setspn-L webservername請注意您不需要註冊所有服務。許多服務類型,例如 HTTP、 W3SVC、 WWW、 RPC、 CIFS (檔案存取)、 WINS 及不斷電提供 (UPS),會對應到預設的服務類型稱為主應用程式中。例如,如果您的用戶端軟體使用 SPN 的 HTTP/webserver1.microsoft.com 在 webserver1.microsoft.com 伺服器上,建立 Web 伺服器的 HTTP 連線,但未在伺服器上註冊此 SPN,Windows 2000 網域控制站會自動對應連線到 HOST/webserver1.microsoft.com。這種對應會在本機的 System 帳戶下執行 Web 服務時才套用。

請確認電腦是受信任可以委派

如果執行 IIS 這台伺服器是網域的成員,但不是網域控制站,電腦必須是受信任可以委派的 Kerberos 才能正常運作。若要執行這項操作,請參考下列步驟:

  1. 網域控制站中,按一下 [開始],指向 [設定],然後按一下控制台

  2. 在控制台中,開啟 [系統管理工具]。

  3. 按兩下 [ Active Directory 使用者和電腦]。

  4. 在 [您的網域] 下按一下 [電腦]。

  5. 在清單中,找出執行 IIS 的伺服器、 伺服器名稱,以滑鼠右鍵按一下,然後按一下內容

  6. 按一下 [一般] 索引標籤,按一下以選取
    受信任可以委派] 核取方塊,,,然後按一下
    OK.

請注意,是否多個網站會達到相同的 URL,但在不同的連接埠上,委派會不會運作。若要這麼做,您必須使用不同的主機名稱和不同的 Spn。當 Internet Explorer 會要求任一 http://www。mywebsite.com 或 http://www。mywebsite.com:81,Internet Explorer 要求票證的 SPN HTTP/www.mywebsite.com。Internet Explorer 不會將連接埠,或是 vdir,加入至 SPN 要求。這個行為是相同的 http://www。mywebsite.com/app1 或 http://www。mywebsite.com/app2。在這個案例中,Internet Explorer 將要求 SPN http://www 的票證。mywebsite.com 從金鑰發行中心 (KDC)。有一個識別可以只宣告每一個 SPN。因此,您也會收到 KRB_DUPLICATE_SPN 錯誤訊息,如果您嘗試宣告此 SPN,針對每個身分。

委派和 Microsoft ASP.NET

如需有關當您使用 ASP.NET 應用程式時,委派認證的設定的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件︰

810572如何設定 ASP.NET 應用程式的委派案例

模擬和委派是兩種方法來驗證用戶端的名義上的伺服器。決定哪些要使用這些方法及其實作會造成一些混淆。您必須檢閱這兩個方法之間的差異,並檢查哪一種您可能需要這些方法對您的應用程式使用。讀取下列的白皮書,如需詳細資訊,就是我的建議事項︰

http://msdn2.microsoft.com/en-us/library/ms998351.aspx

參考

http://technet.microsoft.com/en-us/library/cc757299.aspx

http://msdn.microsoft.com/msdnmag/issues/05/09/SecurityBriefs/default.aspx

305971 Windows 2000 伺服器會提示輸入認證的網域使用者

262177如何啟用 Kerberos 事件記錄

326985如何疑難排解與 Kerberos 相關的問題,在 IIS 中

842861 TechNet 技術支援網路廣播︰ 與安全的 Web 應用程式和 Microsoft SQL Server 的疑難排解的 Kerberos 驗證

如往常,我們編寫哪一方面送出您想要的想法主題將來解決資料行,或在知識庫的使用
請為它的表單。

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×