為什麼我需要 Pre-Windows 2000 Compatible Access 來列舉組成員身份?
我正在嘗試鎖定安全性,包括刪除 UNIX 外掛創建的洩露密碼雜湊。我從 Pre-Windows 2000 Compatible Access 組中刪除了 Authenticated Users。然而,在這樣做之後,一小部分使用者無法登錄各種非 Windows 設備,如 Redmine、Subversion、我們的 VPN 等。這些服務使用 ldapbind 使用者帳戶進行身份驗證,然後使用 SSL LDAP 對 AD 進行身份驗證並檢查組成員身份。我們還使用執行 SSSD 的 Linux 機器,這些機器通過 Kerberos 進行身份驗證並使用 LDAP 檢查組成員身份。
我發現的問題是無法為少量使用者列舉組成員身份。他們可以被認證但不能被授權。例如,如果我登錄 Linux 機器並執行“id user”,則不會為這些使用者找到任何內容。但是“id user”會返回大多數使用者的資訊。我想不出有效的使用者帳戶和無效的使用者帳戶之間有什麼區別。會發生什麼?
您從 Pre-Windows 2000 Compatible Access 中刪除了 Authenticated Users,以防止使用者相互讀取 UNIX 密碼雜湊。Pre-Windows 2000 Compatible Access 有權讀取大多數對象的幾乎所有屬性,並且是大多數非管理員安全主體讀取對象屬性的方式。
memberOf
通過讀取屬性來確定使用者的組成員身份,unixUserPassword
並且現在刪除了大多數使用者讀取屬性的能力。處於受保護組中的使用者沒有被破壞但不在受保護組中的使用者被破壞的原因是,奇怪的是,AdminSDHolder 授予讀取受保護對象屬性的權限比不受保護對象的權限更大。沒有“正確”的答案可以解決您的問題,因為首先將機密數據儲存在 AD 中通常不是一個好主意(這正是原因)。您可能會考慮設置機密性位。我從來沒有做過,但是這篇知識庫文章詳細介紹了:如何在 Windows Server 2003 Service Pack 1 中將屬性標記為機密