Pagina web y blog personal de David Pascual Rocher. Administrador de sistemas y desarrolador web.

Restringir una cuenta de usuario administrador (o no) a que solo pueda ejecutar ciertos programas en windows 10

Publicat el 2021-04-28 per David Pascual
 

Hace poco me ha aparecido una casuística que no veía desde los tiempos de windows xp, el permitir a un usuario el arrancar una aplicación con permisos de administrador local ya que sin ellos la aplicación no funciona (hay desarrolladores que simplemente quieren ver el mundo arder).

El caso es que en windows xp la solución a este problema era relativamente sencilla, simplemente con dejar un acceso directo en el escritorio que con el siguiente contenido:

runas /user:nombre-maquina\nombre-administrador /savedcred "L:\a\ruta\al\ejecutable.exe"

Ejecutándolo tu mismo e introduciendo la contraseña del administrador local una vez, el usuario podía arrancar ese programa como administrador sin saber la contraseña del mismo.

A partir de windows 7, si intentamos usar este “truquillo” del runas nos aparecerá el siguiente mensaje:

Error 740: La operación solicitada requiere elevación

La solución mas rápida para permitir al usuario ejecutar el programa seria deshabilitar el UAC, pero esta solución no es en absoluto recomendable. No obstante se puede conseguir una màquina en donde un usuario (en nuestro caso un administrador de la maquina) solo pueda ejecutar un programa y nada mas.

Crear usuario para ejecutar el programa

Crearemos un usuario administrador local, en nuestro caso, ya que el programa en cuestión necesita de permisos de administrador.

New-LocalUser -AccountNeverExpires -UserMayNotChangePassword -PasswordNeverExpires -Name "usuario-programa"
Add-LocalGroupMember -Group "Administradores" -Member "usuario-programa"

Configurar políticas locales para limitar ejecución de programas para el usuario

Abrir editor de políticas para un usuario en concreto del equipo local.

Win + R y ejecutaremos mmc

Ejecutar Microsoft Management Console

Una vez que tengamos la MMC abierta añadiremos el complemento mediante la entrada de menú Archivo –> Agregar o quitar complemento…“ o mediante el shortcut Ctrl + M:

Agregar complemento a la consola

Cuando se nos abra el cuadro de dialogo de Agregar o quitar complementos buscaremos la entrada de Complementos disponibles: Editor de objetos y directivas de grupo y pulsaremos en Agregar:

Agregar Editor de objetos y directivas de grupo

En el asistente que nos aparecerá pulsaremos sobre el botón Examinar…:

Agregar Editor de objetos y directivas de grupo 02

En la ventana que nos aparecerá seleccionaremos la pestaña Usuarios y dentro de usuarios seleccionaremos el usuario que hemos creado en el paso anterior (usuario-programa) y pulsaremos en Aceptar:

Agregar Editor de objetos y directivas de grupo 03 Agregar Editor de objetos y directivas de grupo 04

Una vez que le hemos dado a Aceptar podremos ver en el asistente que nos aparece seleccionado como Objeto de directiva de grupo el usuario que hemos creado en el paso anterior, pulsaremos en Finalizar para agregar el complemento a la consola de administración.

Agregar Editor de objetos y directivas de grupo 05

Configurar la política para limitar la ejecución de programas a un solo programa.

Accederemos a Configuración de usuario -> Plantillas administrativas -> Sistema y haremos doble click sobre la entrada Ejecutar solo aplicaciones especificas de Windows:

Configurar política Ejecutar solo aplicaciones especificas de Windows 01

En la ventana de configuración de la política que nos aparece, habilitaremos la politica selccionando Habilitada y pulsaremos el botón Mostrar… de la opcion Lista de aplicaciones permitidas

Configurar política Ejecutar solo aplicaciones especificas de Windows 02

En el cuadro de dialogo que nos aparecerá introduciremos el nombre del ejecutable que queremos permitir que se ejecute (para este articulo usaremos firefox como ejemplo) y pulsaremos en Aceptar.

Configurar política Ejecutar solo aplicaciones especificas de Windows 03

Importante: En la ventana anterior hay que poner solo el nombre del programa que queremos permitir ejecutar, no hay que poner la ruta del hacia el ejecutable.

Pulsaremos Aceptar en la ventana e configuración de la política

Configurar política Ejecutar solo aplicaciones especificas de Windows 04

Y ya nos aparecerá como configurada y habilitada:

Configurar política Ejecutar solo aplicaciones especificas de Windows 05

Comprobación de la política

Si iniciamos sesión con el usuario usuario-programa que hemos creado en el primer paso e intentamos abrir cualquier aplicación, excepto firefox, nos aparecerá el siguiente mensaje de error:

Comprobación aplicación política 01

En cambio si ejecutamos firefox, se nos abrirá sin problema alguno.

Comprobación aplicación política 02

Esta solución solo vale para las sesiones interactivas del usuario sobre el que configuramos la política, si por ejemplo tenemos un usuario en el mismo equipo que sabe la contraseña del administrador capado e intenta ejecutar cualquier cosa mediante ejecutar como administrador y selecciona este administrador:

Ejecutar como administrador se salta la política 01 Ejecutar como administrador se salta la política 02

Podrá hacerlo sin ningún problema:

Ejecutar como administrador se salta la política 03

Comento esto por que mi idea inicial era configurar esta política, darle la contraseña a un usuario y dejar que ejecutar la aplicación que requería permisos de administrador mediante “Ejecutar como administrador”.

Notas finales

Para solventar el problema de que el usuario no pueda arrancar programas a través del “Ejecutar como administrador” se ha creado una VM en la misma màquina y para entrar al programa se arranca la VM y se conecta por rdp a esta con el administrador con restricciones.

Si en lugar de configurar esta política configuramos la política “No ejecutar aplicaciones de Windows especificas”

Política No ejecutar aplicaciones de Windows especificas

El usuario podrá ejecutar cualquier cosa excepto lo que nosotros especifiquemos, por ejemplo podríamos configurar que un usuario no arranque los navegadores para impedir que navegue por internet.

Documentación

Publicat en

sysadmin

Etiquetes

windows politicas