簡介
本文檔介紹在客戶端使用NEGOEXTS時,如果身份驗證透過思科網路安全裝置(WSA)失敗,如何覆蓋此問題。
背景資訊
思科網路安全裝置(WSA)可以根據使用者或組對應用策略的使用者進行身份驗證。可用的方法之一是Kerberos。使用Kerberos作為身份中的身份驗證方法時,WSA會以401(透明)或407(顯式)HTTP響應來響應客戶端的HTTP請求,其中包含標頭WWW-Authenticate: Negotiate。 此時,客戶端傳送一個帶有Authorization: Negotiate報頭的新HTTP請求,該報頭包含通用安全服務應用程式介面(GSS-API)和簡單保護協商(SPNEGO)協定。在SPNEGO下,使用者顯示它所支援的mechTypes。以下是WSA支援的mechType:
- KRB5 - Kerberos驗證方法,如果使用者端上支援並正確設定Kerberos,且存取的服務有有效的Kerberos票證,則使用此方法
- NTLMSSP-當沒有有效的Kerberos票證可用但支援協商身份驗證方法時,使用的Microsoft NTLM安全支援提供程式方法
問題:當客戶端使用NEGOEXTS時,身份驗證透過WSA失敗
在較新版本的Microsoft Windows中,支援名為NegoExts的新身份驗證方法,它是協商身份驗證協定的擴展。此mechType被認為比NTLMSSP更安全,當僅支援的方法是NEGOEXTS和NTLMSSP時,客戶端會首選此方法。您可以在此連結中找到更多資訊:
協商身份驗證軟體套件的擴展簡介
此情況通常發生在選擇協商身份驗證方法且沒有KRB5 mechType時(最可能的原因是缺少WSA服務的有效Kerberos票證)。如果客戶端選擇NEGOEXTS(在wireshark中可能顯示為NEGOEX),則WSA無法處理身份驗證事務,且客戶端的身份驗證失敗。發生此情況時,驗證日誌中會顯示以下日誌:
14 Nov 2016 16:06:20 (GMT -0500) Warning: PROX_AUTH : 123858 : [DOMAIN]Failed to parse NTLMSSP packet, could not extract NTLMSSP command14 Nov 2016 16:06:20 (GMT -0500) Info: PROX_AUTH : 123858 : [DOMAIN][000] 4E 45 47 4F 45 58 54 53 00 00 00 00 00 00 00 00 NEGOEXTS ........
當身份驗證失敗時,會發生以下情況:
如果啟用了訪客許可權,則客戶端被分類為未經身份驗證,並重定向到網站
如果停用訪客許可權,則客戶端會看到另一個401或407(取決於代理方法),其餘的身份驗證方法顯示在響應報頭中(不會再次顯示Negotiate)。如果配置了NTLMSSP和/或基本身份驗證,則可能會出現身份驗證提示。如果沒有其他身份驗證方法(僅針對Kerberos配置身份),則身份驗證會失敗。
解決方案
此問題的解決方案是從身份中刪除Kerberos auth -或-修復客戶端,以使其獲得WSA服務的有效Kerberos票證。