Ubuntu

RODC 背後的 Kerberos 身份驗證問題

  • January 14, 2017

我們在哥斯達黎加有一個分支機構,當時我們使用 AD 實現了 Squid 代理和 SSO,它執行良好。就在最近,我們在現場實施了 RODC。一旦發生這種情況,沒有人能夠進行身份驗證,我也無法解決這個問題。我刪除了用於 kerberos 身份驗證的 AD 對象並執行了以下命令:

msktutil -c -b "CN=COMPUTERS" -s HTTP/PROXY.domain.com -k /etc/squid3/PROXY.keytab --computer-name PROXY-K --upn HTTP/PROXY.domain.com --server dc1.domain.com --verbose

此命令實際上在 AD 中創建對象,但不設置密碼。我收到以下錯誤:

錯誤:krb5_set_password_using_ccache 失敗(無法聯繫任何 KDC 請求的領域)錯誤:set_password 失敗

我已經確定這台機器可以解析域控制器。

在這一點上,我迷路了。斷斷續續地為此奮鬥了一個月,真的可以使用一些指導。我有另外四個相同的 squid 代理,它們不位於 RODC 後面並且可以正常工作。

我決定使用最新版本的 msktutil 在更高版本的 Ubuntu 上建構一個新代理,它實際上可以工作。我想我會在下一個維護視窗期間遷移所有數據並交換 IP。

我假設 RODC 執行正常,即:Kerberos 正常,AD DS 啟動並執行,等等?

我認為我的下一步是擷取網路跟踪,僅過濾 DNS 和 Kerberos,然後查看客戶端在做什麼。

— 07/01/2017 —

我可以看到 172.26.48.25 和 172.21.1.19 之間發生了 Kerberos 握手。但是,兩個 AS-REQ(身份驗證服務請求)響應失敗,經常看到 KRB5KDC_ERR_PREAUTH_REQUIRED。這在 Kerberos 5 中預計會出現一次。看到它兩次很奇怪,通常表明 KDC 和 Kerberos 客戶端之間存在時間同步問題。

但是,我們隨後看到客戶端請求服務票證。KDC 的票證授予服務 (TGS) 部分以 KRB5_NT_UNKNOWN(Kerberos 名稱類型未知)進行響應。因此,我可能會對該錯誤進行更多調查,因為如果初始身份驗證失敗,我通常不會期望客戶端繼續請求服務票證。

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