Remote Desktop – Escritorio Remoto: Limitando a los Usuarios con Directivas de Grupo (Group Policies – GPOs)

En esta ocasión demostraremos una opción presente en las directivas de grupo poco conocida, y sin embargo muy útil, especialmente cuando nos referimos a Remote Desktop (Terminal Services)

Un tema que he visto muchas veces es el deseo de los administradores que cuando los usuarios se conectan a un servidor a través de Remote Desktop tengan limitaciones especiales no aplicables a sus equipos cliente de uso normal

Esto es, que cuando ingresan al servidor de Escritorio Remoto no puedan hacer cambios que sin embargo están permitidos en su máquina de escritorio

Esta configuración que veremos se denomina: “User Group Policy Loopback Processing Mode” (Modo de Procesamiento de Bucle Invertido de la Directiva de Grupo de Usuario)

Es importante tener en cuenta, que esta configuración es totalmente válida para sistemas con versiones anteriores a Windows Server 2012 y Windows 8. Funciona de la misma manera desde Windows 2000

El problema surge normalmente cuando la configuración está en la parte de usuario de la GPO, ya que si creáramos una GPO con dicha configuración y hacemos que la aplique a la cuenta de usuario, ésta tendría efecto siempre, tanto cuando se conecte al servidor como sobre su estación de trabajo.
Y lo que deseamos es que se aplique solamente sobre la conexión de Escritorio Remoto

Repasemos primero en forma muy reducida cómo se aplican las GPOs, obviando el tema de “cacheo” local:

  • Inicia el equipo, determina qué GPOs se deben aplicar de acuerdo a dónde está la cuenta de máquina, y de todas esas GPOs se aplica la parte “Computer Configuration” (Configuración del Equipo)
  • Cuando el usuario es autenticado, se determinan qué GPOs se deben aplicar de acuerdo a dónde está la cuenta de usuario, y de todas esas GPOs se aplica la parte “User Configuration” (Configuración de Usuario)

Cuando en una GPO que se aplica a la cuenta de máquina configuramos el “Loopback Processing Mode” (Procesamiento de Bucle Invertido) la aplicación de GPOs difiere de la siguiente manera:

  • Inicia el equipo, determina qué GPOs se deben aplicar de acuerdo a dónde está la cuenta de máquina, y de todas esas GPOs se aplica la parte “Computer Configuration” (Configuración del Equipo). Esto es igual, no cambia respecto al caso anterior, pero recordemos que estas GPOs tienen además configuraciones de usuario, y está habilitado el procesamiento de bucle invertido
  • Entonces cuando el usuario inicia sesión, en lugar de aplicarle la configuración de usuario de las GPOs de usuario, se le aplica la configuración de usuario de las GPOs de máquina
    De acuerdo a cómo esté configurado el procesamiento de bucle invertido, se le sumarán las configuraciones de las GPOs de máquina (Combinar – Merge), o directamente se reemplazarán (Sustituir – Replace)

Las siguiente dos tablas creo que pueden ayudar a comprender cómo es

image

image

Parece raro lo que diré, pero es así: Aplica las configuraciones de usuario de las GPOs de máquina :-)

Lo anterior es muy importante, porque permite aplicar restricciones al usuario solamente cuando se conecta a determinadas máquinas

Y, aunque puede tener otras utilidades, es fundamental cuando hablamos de Escritorio Remoto

Usaré como infraestructura base cualquiera de las demostraciones hechas en este sitio con Escritorio Remoto – Remote Desktop. Si no la tienen hecha simplemente filtren en el sitio que encontrarán tanto para Windows Server 2012, como para Windows Server 2008-R2

Las máquinas necesarias son sólo 3:

  • Servidor Controlador de Dominio, dc1.root.guillermod.com.ar en mi caso
  • Servidor Remote Desktop, rdsh1.guillermod.com.ar en mi caso
  • Cliente Windows 8 o Windows 7 o XP, parte del dominio

En esta demostración la cuenta de RDSH1 está en una Unidad Organizativa separada del resto de los equipos para facilitar la aplicación de la GPO

Comenzaremos creando y enlazando la GPO (Directiva de Grupo)

Para facilitar la demostración haré una configuración muy fácil de verificar: que no puedan acceder al Panel de Control, además seguramente deseable

 

La configuración de bucle invertido la encontraremos en. Computer Configuration / Policies / Administrative Templates / System / Group Policy / Configure User Group Policy Loopback Processing Mode

 

Y la habilitamos. Observando la lista desplegable pueden ver que tenemos ambas opciones “Replace” y “Merge”

 

Ahora, en la misma GPO, vamos a la parte de usuario a configurarle una restricción, en mi caso que no pueda acceder a Panel de Control

Como estoy haciendo la demostración con Windows Server 2012 aprovecharé una de las nuevas características como es el forzado de aplicación de GPOs en forma remota.
Si estuvieran con una versión anterior, hay que abrir una consola CMD en RDSH1, y ejecutar “GPUPDATE /FORCE”

 

Ahora ya sólo queda probar desde la máquina cliente, iniciando sesión con un usuario que la restricción se aplica. Lo haré directamente con MSTSC.EXE

 

Debemos tener en cuenta, que la restricción que hemos puesto se aplicará a todos los usuarios, incluyendo administradores
Para evitar lo anterior, por ejemplo, he creado un grupo llamado “Admins” en el que incluí a las cuentas necesarias, y luego en la seguridad de la GPO le denegado el permiso “Apply Group Policy”. Y solucionado :-)

 

Aprovecho para agregar algo más a la nota, si quieren interpretarlo así es realmente una crítica a la nueva interfaz

Antes íbamos al botón de apagado y simplemente elegíamos cerrar la sesión, pero esa opción ahora no está. Recordemos que “desconectar” no es lo mismo que cerrar sesión, la dejará abierta consumiendo recursos en el servidor

 

Hay que ir al “modern UI” para cerrar la sesión :-(

 

Bueno, con esto damos por finalizada la nota. Hemos podido solucionar uno de los temas que más he escuchado, aprendiendo una configuración de las GPOs poco conocidas, y no fáciles de comprender

Publica un comentario o deja una referencia: URL de la referencia.

Comentarios

  • beimerosorio  El 09/10/2014 a las 22:38

    Hola, muy bueno este tema antes estuve intentando hacerlo y no lo había logrado, ahora tengo un inconveniente y es que necesito quitarle el icono de red y la barra de direcciones en el explorador de windows y no lo ogro ya que no existe una opcion que lo haga y mis usuarios pueden tener acceso a los iconos de red. Si alguien sabe como solucionarlo me ayudaria mucho, el ambiente es w server 2012 r2

    • Guillermo Delprato  El 10/10/2014 a las 07:24

      Hola beimerosario, este no es un lugar de soporte :-) Soy el único que repondo, y trato de mantener los comentarios específicamente sobre el tema de la nota
      De todas formas hay muchos enlaces sobre lo que buscas, aunque habría que ver si lo estás necesitando específicamente para cuando entran por Escritorio Remoto
      Te aconsejo hagas las búsquedas en inglés pues además que hay más resultados, es más reducida la terminología, por ejemplo con «hide network icon»

      • beimerosorio  El 29/10/2014 a las 21:30

        Gracias Guillermo, entiendo tu punto en cuanto a que no es un foro de soporte y te agradezo mucho tu ayuda, efectivamente deseo retirarlo solo para el escritorio remoto. si conoces algun link que pueda servirme me ayudarias mucho.

      • Guillermo Delprato  El 30/10/2014 a las 12:21

        Hola beimerosorio, para que una configuración que está en la parte de usuario se aplique sólo cuando se conecta a una máquina con Remote Desktop hay una configuración especial
        Debes crear/editar una GPO que se aplique a la máquina con RD. Configurar en ésta la parte de usuario, y luego en «Computer configuration / Administrative Templates / System / Group Policy» habilitar «User Group Policy Loopback Processing Mode»

  • Javi  El 12/11/2014 a las 05:54

    Hola Guillermo, tengo precisamente que montar restricciones a un usuario remoto, pero en mi caso la maquina es un windows 2012 sin dominio, como puedo hacer esto? al no tener AD no puedo hacer los primeros pasos :(

    • Guillermo Delprato  El 12/11/2014 a las 07:06

      Hola Javi, es temprano en la mañana por acá, y me estás haciendo pensar … :D
      Pero se me ocurre una idea, deberías probarla para estar seguro que funciona
      Si no hay Dominio entonces los usuarios son todos locales, y por lo tanto no aplica el proceso de bucle invertido
      Pero, hay otra posibilidad ¿conoces que pueden haber múltiples «local policies» por usuario?
      MMC / Add… / Group Policy Object Editor / Browse / ficha Users y seleccionas al usuario o si quieres a «Non-Administrators» y puedes poner restricciones de la parte de usuario
      Esto funcionaría si el usuario ya tiene un perfil local en dicha máquina
      Pruébalo y comenta

  • Jesús Rodríguez  El 06/01/2015 a las 17:18

    Solo como aporte comentar que otros escenarios típicos para Loopback Processing Mode son quioscos y aulas donde se suele requerir restricciones con independencia del usuario.

  • Ezendirik Monroy  El 16/01/2015 a las 14:38

    hola esta excelente tu tutorial, una pregunta si tengo solo un servidor que contiene DC y terminal, tengo que seleccionar el equipo desde domain controler

    • Guillermo Delprato  El 16/01/2015 a las 17:26

      Hola Ezendirik, no te sirve este método, porque se aplicaría a todos los usuarios, incluyendo a los administradores
      Deberías hacer una GPO que aplique a los usuarios, pero filtrarla por grupo para que no aplique a los administradores. Por ejemplo que el grupo Administradores, tenga el permiso «Deny» sobre «Apply Group Policy»
      O sea, deberías trabajar con filtros de seguridad de la GPO

      • Ezendirik monroy  El 16/01/2015 a las 18:54

        muchas gracias por la pronta respuesta guillermo!! oye y donde encuentro el “Apply Group Policy” perdona

      • Guillermo Delprato  El 17/01/2015 a las 07:56

        De memoria Ezendirik, que no tengo ahora ninguna máquina a la vista
        En el administrador de GPOs, con el contenedor GPOs desplegado, seleccionas la GPO en cuestión, y en la ficha «Delegation», agregas a los administradores con el permiso «Deny Apply Group Policy). O parecido :)

      • Ezendirik monroy  El 17/01/2015 a las 15:13

        gracias guillermo ya localize la opcion e hice pruebasy queda de lujo gracias!!

      • Guillermo Delprato  El 18/01/2015 a las 07:31

        Me alegro Ezendirik :)

  • beimerosorio  El 15/02/2015 a las 01:01

    Hola Guillermo, he configurado un equipo en w server 2008 r2 como controlador de dominio y ademas como servidor para servicios de escritorio remoto(si ya se que no es la mejor practica pero los recursos de la maquina no me permitían virtualizar), he aplicado una directiva de grupo con bucle invertido para restringir usuarios en remote desktop y funciono correctamente aunque como me aplico a todos los usuarios cambie los permisos entonces empezó a molestar a quienes ya les había aplicado dejo de aplicarles a medias y a los nuevos no les aplica, decidí eliminar esta directiva y desde entonces no me funciona ninguna directiva que cree y tampoco me quita las restricciones a medias que me dejo la primera. Muchas gracias por tus comentarios y ayuda.

    • Guillermo Delprato  El 16/02/2015 a las 08:15

      Hola beimerosorio, algunas configuraciones de las GPOs son resilientes, esto es que permanecen aunque la misma deje de aplicarse
      Habría que ver bien cómo es que haz cambiado los permisos, porque se puede hacer de dos formas diferentes, quitando a «Authenticated Users» y poniendo otro grupo, o denegando «Apply Group Policy» a los que quieres que no aplique
      Además al haberlo hecho sobre un DC el tema se complica bastante, pues se superpone con la «Default Domain Controllers Policy», y por lo tanto dependiendo del orden de aplicación prevalece una u otra en caso de conflicto. Espero que no hayas modificado esta última GPO
      Para quitar las configuraciones resilientes, la única opción es aplicar otra GPO que revierta los cambios
      Por otro lado, recuerda que para ver en detalle qué configuración se recibe y de dónde tienes dos opciones. Desde «Group Policy Management» tienes «Group Policy Results», y otra opción es desde línea de comandos con GPRESULT.EXE
      Con cualquiera de ambas puedes ver qué configuraciones recibe, y de qué GPOs
      Para la primera opción te dará problemas el cortafuegos del cliente, bájalo para hacer la prueba

  • Luistmax  El 27/04/2015 a las 03:58

    Hola a todos,he aplicado la gpo y conectando remotamente funciona perfectamente y pensé que solo afectaría a los usuarios que se conectan por terminal server pero al llegar hoy a la oficina he comprobado que todos los equipos que están en red tenia aplicadas las directivas que había puesto para remoto.Nose como hacer para que solo un cierto numero de usuarios tenga esas directivas gpo(no poder modificar el panel de control,no mapear unidades,no mostrar aplicaciones del servidor,bloquear la barra de tareas,sólo un enlace en el escritorio a un programa..)
    Gracias de antemano.

    • Guillermo Delprato  El 27/04/2015 a las 07:41

      Hola Luistmax, lo que te sucede es lo esperable de acuerdo a dónde hayas enlazado la GPO. Esto es totalmente separado de Remote Desktop
      Si una GPO la enlazas de forma que aplique a todos los usuarios/máquinas, sea la configuración que sea, se la aplicará a todos los usuarios/máquinas :)
      Si te refieres al «Loopback processing mode» esta GPO debe aplicar solamente a los servidores Remote Desktop, y no a todas las máquinas

  • Freddy  El 18/07/2015 a las 13:31

    Hola Guillermo, tengo una problema pero no es relacionado al tema en si sino a un problema con el escritorio remoto WS2012, sucede que cuando el acceso a internet se cae el escritorio remoto se desconecta esto sucede en la red local por ende debiera permanecer conectado porque esta en la red local, o sea sin internet no conecta localmente, ¿sabes a que se debe esto? y disculpa por hacer una pregunta diferente al tema pero no he encontrado algo referente en tu Blog.

    • Guillermo Delprato  El 20/07/2015 a las 07:18

      Hola Freddy, hay muchas posibilidades para investigar, hay que tratar de acotar el problema, y se necesitarían muchos más datos para poder investigar
      Como ya he puesto en otros comentarios, desde estos comentarios no hago soporte. Puedes recurrir por ejemplo a los foros de Technet en español que están en https://social.technet.microsoft.com/Forums/es-ES/home
      Pero por lo menos para orientarte ¿se pierde la conectividad? si habilitas ICMP ¿llegas con PING? Otras más que se necesitarían ¿cómo acceden? ¿RDWeb o RDP o RDGateway?
      Pon la pregunta en el foro, y más datos para que se pueda ayudarte

  • Se afectan los administradores  El 04/09/2015 a las 12:04

    Algo que me ocurrio haciendo este procedimiento, es que me afecta tanto los usuarios de escritorio remoto, como los administradores, mirando la directiva afecta al contenedor «usuarios autentificados», he hecho pruebas cambiando este por un grupo de usuarios o solo un usuario y en ese caso la directiva deja de funcionar, no se como hacerlo sin afectar los permisos de los usuarios administradores en el servidor, agradezco si Guillermo o algun otro lector me puede brindar alguna ayuda, saludos…

    • Guillermo Delprato  El 04/09/2015 a las 12:34

      Sin sacar al grupo «Usuarios autentificados», agrega al grupo «Administradores» y a esos ponle Denegar «Apply Group Policy»
      De esta forma no le va a aplicar nada que esté en dicha GPO
      Y lee bien toda la nota :)
      Pego parte de lo escrito en la nota:
      ———————————————–
      Debemos tener en cuenta, que la restricción que hemos puesto se aplicará a todos los usuarios, incluyendo administradores
      Para evitar lo anterior, por ejemplo, he creado un grupo llamado “Admins” en el que incluí a las cuentas necesarias, y luego en la seguridad de la GPO le he denegado el permiso “Apply Group Policy”. Y solucionado :-)

  • alejandro  El 22/01/2016 a las 16:42

    Hola de antemano mencionar muy bueno el post! felicitaciones!
    .Tengo una consulta, tengo 3 servidores: 2 servidores RDP (ambos en un dominio) y 1 servidor Active Directory.
    Lo que deseo es limitar la sesión de uno, es decir al momento de iniciar sesión en servidor RDP01 cuando desee ingresar al otro servidor RDP02 este no pueda ingresar y/o caso contrario lo bote de su sesión y /o cierre al otro. Tienes alguna idea de esto?, he estado revisando información pero hasta ahora no encuentro algo similar, lo que he encontrado es mediante Balanceo de Carga, pero quiero otra opción.

    • Guillermo Delprato  El 22/01/2016 a las 17:54

      Hola Alejandro, hay una solución: en las propiedades del usuario, ficha Sesiones, tienes la opción de permitir la reconexión únicamente desde la máquina donde inició, luego no va a poder conectarse hasta que no cierre la sesión en la original

  • Emilio Morcelle Ramos  El 20/05/2016 a las 11:27

    Saludos Guillermo, interesante tu post, al cual llegué porque busco información para realizar lo siguiente: Es posible por medio de una GPO, modificar en el equipo del cliente los usuarios permitidos para acceder a escritorio remoto?. Me refiero a agregar usuarios que pertenecen a un dominio, junto al administrador que por defecto se habilita, cuando el servicio de Escritorio Remoto tiene autentificación a nivel de red. Agradecido por tus comentarios..

  • Diego Bruno  El 07/10/2016 a las 16:42

    Exelente artículo Guillermo. Súper claro, me fue súper útil. Abrazo

  • ArturoOpti  El 07/04/2017 a las 18:36

    Buenas tardes tengo un incoveniente tengo aesus backup en mi servidor pero cuando los usuarios de escritorio remoto se conectan crean una actividad nueva en cada usuario lo que hace que consuma demaciada memoria en mi servidor, hay alguna manera de que el aesus backup solo se inicie con la cuenta administrador y no con todas las cuentas que inicien secion.

  • clzambrano  El 14/07/2017 a las 13:26

    Buenos dias, muy util tu recomendacion, ya la implemente y funciona perfectamente pero tengo un consulta adicional quizas relacionada. ¿Habrá alguna manera de activar por GPO la opcion de «Permitir las conexiones desde equipos que ejecuten cualquier version de Escritorio Remoto (menos seguro)»?

    Gracias por tu atencion.

    • Guillermo Delprato  El 14/07/2017 a las 14:11

      El tema de permitir o no las conexiones de cualquier tipo está relacionado con si soporta o no «Network Level Authentication»
      Aunque no lo he probado nunca creo que la solución está en GPO
      Conmputer configuration / Policies / Administrative templates / Windows components / Remote Desktop services / Remote Desktop session host / Security / Require user authentication for remote connection by using Network Level Authentication

  • Gustavo  El 22/08/2017 a las 18:14

    Realmente te agradezco el post, hace una semana que le estaba dando vueltas al asunto sin poder resolverlo.

Trackbacks

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

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.