Active-Directory

代理 Kerberos 身份驗證 - Kerberos 服務票證問題

  • November 1, 2015

我有一個能夠通過 Kerberos 對使用者進行身份驗證的 BlueCoat ProxySG。它設置為“代理”,因此它需要對每個新的 TCP 連接進行使用者身份驗證。使用者擁有單點登錄,並且當網路服務提示時,他們的 PC 會自動傳遞他們的 Windows 登錄憑據。問題在於,在具有許多後台連接的站點(本例中為 www.bbc.com)上,使用者將在很長時間後開始接收憑據彈出視窗(此時大部分頁面和圖片已經載入)。我相信這發生在每個使用本網站的使用者身上。

在來自使用者 PC 的數據包擷取中,Kerberos 身份驗證似乎正在處理每次連接嘗試(GET 和 CONNECT 請求),因為使用者使用 GET/CONNECT 請求正確傳遞了服務票證。但是突然之間開始聯繫 KDC 以獲取新的服務票證……在這種情況下,它實際上會出現 PRE_AUTH_REQUIRED 錯誤,並且必須在再次嘗試代理的 TGS_REQ 之前從 KDC 獲取新的 KRBTGT。這是憑據的彈出視窗似乎發生的時候。

  • 我的理解是服務票儲存在使用者的路邊托盤中,可以重複使用,直到需要更新(如票本身的更新日期所述)。這是正確的理解嗎?
  • 為什麼代理會突然需要一張不同的票?
  • 當 Kerberos 不工作時,BlueCoat ProxySG 應該自動回退到 NTLM,為什麼不這樣做呢?(不使用 Kerberos 作為主要身份驗證方法時,NTLM 工作正常)

提前致謝!

事實證明,問題根本不在於 Kerberos。有兩個身份驗證領域設置 - 1 個用於 IWA Direct,1 個用於 IWA BCAAA。BCAAA 領域沒有 kerberos 身份驗證。在連接到 bbc.com 時,使用者使用 Kerberos 領域進行身份驗證。由於將身份驗證過程設置為代理,因此每次新的連接嘗試都需要進行身份驗證。但是,BBC 網站(可能是某個廣告網站)上的背景 URL 遇到了另一個身份驗證策略規則,該規則列在 Kerberos 身份驗證策略規則之前。它設置為代理 IP(使用 IP 代理每 15 分鐘進行一次身份驗證),並且只有 NTLM 和基本身份驗證可用。因此,當站點會話的其餘部分由 Kerberos 領域授權時,它會顯示一個授權彈出視窗。

引用自:https://serverfault.com/questions/729834