我在Windows 2012R2机器上设置了Active Directory。 我一直试图禁用匿名绑定到AD,但还没有想出如何做到这一点。 因此,我可以使用IP地址和LDAP浏览器等程序绑定到AD。
我怎样才能禁用匿名绑定?
Active Directory(过去的Windows 2000)默认情况下不允许除rootDSEsearch以外的匿名操作。 所以,如果您能够匿名绑定到Active Directory,那意味着两件事情之一。 或
应该允许匿名绑定到RootDSE,因为RootDSE是大多数应用程序获得有关目录的信息以完成进一步绑定的方式,例如各种分区的可分辨名称等。RootDSE中不包含敏感信息,匿名绑定到RootDSE是它是如何devise的。 如果应用程序无法匿名绑定到RootDSE,事情将会中断。
例如,如果应用程序想知道绑定到AD的支持哪种身份validation机制,它可以从RootDSE的supportedSASLMechanisms属性获取该信息,但是当然这必须在进行任何身份validation之前进行,因为你甚至不知道你允许使用哪种authentication机制。
阅读: https : //msdn.microsoft.com/en-us/library/ms677945(v=vs.85).aspx
现在在第二种情况下,假设您已经为非RootDSE操作启用了对AD的匿名绑定,则通过更改以下目录对象上dsHeuristics属性的第七个字符来禁用该属性:
CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,Root domain in forest
dsHeuristics属性的有效值为0和2.默认情况下,dsHeuristics属性不存在,但其内部默认值为0.如果将第七个字符设置为2,则匿名客户端可以执行访问控制所允许的任何操作列表(ACL)。 如果属性已经设置,请不要修改第七位以外的dsHeuristicsstring中的任何位。 如果没有设置该值,请确保提供前七个位的前导零。 您可以使用Adsiedit.msc对dsHeuristics属性进行更改。
为了进一步澄清,目前没有办法禁用匿名绑定到RootDSE。 这不是一个Active Directory特定的事情。 这是LDAP v3规范的一部分。
阅读: https : //technet.microsoft.com/en-us/library/cc755809%28v=ws.10%29.aspx
阅读: http : //www.selfadsi.org/bind.htm