El Protocolo de Escritorio Remoto ( RDP ) es un protocolo propietario desarrollado por Microsoft Corporation que proporciona al usuario una interfaz gráfica para conectarse a otra computadora a través de una conexión de red. [1] El usuario emplea un software cliente RDP para este propósito, mientras que la otra computadora debe ejecutar un software servidor RDP.
Existen varios clientes para la mayoría de las versiones de Microsoft Windows (incluido Windows Mobile , pero el soporte ha finalizado), Linux (por ejemplo, Remmina ), Unix , macOS , iOS , Android y otros sistemas operativos . Los servidores RDP están integrados en las ediciones de servidor y profesional de los sistemas operativos Windows, pero no en las ediciones domésticas; también existe un servidor RDP para Unix y OS X (por ejemplo, xrdp ). De forma predeterminada, el servidor escucha en el puerto TCP 3389 [2] y el puerto UDP 3389. [3]
Actualmente, Microsoft se refiere a su software de cliente RDP oficial como Conexión a Escritorio remoto , anteriormente "Cliente de Servicios de Terminal".
El protocolo es una extensión del protocolo de compartición de aplicaciones ITU-T T.128 . Microsoft publica algunas especificaciones en su sitio web. [4]
Todas las versiones de servidor y profesionales de Microsoft Windows a partir de Windows XP [5] incluyen un cliente de Conexión a Escritorio remoto (RDC) ("Terminal Services") instalado ( mstsc.exe ) cuya versión está determinada por la del sistema operativo o por el último Service Pack de Windows aplicado. El servidor de Terminal Services es compatible como una característica oficial en Windows NT 4.0 Terminal Server Edition , lanzado en 1998, Windows 2000 Server , todas las ediciones de Windows XP excepto Windows XP Home Edition, Windows Server 2003 , Windows Home Server , en Windows Fundamentals for Legacy PCs , en las ediciones Windows Vista Ultimate, Enterprise y Business, Windows Server 2008 y Windows Server 2008 R2 y en Windows 7 Professional y superiores. Las versiones domésticas de Windows no admiten RDP.
Microsoft proporciona el cliente necesario para conectarse a versiones más nuevas de RDP para sistemas operativos de nivel inferior. Dado que las mejoras del servidor no están disponibles en los sistemas operativos de nivel inferior, las características introducidas con cada versión más nueva de RDP solo funcionan en sistemas operativos de nivel inferior cuando se conecta a un servidor RDP de una versión superior desde estos sistemas operativos más antiguos, y no cuando se utiliza el servidor RDP en el sistema operativo más antiguo. [ aclaración necesaria ]
Basado en el protocolo de compartición de aplicaciones ITU-T T.128 (también conocido como "T.share") de la serie de recomendaciones T.120 , la primera versión de RDP (denominada versión 4.0) fue presentada por Microsoft con "Terminal Services", como parte de su producto Windows NT 4.0 Server, Terminal Server Edition. [1] La Terminal Services Edition de NT 4.0 dependía de la tecnología MultiWin de Citrix , proporcionada anteriormente como parte de Citrix WinFrame sobre Windows NT 3.51, para soportar múltiples usuarios y sesiones de inicio de sesión simultáneamente. Microsoft requirió que Citrix licenciara su tecnología MultiWin a Microsoft para poder seguir ofreciendo su propio producto de servicios de terminal, entonces llamado Citrix MetaFrame, sobre Windows NT 4.0. Las DLL proporcionadas por Citrix incluidas en Windows NT 4.0 Terminal Services Edition aún tienen un copyright de Citrix en lugar de un copyright de Microsoft. Las versiones posteriores de Windows integraron el soporte necesario directamente. Microsoft adquirió la tecnología de uso compartido de aplicaciones T.128 del desarrollador de software británico Data Connection Limited . [6]
Esta versión se introdujo con Windows 2000 Server , agregó compatibilidad con varias funciones, incluida la impresión en impresoras locales, y tuvo como objetivo mejorar el uso del ancho de banda de la red. Los clientes RDP disponibles a través de la herramienta de creación de discos de Windows 2000 Terminal Server se probaron y funcionan incluso en Windows 3.1 de 16 bits utilizando bibliotecas TCP/IP de terceros como Trumpet WinSock.
Esta versión se introdujo con Windows XP Professional e incluía compatibilidad con sonido y color de 24 bits. Es compatible con Windows 2000 , Windows 9x y Windows NT 4.0 . [7] Con esta versión, el nombre del cliente se cambió de Cliente de Servicios de Terminal a Conexión a Escritorio Remoto ; sin embargo, la herencia se mantiene hasta el día de hoy, ya que el ejecutable subyacente todavía se llama mstsc.exe .
Esta versión se introdujo con Windows Server 2003 , incluía compatibilidad con conexiones en modo consola, un directorio de sesiones y asignación de recursos locales. También presenta Transport Layer Security (TLS) 1.0 para la autenticación del servidor y para cifrar las comunicaciones del servidor de terminales. [8] Esta versión está integrada en Windows XP Professional x64 Edition y Windows Server 2003 x64 & x86 Editions, y también está disponible para Windows XP como descarga.
Esta versión se introdujo con Windows Vista e incorporó compatibilidad con aplicaciones de Windows Presentation Foundation , autenticación a nivel de red , compatibilidad con la expansión de múltiples monitores y escritorios grandes, y conexiones TLS 1.0 . [9] El cliente RDP 6.0 está disponible en Windows XP SP2, Windows Server 2003 SP1/SP2 (ediciones x86 y x64) y Windows XP Professional x64 Edition a través de KB925876. El cliente de Conexión a Escritorio Remoto de Microsoft para Macintosh OS X también está disponible con compatibilidad con las versiones 10.4.9 y posteriores de Intel y PowerPC Mac OS.
Esta versión fue lanzada en febrero de 2008 y se incluyó primero con Windows Server 2008 y Windows Vista con Service Pack 1 y luego se adaptó a Windows XP con Service Pack 3. El cliente RDP 6.1 está disponible en Windows XP SP2, Windows Server 2003 SP1/SP2 (ediciones x86 y x64) y Windows XP Professional x64 Edition a través de KB952155. [10] Además de los cambios relacionados con la forma en que un administrador remoto se conecta a la "consola", [11] esta versión tiene nuevas funciones introducidas en Windows Server 2008, como la conexión remota a programas individuales y un nuevo sistema de redirección de impresora del lado del cliente que hace que las capacidades de impresión del cliente estén disponibles para las aplicaciones que se ejecutan en el servidor, sin tener que instalar controladores de impresión en el servidor [12] [13] también, por otro lado, el administrador remoto puede instalar, agregar/eliminar libremente cualquier software o configuración en el extremo del cliente. Sin embargo, para iniciar una sesión de administración remota, uno debe ser miembro del grupo Administradores en el servidor al que uno está intentando conectarse. [14]
Esta versión se lanzó a fabricación en julio de 2009 y se incluye con Windows Server 2008 R2, así como con Windows 7. [ 15] Con esta versión, también se cambió de Servicios de Terminal a Servicios de Escritorio Remoto . Esta versión tiene nuevas funciones como redirección de Windows Media Player, audio bidireccional, soporte para múltiples monitores, soporte para Aero Glass, aceleración de mapa de bits mejorada, redirección Easy Print, [16] acoplamiento de la barra de idioma . El cliente RDP 7.0 está disponible en Windows XP SP3 y Windows Vista SP1/SP2 a través de KB969084, [17] y no es oficialmente compatible con las ediciones Windows Server 2003 x86 y Windows Server 2003 / Windows XP Professional x64. Tampoco es oficialmente compatible con Windows Server 2008.
La mayoría de las características de RDP 7.0, como el uso remoto de Aero Glass, el audio bidireccional, la redirección de Windows Media Player, la compatibilidad con varios monitores y la impresión fácil de Escritorio remoto solo están disponibles en las ediciones Windows 7 Enterprise o Ultimate. [18] [19]
La versión 7.1 de RDP se incluyó con Windows 7 Service Pack 1 y Windows Server 2008 R2 SP1 en 2010. Introdujo RemoteFX , que proporciona compatibilidad con GPU virtualizada y codificación del lado del host.
Esta versión fue lanzada en Windows 8 y Windows Server 2012. Esta versión tiene nuevas funciones como Gráficos Adaptativos (renderizado progresivo y técnicas relacionadas), selección automática de TCP o UDP como protocolo de transporte, soporte multitáctil , soporte DirectX 11 para vGPU, redirección USB compatible independientemente del soporte vGPU, etc. [20] [21] Se muestra un botón de "calidad de conexión" en la barra de conexión del cliente RDP para conexiones RDP 8.0; al hacer clic en él se proporciona más información sobre la conexión, incluido si UDP está en uso o no. [22]
Los componentes de cliente y servidor RDP 8.0 están disponibles en Windows 7 SP1 y Windows Server 2008 R2 SP1 a través de KB2592687. El cliente RDP 8.0 también está disponible para Windows Server 2008 R2 SP1, pero los componentes de servidor no. El cliente RDC 8.0 incluye compatibilidad con el cifrado de sesiones mediante el estándar TLS 1.2. [23] El complemento requiere que se instale el protocolo DTLS como requisito previo. [22] Después de instalar las actualizaciones, para habilitar el protocolo RDP 8.0 entre equipos con Windows 7, se necesita un paso de configuración adicional mediante el editor de directivas de grupo . [24]
Una nueva característica de RDP 8.0 es el soporte limitado para el anidamiento de sesiones RDP; aunque sólo funciona para Windows 8 y Server 2012, Windows 7 y Server 2008 R2 (incluso con la actualización de RDP 8.0) no admiten esta característica. [25]
La función "sombra" de RDP 7, que permitía a un administrador monitorear (espiar) una conexión RDP, se ha eliminado en RDP 8. La función de comunicación remota de Aero Glass (aplicable a máquinas con Windows 7 que se conectan entre sí) también se ha eliminado en RDP 8. [21] [22]
Esta versión se lanzó con Windows 8.1 y Windows Server 2012 R2 . El cliente RDP 8.1, al igual que el cliente RDP 8.0, está disponible en Windows 7 SP1 y Windows Server 2008 R2 SP1 a través de KB2923545 pero, a diferencia de la actualización RDP 8.0 para Windows 7, no agrega un componente de servidor RDP 8.1 a Windows 7. Además, si se desea la función de servidor RDP 8.0 en Windows 7, se debe instalar la actualización KB 2592687 (componentes de cliente y servidor RDP 8.0) antes de instalar la actualización RDP 8.1. [26] [27]
La compatibilidad con el seguimiento de sesiones se agregó nuevamente en la versión 8.1 de RDP. Esta versión también corrige algunos fallos visuales con Microsoft Office 2013 cuando se ejecuta como RemoteApp . [26]
La versión 8.1 del RDP también permite un modo de "administración restringida". Para iniciar sesión en este modo solo es necesario conocer la contraseña cifrada, en lugar de su texto sin formato , lo que hace posible un ataque de paso del hash . [28] Microsoft ha publicado un documento de 82 páginas que explica cómo mitigar este tipo de ataque. [29]
La versión 10.0 del RDP se introdujo con Windows 10 e incluye las siguientes características nuevas: zoom de tamaño automático (útil para clientes HiDPI). Además, se incluyeron mejoras en la compresión de gráficos utilizando H.264/AVC. [30]
Microsoft introdujo las siguientes características con el lanzamiento de RDP 6.0 en 2006:
La versión 7.1 de RDP en 2010 introdujo la siguiente característica:
La última versión de RDP admite Transport Layer Security (TLS) versión 1.1, 1.2 y 1.3 para proteger el tráfico RDP. [32]
La versión 5.2 del RDP en su configuración predeterminada es vulnerable a un ataque de intermediario . Los administradores pueden habilitar el cifrado de la capa de transporte para mitigar este riesgo. [33] [34]
Las sesiones RDP también son susceptibles a la recolección de credenciales en memoria, que puede usarse para lanzar ataques de transferencia de hash . [35]
En marzo de 2012, Microsoft publicó una actualización para solucionar una vulnerabilidad de seguridad crítica en el RDP. La vulnerabilidad permitía que clientes no autenticados y gusanos informáticos pusieran en peligro una computadora Windows . [36]
La versión 6.1 del cliente RDP se puede utilizar para revelar los nombres y las imágenes de todos los usuarios en el servidor RDP (sin importar la versión de Windows) para poder elegir uno, si no se especifica ningún nombre de usuario para la conexión RDP. [ cita requerida ]
En marzo de 2018, Microsoft lanzó un parche para CVE - 2018-0886, una vulnerabilidad de ejecución remota de código en CredSSP, que es un proveedor de soporte de seguridad involucrado en Microsoft Remote Desktop y Windows Remote Management, descubierta por Preempt. [37] [38]
En mayo de 2019, Microsoft publicó un parche de seguridad para CVE - 2019-0708 (" BlueKeep "), una vulnerabilidad que permite la posibilidad de ejecución remota de código y que Microsoft advirtió que era "virustable", con el potencial de causar una interrupción generalizada. Inusualmente, también se pusieron a disposición parches para varias versiones de Windows que habían llegado al final de su vida útil, como Windows XP . No se produjo ninguna explotación maliciosa inmediata, pero los expertos fueron unánimes en que esto era probable y podría causar un daño generalizado en función de la cantidad de sistemas que parecían haber permanecido expuestos y sin parches. [39] [40] [41]
En julio de 2019, Microsoft emitió un parche de seguridad para CVE - 2019-0887, una vulnerabilidad de RDP que afecta a Hyper-V . [42]
Desde el lanzamiento de Conexión a Escritorio remoto , Microsoft y otras partes han creado varios clientes de Protocolo de Escritorio remoto adicionales, incluidos Microsoft Remote Desktop , rdesktop y FreeRDP .
Además de los Servicios de Escritorio Remoto creados por Microsoft , los servidores RDP de código abierto en Unix incluyen FreeRDP (ver arriba), ogon project y xrdp . El cliente de Conexión a Escritorio Remoto de Windows se puede utilizar para conectarse a un servidor de este tipo. También existe Azure Virtual Desktop , que utiliza RDP y es parte de la plataforma Microsoft Azure .
También existe un Protocolo de visualización remota de VirtualBox (VRDP) utilizado en la implementación de la máquina virtual VirtualBox por Oracle . [43] Este protocolo es compatible con todos los clientes RDP, como el que se proporciona con Windows pero, a diferencia del RDP original, se puede configurar para aceptar conexiones sin cifrar y sin contraseña, lo que puede ser útil en redes seguras y confiables, como las LAN domésticas o de oficina . De forma predeterminada, el servidor RDP de Microsoft rechaza las conexiones a cuentas de usuario con contraseñas vacías (pero esto se puede cambiar con el Editor de políticas de grupo [44] ). VRDP también proporciona opciones de autorización externa e invitada. No importa qué sistema operativo se instale como invitado porque VRDP se implementa en el nivel de la máquina virtual (host), no en el sistema invitado. Se requiere el paquete de extensión propietario de VirtualBox.
Microsoft exige que las implementaciones de terceros obtengan licencias de las patentes RDP pertinentes. [45] A febrero de 2014 [actualizar], se desconoce hasta qué punto los clientes de código abierto cumplen este requisito.
Los investigadores de seguridad informaron en 2016-17 que los cibercriminales estaban vendiendo servidores RDP comprometidos en foros clandestinos, así como en tiendas ilícitas especializadas en RDP. [46] [47] Estos RDP comprometidos pueden usarse como una "base de operaciones" para realizar otros tipos de fraude o para acceder a datos personales o corporativos confidenciales. [48] Los investigadores también informan de casos de cibercriminales que usan RDP para colocar malware directamente en las computadoras. [49]