使用 ADSI SetPassword 方法如何将密码传输到 AD 服务器
我的问题是 ADSI 如何执行 SetPassword 操作。根据我所读到的内容,ADSI 是一个 COM 接口,它比 AD 通过 LDAP 提供的功能更多。当您假设通过 LDAP 更新个人帐户实体的 unicodePwd 属性时,ADSI 为您提供 SetPassword 调用。我知道 ADSI 和AD 在身份验证期间提供 Kerberos。那么调用SetPassword时密码是如何传输到服务器的呢?它是原始二进制未加密数据吗?或者 Kerberos 是否会在这次调用中发挥作用?
My question is how ADSI performs SetPassword operation. According to what I have read ADSI is a COM interface and it has more capabilities than AD provides through LDAP. While you are suppose to update unicodePwd attribute of a personaccount entity through LDAP, ADSI provides you SetPassword call. I know that ADSI & AD provides Kerberos during authentication. So how the password is transmitted to server when SetPassword is called? Is it raw binary unencrypted data? Or does Kerberos comes into play at this call?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
首先,SetPassword 通过 ssl 尝试 ldap。然后是 kerberos,然后是 NetUserSetInfo。因此,据我所知,在所有情况下它都安全地在线上。但它也很慢。
Adam 中的情况并非如此 - 它使用明文密码。谨防与 Adam 对话而不是“正确的” AD 对话的包装器。
更快的方法是使用 IDirectoryObject 并通过它设置 unicodePwd 属性。由于这只能通过安全绑定到 AD 来完成,因此密码受到保护。
Firstly, SetPassword tries ldap over ssl. then kerberos, and then NetUserSetInfo. So, as far as I can tell, in all cases it is secure on the wire. But it is also quite slow.
This is NOT the case in Adam - it uses cleartext passwords. Beware of wrappers that talk to Adam instead of 'proper' AD.
A faster way is to use IDirectoryObject and set the unicodePwd attribute through this. Because this can only be done with a secure bind to AD, the password is protected.