Windows26 de mayo de 2026 18 vistas

Cambiar el puerto RDP en un VPS Windows Server

Cambiar el puerto RDP en un VPS Windows Server

Resumen rápido

  1. Abrir regedit o PowerShell como administrador.

  2. Modificar el valor PortNumber en HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp.

  3. Crear una regla de firewall entrante que permita el nuevo puerto TCP.

  4. Reiniciar el servicio RDP: Restart-Service -Name TermService -Force.

  5. Reconectarse a través de mstsc con la sintaxis IP:NuevoPuerto.


🎯 ¿Por qué cambiar el puerto RDP por defecto (3389)?

El puerto 3389 es el primer puerto escaneado por los bots tan pronto como una dirección IP se expone en Internet. En 2024, Shodan registró más de 4,4 millones de instancias RDP expuestas: todas continuamente atacadas por ataques automatizados.

Concretamente, en un VPS recién desplegado, los primeros intentos de fuerza bruta llegan en menos de 10 minutos. La cuenta Administrator es probada en prioridad.

Cambiar el puerto no es suficiente para asegurar un VPS. Es seguridad por oscuridad: reduce el ruido, no el riesgo. Combínalo con:

  • La autenticación NLA (Network Level Authentication)

  • Reglas de firewall estrictas (restricción por IP)

  • Una cuenta dedicada sin derechos de administrador

  • Una política de bloqueo de cuenta

Es el primer paso, no el único.


⚠️ Antes de comenzar: requisitos previos

Antes de tocar nada, verifica estos puntos:

  • Acceso de administrador al VPS (sesión RDP activa o consola OuiHeberg)

  • No cortar tu sesión RDP en curso: aplica los cambios en el orden correcto (firewall primero, luego registro)

  • Elegir un puerto libre en el rango 49152–65535 (puertos dinámicos, menos apuntados por los escáneres)

  • Tener un acceso de emergencia: consola KVM/IPMI o la consola de emergencia OuiHeberg: indispensable si te bloqueas

⚠️ Si olvidas abrir el nuevo puerto en el firewall antes de reiniciar el servicio RDP, perderás el acceso. Mantén la consola OuiHeberg abierta en una pestaña.


🖥️ Método 1: A través del editor de registro (GUI)

Este es el método clásico, adecuado si no te sientes cómodo con PowerShell.

1. Abrir el editor de registro

Pulsa Win + R, escribe regedit, valida con Enter.

2. Navegar hacia la clave RDP

En la barra de direcciones, pega esta ruta:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp

3. Modificar el valor PortNumber

  • Doble clic en PortNumber

  • Selecciona Decimal

  • Reemplaza 3389 por tu nuevo puerto (ej.: 54321)

  • Haz clic en OK

4. Cerrar regedit

La modificación se guarda inmediatamente. El servicio RDP debe reiniciarse para que se tenga en cuenta (ver sección dedicada).

Imagen⚡ Método 2: A través de PowerShell (recomendado)

Más rápido, reproducible y scriptable. Abre PowerShell como administrador y ejecuta los comandos a continuación.

Verificar el puerto RDP actual:

Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name PortNumber

Cambiar el puerto RDP (ejemplo: puerto 54321):

Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name PortNumber -Value 54321

Verificar que la modificación se ha guardado correctamente:

Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name PortNumber

Crear la regla de firewall en un solo comando:

New-NetFirewallRule -DisplayName "RDP Custom Port" -Direction Inbound -Protocol TCP -LocalPort 54321 -Action Allow

Eliminar la antigua regla RDP (opcional pero recomendado):

Remove-NetFirewallRule -DisplayName "Remote Desktop - User Mode (TCP-In)"

Reiniciar el servicio RDP sin reiniciar:

Restart-Service -Name TermService -Force 

Imagen🔥 Actualizar las reglas del firewall de Windows

Este es el paso más crítico. Si reinicias el servicio RDP sin haber abierto el nuevo puerto en el firewall, perderás el acceso inmediatamente.

A través de la interfaz gráfica (Windows Defender Firewall):

  1. Abrir Firewall de Windows Defender con funciones avanzadas de seguridad (wf.msc)

  2. Haz clic en Reglas de tráfico entranteNueva regla

  3. Selecciona PuertoTCP → introduce tu nuevo puerto (ej.: 54321)

  4. Elige Permitir la conexión → aplica a todos los perfiles → nombra la regla

  5. Haz clic en Finalizar

A través de PowerShell (ya incluido en el método 2):

New-NetFirewallRule -DisplayName "RDP Custom Port" -Direction Inbound -Protocol TCP -LocalPort 54321 -Action Allow

Bloquear el antiguo puerto 3389 (recomendado):

New-NetFirewallRule -DisplayName "Block RDP Default Port" -Direction Inbound -Protocol TCP -LocalPort 3389 -Action Block

💡 También piensa en verificar las reglas a nivel de tu infraestructura OuiHeberg. Si un firewall externo filtra los puertos, el nuevo puerto también debe estar abierto allí. Consulta nuestra guía configurar el firewall de Windows Server para más detalles.


🔄 Reiniciar el servicio RDP

Tres opciones, de la más rápida a la más segura:

Opción 1: PowerShell (sin reiniciar, recomendado):

Restart-Service -Name TermService -Force

Opción 2: Administrador de servicios:

  1. Pulsa Win + R → escribe services.msc

  2. Encuentra Servicios de Escritorio Remoto (Remote Desktop Services)

  3. Clic derecho → Reiniciar

Opción 3: Reinicio completo del servidor:

La más segura si quieres asegurarte de que todo esté limpio. Usa Restart-Computer o el menú de inicio.


✅ Verificar que el cambio está activo

Antes de cerrar tu sesión, confirma que el nuevo puerto está escuchando correctamente.

Método 1: netstat (CMD o PowerShell):

netstat -an | findstr :54321

Debes ver una línea con 0.0.0.0:54321 en estado LISTENING.

Método 2: Configuración de Windows:

Configuración → Sistema → Escritorio remoto → Configuración avanzada → el puerto mostrado debe coincidir con el nuevo.

Método 3: Prueba de conexión:

Desde otro equipo, abre mstsc y conéctate a través de IP:54321. Si se muestra la ventana de conexión RDP, está bien.

📸 [Placeholder screenshot: resultado de netstat -an mostrando el nuevo puerto en estado LISTENING]


🔗 Conectarse con el nuevo puerto

La sintaxis cambia ligeramente según el cliente utilizado.

Windows: mstsc:

En el campo "Equipo", introduce: 203.0.113.10:54321

Para guardar la conexión en un archivo .rdp: Mostrar opciones → Guardar como.

macOS: Microsoft Remote Desktop:

Modificar la conexión → campo Puerto → ingresar 54321.

Linux: Remmina:

En la configuración de la conexión, campo Puerto54321.

Linux: rdesktop:

rdesktop -u Administrator -p 54321 203.0.113.10:54321

Para más detalles sobre la conexión inicial, consulta nuestra guía conectarse a su VPS Windows a través de RDP.


🛡️ Ir más allá: Asegurar RDP completamente

Cambiar el puerto es un comienzo. Aquí está lo que realmente marca la diferencia.

Activar NLA (Network Level Authentication):

Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server' -Name UserAuthentication -Value 1

NLA obliga a la autenticación antes del establecimiento de la sesión RDP: bloquea los ataques que explotan la fase de negociación.

Crear un usuario RDP dedicado:

No exponer nunca la cuenta Administrator en RDP. Crea una cuenta dedicada con derechos limitados, añadida al grupo "Usuarios de Escritorio Remoto".

Restringir el acceso RDP por IP:

En la regla de firewall, utiliza el parámetro -RemoteAddress para permitir solo tus IP conocidas:

New-NetFirewallRule -DisplayName "RDP Custom Port IP Restricted" -Direction Inbound -Protocol TCP -LocalPort 54321 -RemoteAddress 203.0.113.5 -Action Allow

Activar la política de bloqueo de cuenta:

A través de secpol.msc → Estrategias de cuenta → Política de bloqueo de cuenta → 5 intentos como máximo.

VPN + RDP:

La opción más segura: no expongas RDP en Internet en absoluto. Conéctate primero a la VPN, luego a RDP en la IP privada.

Para profundizar en la configuración del firewall, consulta nuestra guía completa: configurar el firewall de Windows Server en un VPS.


🚨 Solución de problemas: Problemas frecuentes

1. Conexión imposible después del cambio de puerto

Causa probable: la regla de firewall no se ha creado o no está activa.

Verifica las reglas existentes:

Get-NetFirewallRule | Where-Object { $_.DisplayName -like "*RDP*" }

Recrea la regla si es necesario:

New-NetFirewallRule -DisplayName "RDP Custom Port" -Direction Inbound -Protocol TCP -LocalPort 54321 -Action Allow

2. Puerto ya utilizado por otro servicio

Verifica si el puerto está libre antes de usarlo:

netstat -an | findstr :54321

Si ya aparece una línea, elige otro puerto en el rango 49152–65535.

3. El servicio RDP no reinicia

Consulta los registros de eventos para identificar el error:

Get-EventLog -LogName System -Source "TermService" -Newest 10

Mira también en el Visor de eventos → Registros de Windows → Sistema → filtra por la fuente "TermService".

4. El firewall externo bloquea el nuevo puerto

Si usas un VPS OuiHeberg, verifica que el puerto esté abierto a nivel de infraestructura en tu espacio de cliente. El firewall de Windows y el firewall de red son dos capas distintas.

5. Olvidaste el nuevo puerto RDP

Recupéralo directamente desde el registro:

Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name PortNumber

❓ FAQ

¿Qué puerto elegir para reemplazar el 3389?

Elige un puerto en el rango 49152–65535 (puertos dinámicos IANA). Estos puertos rara vez son escaneados por los bots. Evita puertos conocidos como 443, 8080 o 22. Un puerto como 54321 o 59876 es perfecto.

¿Cambiar el puerto RDP es suficiente para asegurar mi VPS?

No. Reduce el volumen de ataques automatizados, pero un escáner dirigido encontrará el puerto en unos minutos. Combina este cambio con NLA activado, una cuenta dedicada no administrativa, una restricción de acceso por IP y una política de bloqueo de cuenta.

¿Cómo conectarme a RDP con un puerto personalizado?

Bajo Windows, usa mstsc con la sintaxis IP:PUERTO en el campo "Equipo" (ej.: 203.0.113.10:54321). En macOS con Microsoft Remote Desktop, modifica el campo Puerto en la configuración de la conexión. En Linux, Remmina ofrece un campo Puerto dedicado.

¿Es necesario reiniciar el servidor después del cambio?

No, no es necesario un reinicio completo. Solo es necesario reiniciar el servicio RDP con Restart-Service -Name TermService -Force. El cambio está activo de inmediato.

¿Se puede cambiar el puerto RDP sin acceso de administrador?

No. La modificación del registro y la creación de reglas de firewall requieren derechos de administrador locales. Sin estos derechos, los comandos fallarán con un error de acceso denegado.

¿Cómo verificar que el nuevo puerto RDP está abierto?

Ejecuta netstat -an | findstr :54321 en CMD o PowerShell. Si ves 0.0.0.0:54321 LISTENING, el servicio está escuchando en ese puerto. También puedes probar desde un equipo externo con mstsc ingresando IP:54321.


🔗 Fuentes útiles


¿Necesitas un VPS Windows de alto rendimiento? Descubre nuestras ofertas VPS Windows.