Active-Directory

不在域中的工作站的 Kerberos 身份驗證

  • July 15, 2020

我對 Kerberos 在 Active Directory 環境中的工作方式及其在網路上對使用者和工作站進行身份驗證所使用的方法有基本的了解,但我的問題是……因為 Kerberos 依賴於發布最終使用者用來訪問的安全令牌網路資源,不在域中的系統(筆記型電腦)如何僅​​使用活動目錄使用者的使用者名和密碼訪問相同的網路資源?

我想如果只使用使用者憑據,Kerberos 會生成一個安全令牌並將其發布給系統,這會更有意義,但似乎應該有更多的安全性來防止非域系統訪問網路資源。

如果有人能啟發我,我將不勝感激!

在這種情況下使用 NTLM…

http://msdn.microsoft.com/en-us/library/windows/desktop/aa378749(v=vs.85).aspx

http://en.wikipedia.org/wiki/NTLM

不在域中的系統(筆記型電腦)如何僅​​使用活動目錄使用者的使用者名和密碼訪問相同的網路資源?

這取決於涉及哪些“網路資源”。在您登錄的已加入域的 Windows 電腦上,至少有兩個客戶端 Kerberos 身份在使用:

  • 你,使用者@DOMAIN
  • 電腦,工作站$@DOMAIN

還有host/workstation@DOMAIN,但這通常是在主機上執行的服務的標識,可以從其他地方訪問。如果主機上的特權程序想要做某事——例如,使用 Kerberos 認證的動態 DNS 將其名稱添加到 DNS——它將使用它的身份來執行此操作,工作站 $@DOMAIN。但是,如果您在登錄會話中自己訪問某些資源(例如 CIFS 網路共享或經過身份驗證的 HTTP URL),則客戶端身份是您的主體名稱 user@DOMAIN(使用您輸入的登錄密碼)。從您的問題來看,您似乎認為涉及某種組合;不是,它們是分開的。

這就是使用 Kerberos 從其他平台訪問基於 Windows 的資源沒有問題的原因。您也可以在 Linux 框中鍵入“kinit 使用者”,輸入密碼以從域控制器獲取 Kerberos 憑據 (TGT),然後使用 Firefox 訪問 IIS 上的 Kerberos 身份驗證網頁。所有這些的協議都是標準的,除了你的使用者憑證之外你不需要任何東西。

先前的回答聲稱在這種情況下需要 NTLM;那是錯誤的(儘管肯定可以使用它)。但是,當您從非域電腦訪問某些資源並提示您輸入使用者名和密碼時,您不一定知道實際使用的是哪種身份驗證方法。它可能使用 Kerberos。它也可能只是回退到基於密碼的機制,它將您的使用者名和密碼發送到伺服器進行驗證,然後記憶體您的密碼,這樣您就不必重新輸入它。許多協議都允許通過像 SASL 這樣的抽象方案。您必須查看電線以了解發生了什麼。

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