С помощью метода ADSI SetPassword, как пароль передается на сервер AD

Мой вопрос заключается в том, как ADSI выполняет операцию SetPassword. Согласно тому, что я прочитал, ADSI является COM-интерфейсом и имеет больше возможностей, чем AD предоставляет через LDAP. Хотя предполагается, что вы обновите атрибут unicodePwd объекта personaccount через LDAP, ADSI предоставляет вам вызов SetPassword. Я знаю, что ADSI & AD предоставляет Kerberos во время аутентификации. Так как пароль передается на сервер при вызове SetPassword? Это необработанные двоичные незашифрованные данные? Или Kerberos входит в игру по этому вызову?

1 ответ

Решение

Во-первых, SetPassword пытается использовать ldap через ssl. затем Kerberos, а затем NetUserSetInfo. Итак, насколько я могу судить, во всех случаях это безопасно на проводе. Но это также довольно медленно.

Это не так в Адаме - он использует пароли в открытом виде. Остерегайтесь обёрток, которые говорят с Адамом вместо "правильного" объявления.

Более быстрый способ - использовать IDirectoryObject и установить атрибут unicodePwd через это. Поскольку это можно сделать только с помощью безопасной привязки к AD, пароль защищен.

Другие вопросы по тегам