我正在運行Tomcat 8 Web服務器。我想強制用戶使用Kerberos SSO身份驗證。所以我禁用了服務器上的所有NTLM通信。在AS-REP階段後Kerberos身份驗證停止
在我的調試環境中,使用this guide的所有內容都能平穩運行。 當移動到我的作品時,使用不同的域和服務器,認證失敗。
在比較的兩種環境的客戶Wireshark的結果,我發現成功連接到服務器包含以下包:
HTTP GET (client -> sever)
HTTP 401 Unauthorized (server -> client) (WW-Authenticate: Negotiate)
AS-REQ (client -> DC)
KRB Error: KRB5KDC_ERR_PREAUTH_REQUIRED (DC -> client) (I understand that this is normal?)
AS-REQ (client -> DC)
AS-REP (DC -> client)
TGS-REQ (client -> DC)
TGS-REP (DC -> client)
在我的生產環境中,使用類似的客戶端和服務器端配置(據我所知),客戶端在AS-REP數據包後停止,而不是請求帶有TGS-REQ數據包的票證,而是立即發送HTTP GET NTLMSSP_NEGOTIATE數據包
我無法找到原因爲此發生。我比較了兩個客戶端之間的類似數據包,我找不到任何區別。看起來客戶端在從服務器接收到AS-REP後才放棄,而不是請求Kerberos票據,而是決定使用NTLM身份驗證。
我打開Kerberos的記錄,我收到任何錯誤,並且有在AS-REP和NTLM請求之間沒有數據包(除了TCP FIN數據包發送到DC)
有誰知道什麼可能導致這樣的問題?我一直在尋找,似乎無法找到關於這個問題的很多信息。