如何將 IIS 設定為支援網路驗證的 Kerberos 通訊協定和 NTLM 通訊協定

文章翻譯 文章翻譯
文章編號: 215383 - 檢視此文章適用的產品。
重要 本文包含編輯 Metabase 的相關資訊。編輯 Metabase 之前,請先確認萬一發生問題時,您可以使用備份複本進行還原。如需有關如何執行這項操作的詳細資訊,請參閱 Microsoft Management Console (MMC) 中的「設定備份/還原」說明主題。
全部展開 | 全部摺疊

在此頁中

結論

本文將逐步告訴您,如何將 Microsoft Internet Information Services (IIS) 設定為支援網路驗證的 Kerberos 通訊協定和 NTLM 通訊協定。

當使用整合式 Windows 驗證來驗證用戶端要求時,IIS 會傳送交涉安全性標頭。交涉安全性標頭可讓用戶端選擇 Kerberos 驗證或 NTLM 驗證。除非下列其中一個情況成立,否則交涉程序會選擇 Kerberos 驗證:
  • 參與驗證的其中一個系統無法使用 Kerberos 驗證。
  • 呼叫的應用程式未提供足夠的資訊可用於 Kerberos 驗證。
如果要讓交涉程序選擇 Kerberos 通訊協定進行網路驗證,用戶端應用程式必須提供服務主要名稱 (SPN)、使用者主要名稱 (UPN) 或 NetBIOS 帳戶名稱做為目標名稱。否則,交涉程序一律會選擇 NTLM 通訊協定做為慣用的驗證方法。

設定交涉安全性標頭

警告 不當編輯 Metabase 可能會導致嚴重的問題,甚至必須重新安裝使用 Metabase 的任何產品。Microsoft 不保證可以解決您不當編輯 Metabase 所導致的問題。請自行承擔編輯 Metabase 的一切風險。

注意 編輯 Metabase 之前,請務必將它備份起來。

注意
  • 根據預設,當您安裝 IIS 6.0 時,並未定義 NTAuthenticationProviders Metabase 屬性。如果沒有定義 NTAuthenticationProviders Metabase 屬性,IIS 6.0 就會使用 Negotiate, NTLM 參數。因此,除非預設值已被覆寫,否則您不必將 IIS 設定為使用 Negotiate,NTLM 屬性值。
  • 根據預設,當您安裝 IIS 5.1 和 IIS 5.0 時,會定義 NTAuthenticationProviders Metabase 屬性。這個 Metabase 屬性會使用 Negotiate, NTLM 參數。因此,除非預設值已被覆寫,否則您不必將 IIS 設定為使用 Negotiate,NTLM 屬性值。
如果要確定 IIS 支援 Kerberos 通訊協定和 NTLM 通訊協定,您必須確認 NTAuthenticationProviders Metabase 屬性已設定交涉安全性標頭。如果要執行這項操作,請根據您的 IIS 版本,使用適當的方法。

IIS 6.0

  1. 按一下 [開始],再按一下 [執行],輸入 cmd,然後按下 ENTER。
  2. 找出 Adsutil.vbs 檔案所在的目錄。根據預設,這個目錄是 C:\Inetpub\Adminscripts。
  3. 使用下列命令擷取 NTAuthenticationProviders Metabase 屬性目前的值:
    cscript adsutil.vbs get w3svc/WebSite/root/NTAuthenticationProviders
    在這個命令中,WebSite 是網站識別碼的預留位置。預設網站的網站識別碼為 1。

    警告 請勿執行「複製貼上」作業來貼上本文中的命令。這項作業可能會造成屬性設定出現問題。為避免這些問題,請在命令提示字元中輸入整個命令。

    注意 如果未定義 NTAuthenticationProviders Metabase 屬性,這個命令就會失敗。如需詳細資訊,請參閱本節前面的注意事項。

    如果啟用交涉程序,這個命令會傳回下列資訊:
    NTAuthenticationProviders :(STRING) "Negotiate,NTLM"
  4. 如果步驟 3 中的命令沒有傳回字串「Negotiate,NTLM」,請使用下列命令啟用交涉程序:
    cscript adsutil.vbs set w3svc/WebSite/root/NTAuthenticationProviders "Negotiate,NTLM"
  5. 重複執行步驟 3,以確認交涉程序已經啟用。

IIS 5.1 或 IIS 5.0

  1. 按一下 [開始],再按一下 [執行],輸入 cmd,然後按下 ENTER。
  2. 找出 Adsutil.vbs 檔案所在的目錄。根據預設,這個目錄是 C:\Inetpub\Adminscripts。
  3. 使用下列命令擷取 NTAuthenticationProviders Metabase 屬性目前的值:
    cscript adsutil.vbs get w3svc/NTAuthenticationProviders
    警告 請勿執行「複製貼上」作業來貼上本文中的命令。這項作業可能會造成屬性設定出現問題。為避免這些問題,請在命令提示字元中輸入整個命令。

    注意 如果未定義 NTAuthenticationProviders Metabase 屬性,這個命令就會失敗。如需詳細資訊,請參閱本節前面的注意事項。

    如果啟用交涉程序,這個命令會傳回下列資訊:
    NTAuthenticationProviders :(STRING) "Negotiate,NTLM"
    注意 根據預設,當您安裝 IIS 5.1 或 IIS 5.0 時,NTAuthenticationProviders Metabase 屬性會設定為 Negotiate,NTLM
  4. 如果步驟 3 中的命令沒有傳回字串「Negotiate,NTLM」,請使用下列命令啟用交涉程序:
    cscript adsutil.vbs set w3svc/NTAuthenticationProviders "Negotiate,NTLM"
  5. 重複執行步驟 3,以確認交涉程序已經啟用。
您可以停用交涉程序,以強制 IIS 使用 NTLM 通訊協定進行網路驗證。這個程序可防止 IIS 使用 Kerberos 通訊協定。如果要停用交涉程序,請使用下列命令。

注意 在這個命令中,「NTLM」必須是大寫字母,以避免產生任何負面影響。
cscript adsutil.vbs set w3svc/NTAuthenticationProviders "NTLM"
注意 如果要確認已經順利完成變更,則在變更此 Metabase 值時,一定要重複執行步驟 3。

屬性

文章編號: 215383 - 上次校閱: 2006年12月21日 - 版次: 6.0
這篇文章中的資訊適用於:
  • Microsoft Internet Information Services 6.0
  • Microsoft Internet Information Services 5.1
  • Microsoft Internet Information Services 5.0
關鍵字:?
kbhowtomaster kbhowto KB215383
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com