PDA

Показать полную графическую версию : Смена пароля в AD через одноразовую ссылку


pogo
21-04-2016, 11:58
Доброго времени суток!
Подскажите, как можно реализовать на Windows Server схему смены пароля через одноразовые ссылки?
Кейс: для пользователя была создана сервиснвя учетная запись со сложным и длинным паролем. Варианты передачи - отсылка в разные месенджеры\почты\прочее кусков этого пароля в plaintext. Что было бы избежать засвечивания пароля, было бы удобнее скинуть пользователю одноразовую ссылку, проходя по которой пользователь бы попадал на страницу со меной пароля. Что-то аналогичное реализовано на форумах при регистрации и смены пароля, нужно тоже самое, но с привязкой к AD.
Частичный функционал реализован тут (http://unopasscore.codeplex.com/) , но там происходит смена старого пароля на новый ручным вводом и того и другого. Можно ли в этот сервис как-то подставлять пароли и из этого всего генерировать одноразовую ссылку для пользователя?

P.S. если создал не в той теме, просьба админов перенести куда следует.

AkP
21-04-2016, 12:11
А чем вам галочка в АД, "требовать смену пароля", автоматически делающая переданный пользователю пароль одноразовым, не нравится? Или это для какого-то веб-приложения с аутентификацией через АД?

pogo
21-04-2016, 12:20
AkP,
Не нравится тем, что для этого необходимо под этой учёткой войти в систему, что для сервисных учёток не очень подходит.

AkP
21-04-2016, 12:55
сервисных учёток »
Я думаю требуется пояснение, что Вы подразумеваете под "сервисной учеткой", которая передается пользователю. который должен ей пароль поменять и потом что? что он с ней делает? в чем ее "сервисность"?

pogo
21-04-2016, 12:59
AkP,
Не думаю, что это сильно имеет отношение к первоначальному вопросу, но поясню.
Пользователь, например DBA, отвечающий за SQL. "сервисная учётная запись" - учётная запись от которой будет работать MS SQL.
Второй пример - УЗ, из под которой будет выполняться определённая задача через планировщик.

Telepuzik
21-04-2016, 13:16
"сервисная учётная запись" - учётная запись от которой будет работать MS SQL. »
Для смены паролей сервисных служб можно использовать Управляемые учётные записи служб (Managed Service Accounts) (https://habrahabr.ru/post/204780/). Для SQL этот функционал как раз поддерживается.

AkP
21-04-2016, 13:43
Не думаю, что это сильно имеет отношение к первоначальному вопросу »
Скорее нет, чем да, просто сбивает с толку "пользователю".
Если вы передаете запись админиистратору БД, к примеру, возникает вопрос, почему он не может сменить пароль с командной строки? дайте ему учетку, можно с отключением интерактивного входа, делегируйте ему управление ею, и можно даже пароль не передавать, только ее имя, что в общем то более чем безопасно для передачи, в том числе по открытым каналам. Без смены пароля он не сможет ее использовать, а первоначальный пароль остался только в вашей голове. Ни кто кроме данного "пользователя" не сможет сменить ей пароль. Ну если это все же "пользователь", то ничего не меняется, передайте ему имя учетной записи и обычный скрипт с названием "запустить для установки пароля" ) Вы веть можете написать запрос пароля и передачу его в dsmod user? такой скрипт будет работать только от имени этого пользователя, пароль первоначальный не знает никто, передавать можно обычным письмом открытым текстом.
Для смены паролей сервисных служб можно »
Вполне подходит, если нужна автоматическая смена пароля, но тут то ли задача нетипичная, то ли...Я думаю требуется пояснение »

pogo
21-04-2016, 13:54
Telepuzik,
Спасибо, для расширения кругозора почитал, но данный вариант не решает проблемы, тут SQL, был как пример. В реальности эти ещё куча проприетарного софта типа 1с, видеонаблюдения и ему подобного и не уверен что каждый из сервисов поддерживает подобный инструмент.
AkP,
У вас каждый DBA имеет доступ к оснасткам AD или знает как сбросить пароль для УЗ через командную строку\powershell? А если это 1с-ки? Или человек поддерживающий специфичный продукт? Ну а уж про пользователей и говорить нечего.
Вариант со скриптом тоже не подходит, это всё лишние телодвижения для пользователей поддерживающих свои спец продукты, которые под частую с администрированием вообще не пересекаются.

Спасибо откликнувшимся, но не хочу разводить холивар по поводу того, что это можно сделать через другие костыли. Интересует именно смена пароля через одноразовые ссылки. Если кто-то сталкивался с такой проблемой или может подсказать в какую сторону гуглить, буду очень признателен если подскажите.

AkP
21-04-2016, 14:17
немного удивлен..
к оснастке АД имеет доступ любой пользователь, только поменять он там ничего не может.
dsmod user <UserDN> -pwd <Password> -mustchpwd no - штатное средство, где вместо <Password> переменная с результатом предыдущей строки запроса или параметра запуска
Если "костыль" в 2 строки Вам не подходит..., то видимо Вам виднее, наверно так нужно.

pogo
21-04-2016, 14:27
AkP,
Только для начала надо пустить пользователя на контроллер домена, что бы он смог посмотреть эту оснастку или разрешать доступ подключения с его рабочей станции в сегмент где КД живут, оба варианта не приемлемы.
За вариант спасибо Вам.
Но задача стоит реализовать именно так (или максимально близко) как описано в первом посте.

snark
21-04-2016, 14:49
Можно менять пароль пользователя через web-интерфейс RDWeb (инструкция: http://woshub.com/allow-users-to-reset-expired-password-via-rd-webaccess-windows-server-2012/).

pogo
21-04-2016, 15:02
snark,
Если я правильно понял, там для смены пароля, необходимо ввести старый пароль, а в этом и заключается трудность, что бы старый пароль пользователю не передавать.
Похож на аналог инструмента что я приводил в первом посте, но штатными средствами.




© OSzone.net 2001-2012