La cultura del trabajo desde casa, que experimentó un gran repunte durante la pandemia, ha impulsado el crecimiento de las herramientas de escritorio remoto, productividad y colaboración. Según TrustRadius, el tráfico de escritorios remotos se multiplicó por 16 durante la pandemia. Aunque las empresas se abran, es probable que esta tendencia siga siendo relevante, y por eso vamos a buscar formas de mejorar la seguridad mientras se accede a los sistemas remotos. El Protocolo de Escritorio Remoto (RDP, Remote Desktop Protocol) es un protocolo propietario de Microsoft que viene con una interfaz gráfica de usuario. Te permite conectarte y acceder a otros dispositivos de forma remota a través de Internet.
Este RDP constituye la base para construir soluciones virtualizadas y, a través de ellas, ofrece flexibilidad, extensibilidad y rentabilidad tanto a empresas como a clientes.
Algunas de las ventajas de utilizar RDP son:
- Permite añadir potencia de procesamiento o capacidad a los dispositivos existentes sin necesidad de realizar costosas actualizaciones.
- Ofrece aplicaciones en diferentes dispositivos, incluidos los clientes ligeros.
- Garantiza la seguridad de los datos.
- Reduce el tiempo de configuración de los nuevos dispositivos.
Debido a estos inmensos beneficios, RDP es ampliamente utilizado y forma parte del sistema operativo Windows.
Veamos brevemente cómo Windows soporta los escritorios remotos.
Cómo Funciona el Escritorio Remoto
Los sistemas operativos Windows llevan incorporado el Microsoft Remote Desktop, una aplicación cliente que permite conectarse y acceder a recursos y archivos en ordenadores remotos a través de Internet.
¿Cómo funciona?
Cuando inicias una sesión de escritorio remoto, el cliente (tu ordenador) envía una señal al ordenador host a través del puerto de escucha 3389 solicitando permiso para conectarse. A su vez, el host pide las credenciales de inicio de sesión, las coteja con su lista de usuarios de escritorio remoto preconfigurados y, en consecuencia, da el permiso.
Para iniciar la aplicación de escritorio remoto, puedes pulsar la combinación de teclas de Windows + R y luego escribir mstsc
. A continuación, pulsa el botón Ejecutar.
Después de iniciar la sesión, el puerto de escucha envía las pulsaciones del teclado y los movimientos del mouse al ordenador host y recoge y muestra los datos del host a tu ordenador. Es casi como si estuvieras sentado frente al ordenador remoto y trabajaras en él. Y todo ello gracias a las comunicaciones de ida y vuelta a través del puerto de escucha.
Sin embargo, ten en cuenta que un host sólo permite una conexión remota a la vez, y si alguien intenta utilizar el ordenador host o conectarse a él desde otro dispositivo, la conexión remota se pierde.
De la discusión anterior, está claro que los puertos de escucha son una parte crítica del trabajo de escritorio remoto.
En cierto modo, la criticidad de los puertos de escucha es también una vulnerabilidad, ya que los hackers pueden apoderarse del puerto de escucha para conectarse a ordenadores remotos.
¿Por qué Cambiar el Número de Puerto RDP?
Microsoft utiliza el puerto estándar 3389 para todas las conexiones remotas, y esto no es ningún secreto. Muchas veces, los hackers utilizan el puerto de escucha 3389 para conectarse a sistemas remotos y utilizan un sistema de adivinación automática de contraseñas para acceder a él. Este tipo de ataques se denominan de fuerza bruta y password spraying, como el que acaba de descubrir Microsoft.
Sin duda, se trata de una importante vulnerabilidad de seguridad que puede poner en riesgo su sistema remoto.
Para superar esta vulnerabilidad, muchos administradores optan por cambiar el número de puerto RDP de 3389 a cualquier otro puerto libre, lo que hace más difícil que los hackers identifiquen el puerto de escucha.
Además de protegerse de los hackers, los administradores también cambian el número de puerto RDP para evitar los firewalls.
Por razones de seguridad, los firewalls de algunos sistemas están configurados para bloquear los mensajes entrantes y salientes hacia y desde el puerto 3389, respectivamente. Esta práctica es más para evitar que los hackers se registren a través del puerto que para cortar el acceso remoto.
Una vez más, la solución para esto es cambiar el número de puerto.
Cómo cambiar el número de puerto del escritorio remoto en Windows 10
Ahora que sabes por qué debes cambiar el número de puerto del escritorio remoto, vamos a ver cómo puedes cambiarlo en Windows 10.
Hay dos formas de cambiar este número de puerto: usando el registro de Windows y PowerShell.
Aunque una no es necesariamente mejor que la otra, es más bien una preferencia personal. Si conoces PowerShell y prefieres hacer las cosas a través de códigos, esa es tu mejor opción.
Usar el Registro de Windows
A continuación, te mostramos una guía paso a paso sobre cómo puede cambiar el número de puerto utilizando el Registro de Windows.
- Haz clic en Windows + R para abrir el cuadro de diálogo Ejecutar (Aquí tienes una lista de +200 comandos para ejecutar). Escribe
regedit
para abrir el editor del registro. - Ve a
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
- Busca el PortNumber.
- Haz clic en Editar > Modificar.
- En el cuadro Editar valor DWORD (32 bits), selecciona la opción Decimal. Escribe el nuevo número de puerto que desea utilizar, entre 1 y 65353 (por ejemplo, 1360), en el cuadro de Información del Valor.
- Haz clic en Aceptar y cierra el registro.
- Reinicia tu ordenador.
- Comprueba si puedes conectarte al ordenador remoto.
Si tu sistema remoto utiliza un firewall, asegúrate de configurarlo para permitir las conexiones con el nuevo número de puerto.
Puedes crear una regla que permita la conexión entrante para tu nuevo puerto TCP/UDP RDP manualmente en la consola del Firewall de Windows Defender (firewall.cpl
) o utilizando los cmdlets de PowerShell del módulo NetSecurity:
New-NetFirewallRule -DisplayName "Nuevo RDP Port 1360" -Direction Inbound -LocalPort 1360 -Protocol TCP -Action allowNew-NetFirewallRule -DisplayName "Nuevo RDP Port 1350" -Direction Inbound -LocalPort 1360 -Protocol UDP -Action allow
Entonces se conectará con éxito al escritorio remoto de un ordenador utilizando el nuevo puerto RDP. Puedes utilizar el siguiente comando para asegurarte de que se está escuchando en otro puerto.
netstat –na | Find "LIST"
Usando PowerShell
Si te sientes cómodo usando comandos de PowerShell, esta es la forma más fácil de hacerlo.
Utiliza el siguiente script para comprobar el puerto actual que se está utilizando:
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "PortNumber"
La captura de pantalla que aparece a continuación te muestra cómo será el resultado.
Ahora, utiliza este comando de PowerShell para cambiar el puerto a 3320:
$portvalue = 3320
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "PortNumber" -Value $portvalue
New-NetFirewallRule -DisplayName 'RDPPORTLatest-TCP-In' -Profile 'Public' -Direction Inbound -Action Allow -Protocol TCP -LocalPort $portvalue
New-NetFirewallRule -DisplayName 'RDPPORTLatest-UDP-In' -Profile 'Public' -Direction Inbound -Action Allow -Protocol UDP -LocalPort $portvalue
Puedes elegir cualquiera de los dos métodos para cambiar el número de puerto del escritorio remoto en Windows 10.
Además de estos dos métodos, algunas herramientas de terceros te permitirán cambiar el número de puerto utilizando una sencilla interfaz de usuario, y todos los cambios complejos ocurrirán en segundo plano.
Extra: Script Completo
El script completo de PowerShell para cambiar el número de puerto RDP, crear la regla de firewall y reiniciar el servicio de Escritorio Remoto en el nuevo puerto puede tener este aspecto:
Write-host "Especifica el número de tu nuevo puerto RDP: " -ForegroundColor Yellow -NoNewline;$RDPPort = Read-Host
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-TCP\" -Name PortNumber -Value $RDPPort
New-NetFirewallRule -DisplayName "Nuevo puerto RDP $RDPPort" -Direction Inbound –LocalPort $RDPPort -Protocol TCP -Action Allow
New-NetFirewallRule -DisplayName "Nuevo puerto RDP $RDPPort" -Direction Inbound –LocalPort $RDPPort -Protocol UDP -Action Allow
Restart-Service termservice -force
Write-host "El número del puerto RDP ha sido cambiado a $RDPPort " -ForegroundColor Magenta
Puedes cambiar el número de RDP de forma remota en varios equipos de tu dominio AD (en la OU específica) utilizando los cmdlets Invoke-Command y Get-ADComputer:
Write-host "Especifica el número de tu nuevo puerto RDP: " -ForegroundColor Yellow -NoNewline;$RDPPort = Read-Host
$PCs = Get-ADComputer -Filter * -SearchBase "CN=IT,CN=Computers,CN=NY,DC=woshub,DC=com"
Foreach ($PC in $PCs) {
Invoke-Command -ComputerName $PC.Name -ScriptBlock {
param ($RDPPort)
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-TCP\" -Name PortNumber -Value $RDPPort
New-NetFirewallRule -DisplayName "Nuevo puerto RDP $RDPPort" -Direction Inbound –LocalPort $RDPPort -Protocol TCP -Action Allow
New-NetFirewallRule -DisplayName "Nuevo puerto RDP $RDPPort" -Direction Inbound –LocalPort $RDPPort -Protocol TCP -Action Allow
Restart-Service termservice -force
}
Esta guía para cambiar el puerto RDP estándar es adecuada para cualquier versión de Windows a partir de Windows XP (Windows Server 2003) y hasta las construcciones modernas de Windows 10/ Windows 11 / Windows Server 2019.
Una Buena Razón para Cambiar el Número de Puerto
Para recapitular, RDP ayuda a conectarse a dispositivos de forma remota, y todas las conversaciones entre los dos dispositivos ocurren a través de puertos de escucha. En concreto, el puerto 3389 se utiliza por defecto para las conexiones remotas.
Pero, los hackers pueden utilizar ataques de fuerza bruta para conectarse a dispositivos remotos a través del puerto por defecto, por lo que muchos administradores y expertos en seguridad prefieren cambiar el número de puerto para dificultar que los hackers se apoderen de los dispositivos remotos. A veces, el cambio también es necesario para evitar los firewalls.
Hay dos formas de cambiar el número de puerto: utilizando el registro de Windows y el código PowerShell.
Entonces, ¿cuál de ellas prefieres? ¿Has cambiado el puerto de escritorio remoto de alguna otra manera? Por favor, comparte tu experiencia a través de los comentarios.