文章編號: 326985 - 上次校閱: 2007年4月23日 - 版次: 12.1 如何疑難排解與 Kerberos 相關的問題,在 IIS 中
在此頁中結論本文將告訴您,如何疑難排解 Kerberos 網際網路資訊服務 (IIS) 伺服器上的驗證。這不是完整的輔助線,但有許多的參照,可幫助您疑難排解您可能會遇到的大部分 Kerberos 問題。 預設情況下,在 Microsoft Windows 2000 伺服器上安裝 IIS 時在 Metabase 中的 NTAuthenticationProviders 索引鍵設定為 交涉、 NTLM。這表示當 Microsoft Internet Explorer 5.0 或更新版本的用戶端連線至網站,IIS 傳回這兩個值中 WWW 驗證 標頭。發生這種情況時用戶端會決定可以連接與哪一種驗證方法。如果用戶端決定使用 交涉 方法連線,與來決定是否要使用 Kerberos 或 NTLM 驗證伺服器會交涉用戶端。如果用戶端不支援 交涉 方法,用戶端會使用 NTLM 驗證。 請注意這是非常一般描述此處理程序的運作。涉及 Kerberos 時,也可能會發生許多您可能不會注意到其他事情。 如果 Internet Explorer 用戶端可以使用 Kerberos 通訊協定連線,會執行一些額外的安全性檢查。比方說用戶端可能會取得票證從 「 票證授與服務 (TGS),並再使用該票證來驗證。 如更多有關此程序的運作方式的資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項: 217098?
(http://support.microsoft.com/kb/217098/
)
基本概觀 Kerberos 驗證在 Windows 2000 中 如需詳細資訊請造訪下列 Microsoft 網站]:驗證 http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/default.mspx?mfr=true
(http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/default.mspx?mfr=true)
您必須熟悉這些疑難排解 Kerberos 的參考。附註如果您最近已經升級到網際網路總管 6.0,您可能會遇到 Kerberos 問題,因為預設不選取 [啟用整合式 Windows 驗證] 核取方塊。 如需有關如何確定的正確設定,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項時此選項: 299838?
(http://support.microsoft.com/kb/299838/
)
無法交涉 Kerberos 驗證升級至 Internet Explorer 6 之後 請確認驗證方法請確定正確的驗證方法在 IIS 伺服器或特定網站 Metabase 中列出。如果您的伺服器已從 Microsoft Windows NT 4.0 升級到 Windows 2000,交涉 的驗證方法沒有可供使用],而您必須手動加入。如果您不做為 Windows 2000 升級從 Windows NT 4.0,確定適當的驗證方法都可供使用。 如需有關如何確認的交涉的驗證方法使用並加入方法,如果遺失,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項:248350?
(http://support.microsoft.com/kb/248350/
)
Kerberos 驗證失敗,則從 IIS 4.0 升級到 IIS 5.0 之後 請注意您就可以設定此驗證方法,在網站層級,而不是整個的 IIS 伺服器。如果要執行此動作使用 [新增 Web 站台的號碼的 [Adsutil.vbs 指令碼]。比方說若要設定預設的網站的驗證方法,使用下列命令:cscript adsutil.vbs 設定 w3svc/1/NTAuthenticationProviders"交涉 NTLM" 1 號網站所列在 [網際網路服務管理員 (ISM) w3svc 」 後。判斷伺服器名稱接下來,判定是否您要連線到 Web 站台使用伺服器的實際的 NetBIOS 名稱或一個別名如一個 DNS 名稱 (比方說 www.microsoft.com)。如果您正在使用而不是實際的名稱伺服器的名稱來存取 Web 伺服器,必須新服務主要名稱 (SPN) 已註冊使用 Setspn 工具從 Windows 2000 Server 資源工具箱 」。因為 Active Directory 並不知道這個服務名稱,[TGS 並不會提供您要驗證使用者票證。這會強制用戶端使用下一個可用的驗證方法,是 NTLM,重新協商以決定。如果 Web 伺服器回應到 www.microsoft.com 的網域名稱系統 (DNS) 名稱,但該伺服器具名 webserver1.development.microsoft.com 您必須在 Active Directory 中登錄 www.microsoft.com 每部 IIS 伺服器上。要執行此動作,您必須下載之 Setspn 公用程式,並在 IIS 伺服器上進行安裝。如需有關如何下載 Setspn 公用程式的詳細資訊,請造訪下列 Microsoft 網站]:Setspn.exehttp://www.microsoft.com/downloads/details.aspx?FamilyID=5fd831fd-ab77-46a3-9cfe-ff01d29e5c46&DisplayLang=en (http://www.microsoft.com/downloads/details.aspx?FamilyID=5fd831fd-ab77-46a3-9cfe-ff01d29e5c46&DisplayLang=en) 如果要判斷您是否使用實際的名稱來連線,嘗試使用其實際名稱,而不是 DNS 名稱連線到伺服器。如果您無法連線到伺服器,請參閱 < Verify the Computer Is Trusted for Delegation > 一節。如果您可以連線至伺服器,請依照下列步驟設定 SPN 您用以連接伺服器的 DNS 名稱:
重要如果您想要註冊的 SPN (網站 LocalSystem 或 NetworkService 帳戶下執行) 的電腦帳戶的您必須不變更電腦的現有的 SPN。而是,只新增新的 HTTP SPN。如果網站的名稱符合主機名稱,[SPN 沒有變更就需要。如果標準的命名 HOST / Server] 與 [HOST / ServerFQDN 已遺失,您必須調查時它會註冊必要的 SPN 有 Netlogon 服務在伺服器上的問題。當您啟用服務的記錄時,應該在記錄檔中收到錯誤訊息。 如需詳細資訊,請按一下下列的文件編號,檢視 「 Microsoft 知識庫 」 中的文件: 109626?
(http://support.microsoft.com/kb/109626/
)
啟用 [Net Logon] 服務的偵錯記錄 您也應該註冊錯誤的相關系統事件日誌中收到 Netlogon 的事件。請確認電腦受信任可以委派如果這個 IIS 伺服器是網域的成員,但不是網域控制站,電腦必須受信任可以委派的 Kerberos 正常運作。若要啟用這,請依照下列步驟執行:
使用 Kerbtray疑難排解 Kerberos 問題的另一個非常有用的公用程式是屬於 Windows 2000 資源工具箱 」 的 Kerbtray.exe。利用 Kerbtray 您可以看到 Kerbero 票證已授與本機快取記憶體用完。如果要下載此公用程式,請造訪下列 Microsoft 網站:Kerbtray.exe: Kerberos Trayhttp://www.microsoft.com/downloads/details.aspx?FamilyID=4e3a58be-29f6-49f6-85be-e866af8e7a88&displaylang=en
(http://www.microsoft.com/downloads/details.aspx?FamilyID=4e3a58be-29f6-49f6-85be-e866af8e7a88&displaylang=en)
如疑難排解 Kerberos 的秘訣和有關此工具的詳細資訊,請造訪下列 Microsoft 網站]:http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/security/tkerberr.mspx
(http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/security/tkerberr.mspx)
啟用安全性事件記錄疑難排解 Kerberos 驗證失敗時,安全性事件記錄很有用。使用這啟用,您可以看到登入失敗,當使用者嘗試透過 IIS 驗證。這提供什麼可能會發生在驗證過程和驗證程序為何失敗的說明。本節中資訊的其餘部分是由 Michael Howard,加上引號直接從 Desiging 安全 Web 架構應用程式的 Windows 2000。 因為 Windows 2000 中的連線會驗證,您必須瞭解如何讀取登入事件。本章節的目的是要解釋不同組成一個登入事件的變數。 登入/登出的稽核設定Microsoft Windows NT 包含只有一個登入和登出的稽核類別目錄。Windows 2000 引入一秒。--登入/登出和帳戶登入--將兩個類別會在下列各節中說明。稽核帳戶登入事件] ([登入/登出] 類別)此事件類別目錄中所有版本的 Windows NT 和 Windows 2000, 可用表示的帳戶登入或登出,或進行到電腦的網路連線。亦即稽核事件會觸發登入發生在電腦上。[登入/登出] 類別很重要,因為它提供何時使用 IIS、 SQL Server 和 COM + 大部分的資訊。最大顯著性事件中的 [登入/登出] 類別目錄是
登入/登出事件 529 (登入失敗)Event Type: Failure Audit Event Source: Security Event Category: Logon/Logoff Event ID: 529 Date: 9/3/1999 Time: 8:57:21 PM User: NT AUTHORITY\SYSTEM Computer: CHERYL-LAPTOP Description: Logon Failure: Reason: Unknown user name or bad password User Name: Administrator Domain: CHERYL-LAPTOP Logon Type: 2 Logon Process: seclogon Authentication Package: Negotiate Workstation Name: CHERYL-LAPTOP 登入/登出事件 528 (登入成功) 和登入/登出事件 540 (網路登入成功)Event Type: Success Audit Event Source: Security Event Category: Logon/Logoff Event ID: 540 Date: 1/23/2000 Time: 5:41:39 PM User: EXAIR\Cheryl Computer: CHERYL-LAPTOP Description: Successful Network Logon: User Name: cheryl Domain: EXAIR Logon ID: (0x0,0x17872A8) Logon Type: 3 Logon Process: Kerberos Authentication Package: Kerberos Workstation Name: 摺疊此表格
稽核帳戶登入事件 (帳戶登入類別)此事件類別表示的帳戶登入或登出,且電腦用來驗證帳戶。在這種情況下稽核事件會觸發帳戶所在的電腦上。許多與 Kerberos 相關事件,例如票證發行,記錄啟用此稽核類別目錄時。下列章節會顯示兩個常看到帳戶登入失敗事件。 帳戶登入事件 676 (登入失敗): 驗證票證要求失敗 Event Type: Failure Audit Event Source: Security Event Category: Account Logon Event ID: 676 Date: 5/11/2000 Time: 8:47:01 PM User: NT AUTHORITY\SYSTEM Computer: DBSERVER Description: Authentication Ticket Request Failed: User Name: Major Supplied Realm Name: EXPLORATIONAIR.COM Service Name: krbtgt/EXPLORATIONAIR.COM Ticket Options: 0x40810010 Failure Code: 6 Client Address: 172.100.100.12 事件 676 表示主要無法取得一個初始的票證授與票證 (TGT) 從金鑰發行中心 (KDC)。事件的最重要的一部分是失敗碼。這些代碼是與 MIT Kerberos 碼相同的。 Table 2 說明一些最常見的錯誤代碼 ; 可以在主要 http://www.ietf.org/rfc/rfc1510.txt (http://www.ietf.org/rfc/rfc1510.txt) 中找到完整的清單。 摺疊此表格
錯誤代碼的大量的帳戶登入事件 681 (登入失敗) 有時候,您可能會看到類似下面的錯誤。 問題是錯誤程式碼是幾乎無用。 Event Type: Failure Audit Event Source: Security Event Category: Account Logon Event ID: 681 Date: 5/11/2000 Time: 8:47:01 PM User: NT AUTHORITY\SYSTEM Computer: DBSERVER Description: The logon to account: Major by: MICROSOFT_AUTHENTICATION_PACKAGE_V1_0 from workstation: WEBSERVER failed. The error code was: 3221225572 摺疊此表格
如果前一個兩個安全性失敗事件--強力的要求的初始的 TGT 失敗,錯誤 6 (Kerberos 資料庫中找不到用戶端) 建立相互關聯他嘗試登入和泛用的登入失敗發生的錯誤 (不存在指定的使用者) 的 3221225572--很普通看到此錯誤是: 強力不是有效的帳戶! ?考如需有關 Kerberos 的資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中 「 文件: 266080?
(http://support.microsoft.com/kb/266080/
)
常見問題集 Kerberos 問題的答案 244474?
(http://support.microsoft.com/kb/244474/
)
如何強制使用 TCP,而不是 Windows Server 2003 中、 Windows XP 以及 Windows 2000 的 UDP Kerberos 262177?
(http://support.microsoft.com/kb/262177/
)
如何啟用 Kerberos 事件記錄 287537?
(http://support.microsoft.com/kb/287537/
)
使用基本驗證來產生 Kerberos 語彙基元 (Token) 277741?
(http://support.microsoft.com/kb/277741/
)
Internet Explorer 登入 Kerberos 的失敗因為至沒有足夠的緩衝區 269643?
(http://support.microsoft.com/kb/269643/
)
因為連線至 IIS 的不足,無法緩衝區的運作不到網際網路總管 Kerberos 驗證 264921?
(http://support.microsoft.com/kb/264921/
)
IIS 驗證瀏覽器用戶端的方式 248350?
(http://support.microsoft.com/kb/248350/
)
Kerberos 驗證失敗,則從 IIS 4.0 升級到 IIS 5.0 之後 294382?
(http://support.microsoft.com/kb/294382/
)
如果從一台伺服器的 NetBIOS 名稱不同網站的 「 主機頁首 」 驗證可能失敗 401.3 」 的錯誤 217098?
(http://support.microsoft.com/kb/217098/
)
在 Windows 2000 中的 Kerberos 驗證的基本概觀 283201?
(http://support.microsoft.com/kb/283201/
)
如何在 Windows 2000 使用 COM + 中使用委派 299838?
(http://support.microsoft.com/kb/299838/
)
無法交涉 Kerberos 驗證升級至 Internet Explorer 6 之後 230476?
(http://support.microsoft.com/kb/230476/
)
Kerberos 相關的常見錯誤,在 Windows 2000 中的描述 320903?
(http://support.microsoft.com/kb/320903/
)
用戶端無法透過 TCP 使用 Kerberos 登入 235529?
(http://support.microsoft.com/kb/235529/
)
Kerberos 支援 Windows 2000 為基礎的伺服器叢集上 929650?
(http://support.microsoft.com/kb/929650/
)
如何使用服務主要名稱,當您在 IIS 6 上設定裝載的 Web 應用程式 Kerberos 常見問題集包含 Kerberos 通訊協定的相關額外資訊:http://www.faqs.org/faqs/kerberos-faq/general/index.html
(http://www.faqs.org/faqs/kerberos-faq/general/index.html)
機器翻譯重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。 按一下這裡查看此文章的英文版本:326985?
(http://support.microsoft.com/kb/326985/en-us/
)
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。 | 其他資源 其他支援網站社群文章翻譯 |






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email



回此頁最上方