Restablecer contraseña de usuarios en Active Directory por cuenta de administrador de dominio u otra cuenta de servicio

8

En Active Directory, puede establecer y aplicar reglas donde los usuarios tienen que usar una contraseña segura, no pueden usar las últimas 5 o más contraseñas que ya tenían, aplicar la complejidad de la contraseña. ¿Hay alguna manera de hacer cumplir esa configuración de modo que si una cuenta de servicio (servicio web de restablecimiento de contraseña) intenta establecer una nueva contraseña para el usuario, se verifique contra la política y sea aceptada o denegada?

Parece que, dado que la cuenta de servicio está obligando a cambiar la contraseña, el usuario puede escribir la misma contraseña a través de la interfaz web y seguir usando la misma contraseña una y otra vez. Dado que es una cuenta de servicio que cambia la contraseña para él, no se verifica con las últimas contraseñas conocidas, por lo tanto, las reglas de contraseña no se aplican

Si bien el programador podría codificar una comprobación de complejidad, las últimas contraseñas utilizadas no pueden verificarse en la interfaz web porque el servicio web no tiene el conocimiento de las últimas contraseñas.

¿Es posible forzarlo para que dicho cambio de contraseña por cuenta de servicio también esté restringido como lo estaría el cambio de contraseña de usuario normal?

Chico loco
fuente

Respuestas:

9

En AD hay dos tipos de operaciones para cambiar la contraseña de un usuario: un cambio , que se puede ejecutar de forma anónima porque requiere la contraseña anterior como parte de la solicitud, y un restablecimiento , que no requiere la contraseña anterior y debe hacerse por un usuario con acceso para poder restablecer las contraseñas de la cuenta a la que se dirige.

En este caso, la aplicación de software está realizando la operación de restablecimiento, sin conocer la contraseña anterior del usuario, pero autenticada como presumiblemente una cuenta de servicio con los derechos necesarios.

Desde la perspectiva de AD, la contraseña se restablece administrativamente; el historial de contraseñas nunca se aplica en este caso, ya que el administrador que realiza el restablecimiento no debe conocer las contraseñas antiguas del usuario; si tiene la costumbre de configurar el nuevo pase, por ejemplo Thursday1, si no cumple con la política en una operación de restablecimiento Ser bastante confuso.

Si bien es una experiencia de usuario deficiente, el mejor mecanismo en el que puedo pensar para manejar esto sería hacer que la aplicación web restablezca la contraseña (tal vez a algo que no ingresan, solo se genera) y luego configure el "debe cambiar la contraseña en el próximo inicio de sesión "marca en la cuenta para obligar al usuario a realizar de inmediato una operación de cambio de contraseña, que impondrá el historial.

Hay una discusión sobre el uso de las API de LDAP en .Net para lograr el objetivo de aplicar el historial en este tipo de reinicio aquí , pero no estoy seguro de si esta será una opción para usted dependiendo de la aplicación que esté utilizando; si controlas el código y la biblioteca LDAP que estás usando admite controles, entonces debería ser factible.

Shane Madden
fuente
Es posible implementar un cambio de contraseña, como lo describe, en una aplicación web. OWA hace esto, y mi universidad tiene una aplicación personalizada que también lo hace. Requiere que el usuario ingrese la contraseña anterior y luego la contraseña nueva dos veces, como es estándar. No conozco la programación detrás de eso, ese sería un tema más adecuado para SO.
Thomas
Aquí hay una aplicación web shareware que realiza esta función. No he probado y NO apruebo esta aplicación, solo la comparto para demostrar que la funcionalidad existe. softpedia.com/get/Internet/Servers/Server-Tools/…
Thomas
@Thomas Supongo que la aplicación que está usando es para restablecer la contraseña de autoservicio cuando el usuario ha olvidado su contraseña (pero tiene algún tipo de autenticación impuesta por el servicio web, como una pregunta de seguridad), lo que haría imposible el mecanismo de "cambio" . De lo contrario, definitivamente, ¡solo use la operación de cambio!
Shane Madden
Ya veo, el OP no explicó si ese era el caso, pero podría tener razón.
Thomas