Servicios de Escritorio remoto
El componente clave del servidor de RDS es Terminal Server (termdd.sys
), que escucha en el puerto TCP 3389. Cuando un cliente de Protocolo de Escritorio remoto (RDP) se conecta a este puerto, se etiqueta con un SessionID único y se asocia con una sesión de consola recién generada (sesión 0, teclado, ratón y solo interfaz de usuario en modo de caracteres). El subsistema de inicio de sesión (winlogon.exe) y luego se inicia el subsistema de gráficos GDI, que maneja el trabajo de autenticar al usuario y presentar la GUI., Estos ejecutables se cargan en una nueva sesión, en lugar de en la sesión de consola. Al crear la nueva sesión, los controladores de gráficos y teclado/ratón se reemplazan por controladores específicos de RDP: RdpDD.sys
y RdpWD.sys
. El RdpDD.sys
es el controlador del dispositivo y captura las llamadas de renderización de la interfaz de usuario en un formato que se puede transmitir a través de RDP. RdpWD.sys
actúa como controlador de teclado y ratón; recibe la entrada de teclado y ratón a través de la conexión TCP y las presenta como entradas de teclado o ratón., También permite la creación de canales virtuales, que permiten redirigir otros dispositivos, como discos, audio, Impresoras y puertos COM, es decir, los canales actúan como reemplazo de estos dispositivos. Los canales se conectan al cliente a través de la conexión TCP; a medida que se accede a los canales para obtener datos, se informa al cliente de la solicitud, que luego se transfiere a través de la conexión TCP a la aplicación. Todo este procedimiento es realizado por el terminal server y el cliente, con el RDP mediando la transferencia correcta, y es totalmente transparente para las aplicaciones., Las comunicaciones RDP se cifran mediante el cifrado RC4 de 128 bits. Windows Server 2003 en adelante, puede usar esquemas de cifrado compatibles con FIPS 140.
una vez que un cliente inicia una conexión y es informado de una invocación exitosa de la pila de terminal services en el servidor, carga el dispositivo, así como los controladores de teclado/ratón. Los datos de la interfaz de usuario recibidos a través de RDP se decodifican y se representan como interfaz de usuario, mientras que las entradas del teclado y el ratón a la ventana que aloja la interfaz de usuario son interceptadas por los controladores y transmitidas a través de RDP al servidor., También crea los otros canales virtuales y configura la redirección. La comunicación RDP puede ser encriptada; usando cifrado bajo, medio o alto. Con un cifrado bajo, la entrada del usuario (datos salientes) se cifra utilizando un cifrado débil (RC4 de 40 bits). Con el cifrado medio, los paquetes de interfaz de usuario (datos entrantes) también se cifran utilizando este cifrado débil. La configuración » High encryption (Non-export) «utiliza el cifrado RC4 de 128 bits y» High encryption (Export) » utiliza el cifrado RC4 de 40 bits.
Terminal ServerEdit
Terminal Server es el componente de servidor de Terminal services., Se encarga del trabajo de autenticar clientes, así como de hacer que las aplicaciones estén disponibles de forma remota. También se le confía la tarea de restringir a los clientes según el nivel de acceso que tengan. Terminal Server respeta las políticas de restricción de software configuradas, para restringir la disponibilidad de cierto software solo a un determinado grupo de usuarios. La información de la sesión remota se almacena en directorios especializados, llamados Directorio de sesión que se almacenan en el servidor., Los directorios de sesión se utilizan para almacenar información de estado sobre una sesión y se pueden usar para reanudar sesiones interrumpidas. El Terminal server también tiene que administrar estos directorios. Los servidores de Terminal también se pueden usar en un clúster.
en Windows Server 2008, se ha revisado significativamente. Al iniciar sesión, si el usuario inició sesión en el sistema local con una cuenta de dominio de Windows Server, las credenciales del mismo inicio de sesión se pueden usar para autenticar la sesión remota., Sin embargo, esto requiere que Windows Server 2008 sea el sistema operativo de Terminal server, mientras que el sistema operativo cliente se limita a Windows Server 2008, Windows Vista y Windows 7. Además, terminal server puede configurarse para permitir la conexión a programas individuales, en lugar de a todo el escritorio, mediante una característica llamada RemoteApp. El acceso Web de Terminal Services (TS Web Access) hace que una sesión RemoteApp sea invocable desde el navegador web. Incluye el control de parte web de acceso Web de TS que mantiene la lista de RemoteApps implementados en el servidor y mantiene la lista actualizada., Terminal Server también se puede integrar con el Administrador de recursos del sistema de Windows para limitar el uso de recursos de aplicaciones remotas.
Terminal Server se administra mediante el complemento Microsoft Management Console de Terminal Server Manager. Se puede utilizar para configurar los requisitos de inicio de sesión, así como para imponer una sola instancia de sesión remota. También se puede configurar mediante la directiva de grupo o la instrumentación de administración de Windows., Sin embargo, no está disponible en las versiones de cliente del Sistema Operativo Windows, donde el servidor está preconfigurado para permitir solo una sesión y hacer cumplir los derechos de la cuenta de usuario en la sesión remota, sin ninguna personalización.
puerta de enlace de Escritorio Remotoeditar
El componente de servicio de puerta de enlace de Escritorio remoto, también conocido como Puerta de enlace de Escritorio remoto, puede hacer un túnel de la sesión RDP mediante un canal HTTPS. Esto aumenta la seguridad de RDS al encapsular la sesión con Transport Layer Security (TLS). Esto también permite la opción de usar Internet Explorer como cliente RDP., El cliente oficial de MS RDP para macOS admite puerta de enlace de Escritorio remoto a partir de la versión 8. Esto también está disponible para iOS y Android.
esta función se introdujo en los productos Windows Server 2008 y Windows Home Server.
cliente Web HTML5 de Escritorio Remotoeditar
a finales de 2018 Microsoft lanzó el cliente Web HTML5 de Escritorio remoto. El cliente permite a los usuarios conectarse a sus aplicaciones remotas o a sus escritorios remotos sin utilizar un cliente de Escritorio remoto instalado., El cliente web utiliza el puerto seguro TLS 443 y no utiliza la puerta de enlace de Escritorio remoto para transportar tráfico, sino que depende únicamente del aspecto host de sesión de Escritorio remoto de los servicios de Escritorio remoto.
RolesEdit
Remote Desktop Gateway permite a los usuarios autorizados conectarse a escritorios virtuales, programas de aplicaciones remotas y escritorios basados en sesiones a través de una red privada o Internet. El rol de agente de conexión a Escritorio remoto permite a los usuarios volver a conectarse a sus escritorios virtuales, programas RemoteApp y escritorios basados en sesiones existentes., Permite incluso la distribución de carga entre los servidores Host de sesión de Escritorio remoto de una colección de sesiones o entre escritorios virtuales agrupados de una colección de escritorios virtuales agrupados, y proporciona acceso a escritorios virtuales de una colección de escritorios virtuales. Host de sesión de Escritorio remoto permite que un servidor aloje programas RemoteApp como escritorios basados en sesión. Los usuarios pueden conectarse a los servidores Host de sesión de Escritorio remoto de una colección de sesiones para ejecutar programas, guardar archivos y usar recursos en esos servidores. Los usuarios pueden acceder al servidor Host de sesión de Escritorio remoto mediante el cliente de conexión a Escritorio remoto o mediante programas RemoteApp., El Host de virtualización de Escritorio remoto permite a los usuarios conectarse a escritorios virtuales mediante conexión de RemoteApp y escritorio. El acceso Web de Escritorio remoto permite a los Usuarios acceder a la conexión de RemoteApp y escritorio a través del menú Inicio o a través de un navegador web. Conexión de RemoteApp y escritorio proporciona a los usuarios una vista personalizada de programas RemoteApp, escritorios basados en sesiones y escritorios virtuales. Las licencias de Escritorio remoto permiten a un servidor administrar las licencias de acceso de cliente de RDS (CAL de RDS) necesarias para que cada dispositivo o usuario se conecte a un servidor Host de sesión de Escritorio remoto., Las CAL de RDS se administran mediante la aplicación Administrador de licencias de Escritorio remoto.
RemoteAppEdit
RemoteApp (o TS RemoteApp) es un modo especial de RDS, disponible en Windows Server 2008 R2 y versiones posteriores, donde la configuración de sesión remota está integrada en el sistema operativo del cliente. El cliente RDP 6.1 se envía con Windows XP SP3, KB952155 para usuarios de Windows XP SP2, Windows Vista SP1 y Windows Server 2008. La interfaz de usuario de RemoteApp se representa en una ventana sobre el escritorio local y se administra como cualquier otra ventana para aplicaciones locales., El resultado final de esto es que las aplicaciones remotas se comportan en gran medida como las aplicaciones locales. La tarea de establecer la sesión remota, así como de redirigir los recursos locales a la aplicación remota, es transparente para el usuario final. Se pueden iniciar varias aplicaciones en una sola sesión de RemoteApp, cada una con sus propias ventanas.
un RemoteApp puede empaquetarse como un archivo .rdp
o distribuirse a través de un paquete .msi
Windows Installer., Cuando se empaqueta como un archivo .rdp
(que contiene la dirección del servidor RemoteApp, los esquemas de autenticación que se utilizarán y otras configuraciones), se puede iniciar un RemoteApp haciendo doble clic en el archivo. Invocará el cliente de conexión de Escritorio remoto, que se conectará al servidor y renderizará la interfaz de usuario. El RemoteApp también se puede empaquetar en una base de datos de Windows Installer, instalación que puede registrar el RemoteApp en el Menú Inicio, así como crear accesos directos para iniciarlo. Un RemoteApp también se puede registrar como controlador para tipos de archivos o Uri., Al abrir un archivo registrado con RemoteApp, primero se invocará Remote Desktop Connection, que se conectará al terminal server y luego abrirá el archivo. Cualquier aplicación a la que se pueda acceder a través del escritorio remoto se puede servir como RemoteApp.
Windows 7 incluye soporte integrado para la publicación de RemoteApp, pero debe habilitarse manualmente en el registro, ya que no hay una consola de administración de RemoteApp en las versiones de cliente de Microsoft Windows.,
Windows Desktop SharingEdit
en Windows Vista en adelante, Terminal Services también incluye una capacidad de compartir escritorios de varias partes conocida como Windows Desktop Sharing. A diferencia de Terminal Services, que crea una nueva sesión de usuario para cada conexión RDP, el uso compartido de escritorios de Windows puede alojar la sesión remota en el contexto del usuario actualmente conectado sin crear una nueva sesión, y hacer que el escritorio, o un subconjunto del mismo, esté disponible a través de RDP. El uso compartido de escritorios de Windows se puede usar para compartir todo el escritorio, una región específica o una aplicación en particular., El uso compartido de escritorios de Windows también se puede usar para compartir escritorios de varios monitores. Al compartir aplicaciones individualmente (en lugar de todo el escritorio), las ventanas se administran (ya sea que se minimicen o maximicen) de forma independiente en el servidor y en el lado del cliente.
la funcionalidad solo se proporciona a través de una API pública, que puede ser utilizada por cualquier aplicación para proporcionar funcionalidad de uso compartido de pantalla. La API de uso compartido de escritorio de Windows expone dos objetos: RDPSession
para la sesión de uso compartido y RDPViewer
para el visor., Se pueden crear instancias de varios objetos del visor para un objeto de sesión. Un espectador puede ser un espectador pasivo, que es capaz de ver la aplicación como un screencast, o un espectador interactivo, que es capaz de interactuar en tiempo real con la aplicación remota. El objeto RDPSession
contiene todas las aplicaciones compartidas, representadas como objetos Application
, cada uno con objetos Window
que representan sus ventanas en pantalla. Los filtros por aplicación capturan las ventanas de la aplicación y las empaquetan como objetos Window
., Un espectador debe autenticarse antes de poder conectarse a una sesión compartida. Esto se hace generando un Invitation
usando el RDPSession
. Contiene un ticket de autenticación y una contraseña. El objeto se serializa y se envía a los espectadores, que deben presentar el Invitation
al conectarse.
la API de uso compartido de escritorio de Windows es utilizada por Windows Meeting Space y Windows Remote Assistance para proporcionar funcionalidad de uso compartido de aplicaciones entre compañeros de red.