Solicitar credenciales completas durante la elevación de privilegios en Windows (UAC)

El objetivo deseado es que se solicite no solo la confirmación, sino también la autenticación del usuario cada vez, para aumentar la seguridad.

Solicitar credenciales completas durante la elevación de privilegios en Windows (UAC)

Motivación y resultado deseado

Cuando una aplicación necesita elevación de privilegios (permisos de Administrador) para ejecutarse, suele aparecer una pantalla similar a la siguiente:

Captura de pantalla de elevación para instalar AutoFirma, con dos botones: Sí y No.

El objetivo deseado es que se solicite no solo la confirmación, sino también la autenticación del usuario cada vez, para aumentar la seguridad (siempre teniendo en cuenta que es recomendable no trabajar con un usuario con permisos de Administrador sobre el equipo). Tal que así:

💡
Si el equipo dispone de lector de huella dactilar u otro método biométrico compatible con Windows Hello, este podrá usarse; no siendo necesario introducir usuario+contraseña.

Proceso

1-Evitar que se muestren las cuentas durante la elevación

Hemos de usar el editor de directivas de grupo local (Win+R, gpedit.msc), y editar la clave Enumerar las cuentas de administración al realizar una elevación, en la ruta: Configuración del equipo > Plantillas Administrativas > Componentes de Windows > Interfaz de usuario de credenciales.

Se ha de marcar la opción deshabilitada. De esta forma, los usuarios siempre deberán escribir un nombre de usuario y una contraseña para realizar la elevación.

Captura de pantalla del Editor GPO

2-Requerir usuario y contraseña durante la elevación

Además de no mostrar el nombre de usuario, al activar esta opción hacemos que sea necesaria la autenticación completa:

Captura del Editor de Registro mostrando la opción ConsentPromptBehaviorAdmin

Hemos de abrir el Editor de Registro (Win+R > regedit) y buscar la clave SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\ConsentPromptBehaviorAdmin. Esta entrada permite definir 6 valores distintos.

En nuestro caso, se establecerá el valor 1: This option prompts the Consent Admin to enter his or her user name and password (or another valid admin) when an operation requires elevation of privilege. This operation occurs on the secure desktop.


¿Alguna duda?

No dudes en ponerte en contacto conmigo para cualquier duda, sugerencia, queja o aclaración que creas necesaria. ¡Será un placer hablar contigo!


Nota: para realizar las capturas de pantalla de la ventana de credenciales UAC ha sido necesario definir el valor de la clave ConsentPromptBehaviorAdmin en 3, para evitar que esta abriera en el Escritorio Seguro.