2017-08-31 88 views
0

在Windows客戶端和Active Directory服務器之間的網絡捕獲,我看到現場cname-string包含[email protected](準確地說,它是場as-req - >req-body - >cname - >cname-string - >CNameString)。AS-REQ的cname-string部分是否可以包含域?

根據第5.2.2節中的RFC 4130。領域和生成PrincipalName:

名稱字符串: 此字段編碼形成的名稱,編碼爲每個KerberosString部件 成分的序列。綜合起來,一個 PrincipalName和一個領域形成一個主體標識符。大多數 PrincipalNames將只有少數組件(通常一個或 兩個)。

也在5.3節。門票:

CNAME 該字段包含客戶端的主要 標識的名稱部分。

對我來說,這意味着cname應該只包含沒有域的用戶名。域是通過領域獲得的,並且它們一起形成主體標識符(基本上在此解釋RFC)。

我錯了嗎?你有沒有遇到過域名是cname的一部分的設置?目標服務如何處理?我發現領域再次被添加到cname,導致user @ domain.com @ domain.com,這明顯阻止了正確的匹配。

+0

這是Active Directory嗎? –

+0

是的,這是Active Directory。 – Martin

回答

1

至少有一種情況會發生:企業負責人。您應該可以看到NT-ENTERPRISE以及CANONICALIZE位設置。 AD爲所提供的企業負責人提供upnSuffix。另請參閱RFC 6806

+0

事實上,原因似乎是'NT-ENTERPRISE'這個名稱(在Windows中稱爲'KRB_NT_ENTERPRISE_PRINCIPAL',在Wireshark中它是'kRB5-NT-ENTERPRISE-PRINCIPAL')。但是,在我的情況下,沒有設置upnSuffix,所以這是可選的。 – Martin

+0

Windows始終設置此主體類型和canocalize標誌,因爲它不會在登錄時知道傳遞的主體是隱式還是顯式的。 KDC將爲客戶做其餘的事情。 –

相關問題