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 el software de cliente RDP para este propósito, mientras que la otra computadora debe ejecutar el software de servidor RDP.
Existen 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 profesionales 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 Server".
El protocolo es una extensión del protocolo para compartir aplicaciones ITU-T T.128 . Microsoft hace públicas algunas especificaciones en su sitio web. [4]
Cada servidor y versión profesional de Microsoft Windows desde Windows XP en adelante [5] incluye 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 la última Service Pack de Windows aplicado. El servidor Terminal Services es compatible como 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. PC , en las ediciones Windows Vista Ultimate, Enterprise y Business, Windows Server 2008 y Windows Server 2008 R2 y en Windows 7 Professional y superior. Las versiones domésticas de Windows no son compatibles con RDP.
Microsoft proporciona el cliente necesario para conectarse a versiones RDP más recientes para sistemas operativos de nivel inferior. Dado que las mejoras del servidor no están disponibles en el 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 una versión superior del servidor RDP de estos sistemas operativos más antiguos, y no cuando se usa el servidor RDP en el sistema operativo más antiguo. [ se necesita aclaración ]
Basado en el protocolo para compartir aplicaciones ITU-T T.128 (durante el borrador también conocido como "T.share") de la serie de recomendaciones T.120 , Microsoft introdujo la primera versión de RDP (denominada versión 4.0) con "Terminal Services". ", como parte de su producto Windows NT 4.0 Server, Terminal Server Edition. [1] La edición Terminal Services de NT 4.0 se basó en la tecnología MultiWin de Citrix , proporcionada anteriormente como parte de Citrix WinFrame sobre Windows NT 3.51, para admitir múltiples usuarios y sesiones de inicio de sesión simultáneamente. Microsoft requirió que Citrix otorgara la licencia de su tecnología MultiWin a Microsoft para poder continuar 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 todavía tienen derechos de autor de Citrix en lugar de derechos de autor de Microsoft. Las versiones posteriores de Windows integraron directamente el soporte necesario. Microsoft adquirió la tecnología para compartir aplicaciones T.128 del desarrollador de software británico Data Connection Limited . [6]
Esta versión se introdujo con Windows 2000 Server , agregó soporte para una serie de funciones, incluida la impresión en impresoras locales, y tenía como objetivo mejorar el uso del ancho de banda de la red.
Esta versión se introdujo con Windows XP Professional e incluía soporte para color y sonido 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 Server a Conexión a Escritorio Remoto ; Sin embargo, la herencia permanece 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 e incluía soporte para conexiones en modo consola, un directorio de sesión 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 terminal. [8] Esta versión está integrada en Windows XP Professional x64 Edition y Windows Server 2003 x64 y x86 Edition, y también está disponible para Windows XP como descarga.
Esta versión se introdujo con Windows Vista e incorporó soporte para aplicaciones Windows Presentation Foundation , autenticación de nivel de red , compatibilidad con 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 hasta KB925876. El cliente de conexión a escritorio remoto de Microsoft para Macintosh OS X también está disponible con soporte para Intel y PowerPC Mac OS versiones 10.4.9 y superiores.
Esta versión se lanzó en febrero de 2008 y se incluye por primera vez con Windows Server 2008 y Windows Vista con Service Pack 1 y luego se adapta 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 hasta 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 una nueva funcionalidad introducida en Windows Server 2008, como la conexión remota a programas individuales y un nuevo sistema de redirección de impresoras 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] y, por otro lado, el administrador remoto puede instalar, agregar o 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 de Administradores en el servidor al que intenta conectarse. [14]
Esta versión se lanzó a la 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 Server 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 barra de idioma . El cliente RDP 7.0 está disponible en Windows XP SP3 y Windows Vista SP1/SP2 hasta 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 funciones de RDP 7.0, como el uso remoto de Aero Glass, audio bidireccional, redirección de Windows Media Player, compatibilidad con múltiples monitores y Remote Desktop Easy Print, 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 se lanzó en Windows 8 y Windows Server 2012 . Esta versión cuenta con nuevas funciones como Adaptive Graphics (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 soportada 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 hasta KB2592687. El cliente RDP 8.0 también está disponible para Windows Server 2008 R2 SP1, pero los componentes del servidor no. El complemento requiere que el protocolo DTLS esté instalado como requisito previo. [22] Después de instalar las actualizaciones, para que el protocolo RDP 8.0 esté habilitado entre máquinas con Windows 7, se necesita un paso de configuración adicional utilizando el editor de políticas de grupo . [23]
Una nueva característica de RDP 8.0 es la compatibilidad limitada con el anidamiento de sesiones RDP; solo funciona para Windows 8 y Server 2012; Windows 7 y Server 2008 R2 (incluso con la actualización RDP 8.0) no admiten esta función. [24]
La función "sombra" de RDP 7, que permitía a un administrador monitorear (espiar) en una conexión RDP se eliminó en RDP 8. La función de comunicación remota Aero Glass (aplicable a máquinas con Windows 7 que se conectan entre sí) también se eliminó en PDR 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 hasta 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 servidor y cliente RDP 8.0) antes de instalar la actualización RDP 8.1. [25] [26]
La compatibilidad con el seguimiento de sesiones se volvió a agregar 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 . [25]
La versión 8.1 de RDP también habilita un modo de "administrador restringido". Iniciar sesión en este modo solo requiere conocimiento de la contraseña hash, en lugar de su texto sin formato , por lo que es posible pasar el ataque hash . [27] Microsoft ha publicado un documento de 82 páginas que explica cómo mitigar este tipo de ataque. [28]
La versión 10.0 de 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. [29]
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 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. [31] [32]
Las sesiones RDP también son susceptibles a la recolección de credenciales en memoria, que pueden usarse para lanzar ataques de hash . [33]
En marzo de 2012, Microsoft lanzó una actualización para una vulnerabilidad de seguridad crítica en el RDP. La vulnerabilidad permitió que una computadora con Windows se viera comprometida por clientes no autenticados y gusanos informáticos . [34]
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 elegir uno, si no se especifica ningún nombre de usuario para la conexión RDP. [ cita necesaria ]
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 el escritorio remoto de Microsoft y la administración remota de Windows, descubierto por Preempt. [35] [36]
En mayo de 2019, Microsoft emitió 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 "gusanable", con el potencial de causar interrupciones generalizadas. 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 siguió ninguna explotación maliciosa inmediata, pero los expertos fueron unánimes en que esto era probable y podría causar daños generalizados en función de la cantidad de sistemas que parecían haber permanecido expuestos y sin parches. [37] [38] [39]
En julio de 2019, Microsoft emitió un parche de seguridad para CVE - 2019-0887, una vulnerabilidad RDP que afecta a Hyper-V . [40]
Existen numerosas implementaciones que no son de Microsoft de clientes y servidores RDP que implementan subconjuntos de la funcionalidad de Microsoft. Por ejemplo, el cliente de línea de comandos de código abierto rdesktop está disponible para los sistemas operativos Linux/Unix y Microsoft Windows. Hay muchos clientes GUI, como tsclient y KRDC , que se crean sobre rdesktop. [4]
En 2009, rdesktop se bifurcó como FreeRDP, un nuevo proyecto cuyo objetivo era modularizar el código, abordar diversos problemas e implementar nuevas funciones. FreeRDP viene con su propio cliente de línea de comandos xfreerdp, que admite Seamless Windows en RDP6. [41] Alrededor de 2011, el proyecto decidió abandonar la bifurcación y, en su lugar, reescribir bajo la licencia Apache , agregando más funciones como RemoteFX, RemoteApp y NTLMv2. [42] En 2019 se inició una distribución comercial llamada Thincast. [43] En el verano de 2020 siguió un cliente multiplataforma basado en FreeRDP que incluye soporte para Vulkan/H.264. Hay un cliente basado en GTK llamado Remmina también basado en FreeRDP.
FreeRDP ofrece implementaciones de servidor para macOS y Windows. En otros sistemas, incluido Linux, los paquetes de software pueden basarse en FreeRDP para implementar un servidor completo. Weston, el compositor de Wayland , utiliza FreeRDP para implementar un servidor rdp que denomina "rdp-backend". [44] Este servidor es a su vez utilizado por Microsoft para proporcionar soporte de gráficos (WSLg) en su Subsistema de Windows para Linux . [45]
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 dicho servidor.
Las soluciones de cliente RDP patentadas, como rdpclient, están disponibles como una aplicación independiente o integradas en el hardware del cliente. Un nuevo paradigma de acceso, el acceso basado en navegador, ha permitido a los usuarios acceder a escritorios y aplicaciones de Windows en cualquier host RDP, como hosts de sesión (Servicios de Terminal) de Escritorio remoto de Microsoft (RDS) y escritorios virtuales, así como PC físicas remotas.
También existe un Protocolo de visualización remota de VirtualBox (VRDP) utilizado en la implementación de la máquina virtual VirtualBox por parte de Oracle . [46] Este protocolo es compatible con todos los clientes RDP, como el proporcionado con Windows pero, a diferencia del RDP original, se puede configurar para aceptar conexiones no cifradas y sin protección con contraseña, lo que puede ser útil en redes seguras y confiables, como las domésticas o LAN de oficina . De forma predeterminada, el servidor RDP de Microsoft rechaza conexiones a cuentas de usuario con contraseñas vacías (pero esto se puede cambiar con el Editor de políticas de grupo [47] ). VRDP también proporciona opciones de autorización externa y de invitados. No importa qué sistema operativo esté instalado 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 requiere implementaciones de terceros para licenciar las patentes RDP relevantes. [48] En febrero de 2014 [actualizar], se desconoce en qué medida los clientes de código abierto cumplen este requisito.
Los investigadores de seguridad han informado que los ciberdelincuentes están vendiendo servidores RDP comprometidos en foros clandestinos, así como en tiendas RDP ilícitas especializadas. [49] [50] Estos RDP comprometidos pueden usarse como "preparación" para realizar otros tipos de fraude o para acceder a datos personales o corporativos confidenciales. [51] Los investigadores informan además de casos de ciberdelincuentes que utilizan RDP para colocar malware directamente en las computadoras. [52]
FreeRDP es un sucesor de rdesktop, una aplicación popular desde hace mucho tiempo para su uso en sistemas *nix para acceder a servidores y estaciones de trabajo Windows.
El objetivo de FreeRDP es doble:...