Remote Desktop – Limitando Aplicaciones a Usuarios

Muchas veces he visto la consulta sobre limitar a los usuarios que se conectan por escritorio remoto a un servidor, porque aunque lógicamente al no ser administradores no pueden modificar la mayoría de las configuraciones, pero sin embargo pueden utilizar aplicaciones que no deseamos, o simplemente que no puedan ver ciertas configuraciones

Una configuración que creo no tan conocida es la de limitar a un usuario que se conecta por escritorio remoto a una única aplicación, no disponiendo ni siquiera de la barra de tareas

[Actualización] He actualizado la nota asignando la aplicación mediante GPO, en lugar de por usuario

Para esta demostración utilzaré las mismas máquinas virtuales que utilizo en todas las notas, usando en este caso:

  • DC1.ad.guillermod.com.ar
    Controlador de Dominio
    Windows Server 2012”
  • SRV1.ad.guillermod.com.ar
    Servidor miembro del Dominio
    Windows Server 2012R2
  • CL1.ad.guillermod.com.ar
    Cliente de escritorio del Dominio
    Windows 8.1

Comenzaré en SRV1 agregando la funcionalidad “Remote Desktop” siguiendo el asistente comom muestran las capturas de pantalla que siguen

RDAPP-01

RDAPP-02

RDAPP-03

RDAPP-04

RDAPP-05

RDAPP-06

RDAPP-07

Aunque en este caso que solo una demostración agrego sólo el “Remote Desktop Session Host”, debemos tener en cuenta que debería agregar además por lo menos el “Remote Desktop Licensing”

RDAPP-08

RDAPP-09

RDAPP-10

Cuando finaliza debemos reiniciar el servidor, e iniciar sesión con una cuenta administrativa

 

Vamos ahora a DC1, donde he creado una Unidad Organizativa, donde he creado un usuario de prueba “User Uno” (u1), y un grupo al que pertence este usuario llamado “RD-Users”

Aunque puedo autorizar el acceso por Escritorio Remoto por grupos, la configución de ejecutar sólo una aplicación la debo hacer por usuario

Así que en las propiedades de la cuenta de usuario ficha “Environment” debo indicar qué aplicación se ejecutará cuando el usuario inicie sesión

 

[Actualización]

La aplicación única que podrán usar los usuarios también se puede especificar por GPO en “Computer Configuration / Policies / Administrative Templates / Windows Components / Remote Desktop Services / Remote Session Environment / Start a program on connection

 

Al tratarse sólo de una demostración elegí NOTEPAD.EXE pero se podría hacer con cualquier aplicación instalada en SRV1, siempre y cuando la misma se instale para todos los usuarios

RDAPP-11

Finalmente en SRV1 debo permitir que los usuarios puedan conectarse a través de Remote Desktop, lo haré para el grupo “RD-Users”

RDAPP-12

RDAPP-13

RDAPP-14

 

Ya está todo configurado, sólo falta probar que funciona lo que hemos hecho

En CL1 inicio sesión con la cuenta del usuario de prueba “Usuario Uno” (u1) y ejecuto el acceso escritorio remoto (MSTSC.EXE)

RDAPP-15

RDAPP-16

Como podemos observar se abre NOTEPAD a pantalla completa

RDAPP-17

Y aún si achicamos la ventana podemos observar que no está disponible ni siquiera la barra de tareas

RDAPP-18

Cualquiera de las opciones de la barra, aunque se muestran pueden probar que no funcionan

RDAPP-19

Si pulsaran CTRL+ALT+SUPR sólo se llegarán a las opciones disponibles para la máquina cliente, y no para la sesión en el servidor

RDAPP-20

La única posibilidad disponible es que si se cierra la ventana da como opción Desconectar, no da para cerrar sesión

RDAPP-21

Dejar una sesión abierta sin utilizar a veces puede causar problemas por falta de recursos en el servidor. Pero tenemos disponible en las propiedades del usuario configurar en cuánto tiempo cerrará la sesión inactiva

RDAPP-22

También, desde el Administrador de Tareas del servidor podemos ver la cuenta de usuario y desconectarlo

RDAPP-23

El sistema pide confirmación ya que si el usuario dejó la sesión desconectada con datos sin guardar estos se perderían

RDAPP-24

RDAPP-25

 

En otras notas ya hemos visto algunas opciones para limitar a los usuarios que se conectan por Escritorio Remoto, esta es creo la más limitativa

 

NOTA: Aún no he podido solucionar el problema de la pérdida de imágenes en las notas del blog. He publicado esta porque ya la tenía casi lista, perdiendo un tiempo enorme para incluirlas, y además si siguiera este procedimiento en poco tiempo me queadaré sin espacio de almacenamiento

 

Post a comment or leave a trackback: Trackback URL.

Comentarios

  • Luisgm101  On 08/07/2015 at 14:52

    Con esto ya no es necesario configurarlo desde las políticas?

    • Guillermo Delprato  On 08/07/2015 at 15:07

      Cualquiera de las dos formas son válidas, o lo haces por GPO, o por usuario

      • Alex Mantilla  On 20/08/2015 at 00:05

        como seria por gpo? no encuentro cual es la politica. Gracias!

      • Guillermo Delprato  On 20/08/2015 at 07:10

        Por GPO puedes configurar cuáles aplicaciones puede usar, pero tiene que ser detallado
        Revisa, por ejemplo, User Configuration / Administrative Templates / System

  • Heber Loran  On 08/07/2015 at 18:21

    Excelente tip, solo una duda, con esta opcion solo se puede limitar a una aplicacion o se pueden mas haciendo una separacion con coma de la ruta de cada una de ellas?

  • Javier O  On 09/07/2015 at 06:32

    Guillermo: muy interesante esta aportación para limitar el uso de una aplicación… y también la de controlar el tiempo que queda la sesion conectada si el usuario la dejo abierta (lo cual es habitual).
    Una cuestión: si mi servidor de RD tiene varios discos, puedo hacer que no tengan acceso a ellos con los derechos Share y Seguridad. Pero ¿como puedo hacer para que ni siquiera vean dichas unidades?
    Gracias de antemano, Javier

    • Guillermo Delprato  On 09/07/2015 at 07:50

      Hola Javier O, con los permisos de Share no hay posibilidad porque afectan sólo cuando se accede remotamente, y en el caso de Escritorio Remoto es “como que estuviera” desde el propio teclado del servidor
      Con permisos de seguridad (NTFS) se podría pero habría que tener bastante cuidad, porque por ejemplo al C:\ no podrías evitarlo, y cambiar los permisos sobre la carpeta raíz de los disco suele traer problemas
      Pero hay otra solución como es ocultarle discos. Revisa el enlace que pongo abajo, se puede hacer por GPO. Lo que sí hay que configurar es que como es una configuración por usuario, deberías hacerlo a través de “Loopback process mode”
      Esta es la configuración por GPO: Using Group Policy Objects to hide specified drives:
      https://support.microsoft.com/en-us/kb/231289
      Por el tema “loopback” revisa esta otra nota: Remote Desktop – Escritorio Remoto: Limitando a los Usuarios con Directivas de Grupo (Group Policies – GPOs) | WindowServer:
      https://windowserver.wordpress.com/2013/03/22/remote-desktop-escritorio-remoto-limitando-a-los-usuarios-con-directivas-de-grupo-group-policies-gpos/

  • Serba  On 09/07/2015 at 11:44

    Gracias Guillermo por la nota. Una consulta, en el ejemplo publicaste notepad.exe que está en una ruta local de DC1, pero cómo sería si la aplicación reside en SRV1, en la pestaña Environment debiese ser la ruta compartida \\SRV1\share\aplicacion.exe?

    gracias
    Serba_

    • Guillermo Delprato  On 09/07/2015 at 12:01

      Hola Serba, sí, pero solo si funciona :)
      En general no es bueno ejecutar de esa forma aplicaciones que están en otra máquina, porque en realidad hay que transferir toda la aplicación sobre la red, antes de poder ejecutarla, y además puede que busque datos locales que no encuentre
      También dependerá si es compatible con Remote Desktop

  • Jesús Rodríguez  On 11/07/2015 at 18:50

    Hola, tengo una serie de dudas:
    1a- Se pueden poner accesos directos o scripts para personalizar la app según el servidor? había pensado en algo así como… creo un script/acceso c:\remoteapp y en cada servidor apunto a una app distinta de manera que por ejemplo en un servidor lanza la aplicación de contabilidad y en otro la de recursos humanos (por decir algo…)
    1b- Con scripts/acc directos se podrían lanzar varias apps como consultaba un compi en un comentario previo?
    2- Se admiten variables de entorno en la ruta o parámetros de la app? (alguna característica del usuario o del servidor por ejemplo…)
    3- Hay alguna diferencia destacable o que se deba tener en cuenta de cara a elegir entre hacer la conf por GPO o vía propiedades del usuario?
    4- Influye en RemoteApp esta configuración? entiendo que RemoteApp no es compatible siempre pero que es la mejor opción para que un usuario acceda únicamente a una app de un servidor remoto por rdp… no sé si es compatible o si una configuración anula la posibilidad de la otra… o si esta configuración al final daría una capa de seguridad extra <- si esta duda es tonta disculpa, remoteapp he leído varías cosas pero nunca lo he probado y quizás la tenga mal conceptuada

    * Siento la chapa!!! y que conste que no tengo un lab si no alguna duda la intentaría resolver yo ^^'
    ** Como siempre fantástico post!

    • Guillermo Delprato  On 13/07/2015 at 06:57

      Hola Jesús
      1- No lo he probado, pero pienso que no es posible
      2- Las variables de entorno se pueden hacer sólo desde CMD o Powershell. Eso entiendo que no lo puedes hacer por RD
      3- No hay diferencias. En la nota lo hice por usuario en lugar de GPO para mantener la nota lo más concreta posible
      4- No comprendo la pregunta, pero son dos cosas diferentes

      Si quieres aclarar un poco más el tema revisa en el blog las notas que hay sobre RD, con “Quick start” y “Standard Delployment”
      ¡Gracias por tu comentario!

  • Serba  On 18/08/2015 at 12:58

    Hola Guillermo, revisando con un colega algo de terminal server, vi que en una instalación hay instaladas cierto numero de licencias, pero en los terminal server que son dos servidores, se muestran mas conexiones activas al mismo tiempo, las licencias son Per USer, y según entiendo solo deberían poder conectarse solo el numero de usuarios según licencias instaladas. Como es posible que se puedan conectar mas usuarios a los TS?? uno de los TS es License manager y el otro, tiene configurado al primer TS como license manager.
    como se podría explicar ese funcionamiento?

    gracias

    Serba_

Este espacio es para comentarios sobre la nota. No es un sitio de soporte

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: