我试图locking安全性,包括删除UNIX插件创build的泄漏密码哈希。 我从预Windows 2000兼容访问组中删除了经过身份validation的用户。 但是,这样做后,一小部分用户不能login到Redmine,Subversion,VPN等各种非Windows事件。这些服务使用ldapbind用户帐户进行身份validation,然后使用SSL LDAP对AD进行身份validation并检查组成员身份。 我们还使用运行SSSD的Linux机器,通过Kerberos进行身份validation,并使用LDAP检查组成员身份。
我发现的问题是无法为less量的用户枚举组成员身份。 他们可以被authentication,但不被授权。 例如,如果我login到一个Linux机器上,做“id用户”,这些用户什么也找不到。 但是“id用户”会返回大部分用户的信息。 我想不出用户帐户和不用用户帐户之间的区别。 会发生什么事?
您从预Windows 2000兼容访问中删除了经过身份validation的用户,以防止用户彼此读取UNIX密码哈希值。 Windows 2000以前版本的Compatible Access有权读取大部分对象的几乎所有属性,大多数非pipe理员安全主体是如何读取对象属性的。 通过阅读memberOf属性为用户确定组成员身份,并且像unixUserPassword一样,大多数用户阅读它的能力现在被删除。 被保护组中的用户没有被破坏,而不在保护组中的用户被破坏的原因是,奇怪的是,AdminSDHolder授予更多的权限来读取受保护对象的属性,而不是不受保护的对象。
没有“正确的”答案来解决你的问题,因为把机密数据存储在AD中通常不是一个好主意(这正是这个原因)。 您可能会考虑设置机密性位。 我从来没有这样做,但这个知识库文章详细介绍了: 如何在Windows Server 2003 Service Pack 1中将属性标记为机密