Proteger la conexión al escritorio remoto en Windows

El escritorio remoto de Windows es una herramienta muy útil para acceder a un equipo con ese sistema operativo desde cualquier lugar. Se incluye en todas las versiones recientes de Windows (a partir de Windows XP) aunque es necesario activar el escritorio remoto manualmente ya no lo está por omisión.

En su implementación permite abrir a pantalla completa el escritorio del equipo remoto pudiendo interactuar con él prácticamente como si “estuviera sentado enfrente del equipo”. Esto permite múltiples aplicaciones como el acceso a documentos, aplicaciones o intranets privadas que sólo son accesibles desde ese equipo.

Como casi todas las cosas, si se utiliza de forma adecuada es una gran herramienta pero puede ocasionar algunos inconvenientes, sobre todo cuando hablamos de seguridad: se trata de una puerta trasera a sistemas con unos privilegios elevados por su ubicación en la red.

El protocolo RDP (Remote Desktop Protocol, extensión de ITU-T T.128 sobre el puerto TCP 3389) es razonablemente seguro pero no invulnerable. Recientemente, se ha reportado una vulnerabilidad (MS12-020) que puede comprometer completamente el sistema afectado.

Entre las opciones (aparte del parche) que se proponen están deshabilitar el servicio, si no es imprescindible, o restringir el acceso al puerto a un subconjunto de máquinas de confianza. Con esa simple medida, la brecha de seguridad queda reducida casi a la nada: un atacante externo no puede intentar el acceso. Evidentemente, pueden atacarnos desde las máquinas de confianza si se produce un fallo de seguridad pero las opciones son mínimas y controlables.

Sin embargo, esta medida es difícil de aplicar en el escenario actual: casi nadie tiene IP fija en su conexión casera (supone un sobrecoste considerable en la factura) por lo que supone perder la funcionalidad. Lo primero que viene a la mente, y que se comenta en la propia solución, es utilizar una VPN para el acceso y autorizar las máquinas del dominio, pero montar una VPN no es una tarea trivial…

Existe otra solución más sencilla: utilizar un túnel SSH para asegurar la conexión. De esta forma se limita el acceso al puerto, se añade una capa extra de cifrado y la necesidad de atacar a dos sistemas diferentes (SSH y RDP). Lo único necesario es un cliente de SSH que permita configurar túneles (en Windows se puede utilizar la última versión de PuTTY).

  1. Crear una conexión SSH nueva

    Debe utilizarse un servidor que se encuentre entre los equipos autorizados

  2. Activar la compresión (Connection >> SSH >> Enable compression)

    No es obligatorio pero reduce el tráfico de red

  3. Crear el túnel (Connection >> SSH >> Tunnels)

    Se debe indicar en Source Port un indicador de puerto (recomendable utilizar valores empezando por 3391) y en Destination “nombre.maquina.windows:3389” y añadirlo.

    Es posible añadir más de un puerto a la misma conexión siempre que se indique un número de puerto diferente en Source Port.

  4. Iniciar la sesión en el equipo con la configuración

    Es recomendable guardar la conexión asignándole un nombre para no tener que repetir estos pasos nuevamente.

  5. Conectarse a través del túnel con un cliente

    En el cliente de escritorio remoto se debe conectar “localhost:puerto” donde el puerto es el elegido en Source Port para el equipo deseado.

Si todo es correcto, el sistema se conectará a través del túnel. Sólo falta configurar el firewall para que sólo admita conexiones desde las máquinas elegidas. Si se trata del firewall de Windows hay que buscar la regla de entrada denominada Escritorio Remoto (TCP de entrada), editarla e indicar las IPs, o los rangos de IPs, remotas autorizadas en la pestaña “ámbito”.

Si se intenta una conexión directa al escritorio remoto ésta será bloqueada impidiendo el acceso al sistema mientras que utilizando el túnel de SSH el acceso se realiza desde una máquina autorizada sin problemas.

Más información
Berkeley – Information Services and Technology
DESY

4 comments

  1. denis · julio 7, 2012

    Hola. Muy interesante el tema. He estado últimamente con una duda rondando mi cabeza y creo que usted puede ayudarme. Resulta que estoy familiarizado con la conexión a escritorio remoto desde la LAN de mi universidad, entre las máquinas que pertenecían en la misma, pero en estos momentos poseo internet por un modem inalambrico de digitel (Venezuela) y estoy queriendo conectarme a la computadora de un familiar que tiene Internet de cantv. No entiendo bien cómo funciona la conexión a escritorio remoto fuera de la LAN a la que estaba acostumbrado, y cuando le hago ping a la máquina esta no responde… por otro lado la ip que me muestra es clase C, 192.168… así que he pensado que tal vez deba poner la ip y seguido el proveedor, por ejemplo, IP.cantv.net, no se si estoy equivocado o no. Podría ayudarme??

    • Eru · septiembre 6, 2012

      denis, estas confundiendo lo que es una ip privada y una ip publica… Si deseas conectarte POR INTERNET a otro equipo, no puedes utilizar la ip 192.168… Tendrías que utilizar la ip publica del equipo al que te quieres conectar… Además, casi todos los routers traen activo el servicio de NAT y ruteo, por lo que primero tendrías que entrar al modem de tu familiar con cantv, y direccionar los puertos de acceso remoto a la ip privada del equipo de tu familiar… Asi al entrar a la ip publica por el puerto de accesoo remoto, el router te direccionaria a dicho puerto en su red privada, al equipo que quieres conectarte… Vamos, todo eso lo tendrías que hacer presencialmente con tu familiar… Si lo deseas mas facil, podrías utilizar algun software de acceso remoto que tenga preconfigurada una VPN, como CrossLoop o NTRConnect, u otro de un icono azul que no recuerdo el nombre por ahora… Con esos softwares, solo tendrias que abrir el software, al tiempo que tu familiar tambien lo hace… El te mandaria un codigo que le da el programa servidor en su equipo, y tu escribir ese mismo codigo en tu programa… No necesitas abrir ningun puerto, y la conexion funciona de manera aceptable, cruzando el trafico por las VPN de las empresas de los softwares que te mencione🙂.

      Si tienes dudas, busca en internet, deben haber tutoriales, y es relativamente facil🙂. Saludos y suerte.

  2. Fabian C · septiembre 30, 2012

    Hola Oscar, una consulta, ¿ como veo la IP desde la cual alguien se quiere conectar a mi escritorio ?
    Tengo win XP SP3
    para ver quien accede a mi escritorio remoto y quien no configuré desde herramientas administrativas, directivas de seguridad local
    entrando a directivas locales, directiva de auditoria habilite “Auditar eventos de inicio de sesión de cuenta”

    con esto puedo ver en el visor de sucesos, seguridad, quien entra y quien no pudo entrar
    pero no se donde buscar la IP desde la cual se accedió o la Ip desde la cual se quiso ingresar

    ¿ como puedo ver la IP ?
    Gracias Fabian C

  3. Jesús López González · febrero 3, 2013

    Reblogged this on ASIRMania.

Los comentarios están cerrados.