Un puerto RDP que responde a todo internet recibe intentos de contraseña a los pocos minutos de arrancar el servidor. Una contraseña larga aguanta, pero cada intento sigue siendo un inicio de sesión, llena el registro de eventos y da al siguiente fallo de RDP alguien con quien hablar. Cinco pasos lo resuelven. Cada uno es un comando de PowerShell, y todos se ejecutaron en nuestra imagen de Windows Server 2022 antes de publicar.
Abre PowerShell como administrador por RDP (cómo conectarte) y sigue el orden. Deja el paso 4 para el final: es el único que puede dejarte fuera.
1. Usa una contraseña larga y única
Si sigues con la contraseña del primer acceso, cámbiala en el panel por una larga (20+ caracteres, de un gestor de contraseñas). Todos los pasos de abajo suponen que la contraseña en sí no se puede adivinar.
2. Activa la autenticación a nivel de red (NLA)
Con NLA, Windows comprueba tus credenciales antes de crear una sesión y dibujar la pantalla de inicio. Las conexiones no autenticadas nunca llegan al código del escritorio, que es donde vivían los fallos de RDP más conocidos. Comprueba el estado actual:
(Get-CimInstance -Namespace root/cimv2/TerminalServices -ClassName Win32_TSGeneralSetting -Filter "TerminalName='RDP-tcp'").UserAuthenticationRequired
1 significa que NLA está activa. Si ves 0, actívala:
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name UserAuthentication -Value 1
Los clientes de Escritorio remoto actuales para Windows, macOS y Linux (xfreerdp) admiten NLA. Tu próxima conexión pedirá la contraseña antes de mostrar la pantalla remota.
3. Bloquea cuentas tras intentos fallidos
Una instalación predeterminada de Windows Server 2022 nunca bloquea una cuenta, lleguen las contraseñas erróneas que lleguen. En los servidores instalados desde nuestra imagen a partir del 24 de octubre de 2026 el límite de abajo ya viene puesto; en los anteriores, ponlo tú:
net accounts /lockoutthreshold:5 /lockoutwindow:15 /lockoutduration:15
net accounts
Cinco contraseñas erróneas en 15 minutos bloquean la cuenta durante 15 minutos. Lo probamos: tras cinco intentos fallidos quedaron bloqueados tanto un usuario normal como el Administrator integrado. El bloqueo se levanta solo, así que una mañana de erratas te cuesta un cuarto de hora, no el servidor.
4. Permite RDP solo desde tu IP
Este paso elimina casi todo el ruido. Las reglas del Firewall de Windows aceptan una lista de direcciones remotas; pon la tuya. Mira tu IP pública actual en cualquier página de «cuál es mi IP» y luego:
$myIp = '203.0.113.10' # your public IP; several: '203.0.113.10','198.51.100.0/24'
Get-NetFirewallPortFilter | Where-Object LocalPort -eq 3389 | Get-NetFirewallRule | Set-NetFirewallRule -RemoteAddress $myIp
Ese comando encuentra todas las reglas de entrada del puerto 3389, no solo el grupo integrado «Escritorio remoto». Importa: los servidores instalados desde nuestra imagen antes del 24 de octubre de 2026 tienen una regla extra llamada «EQVPS RDP 3389» que abre el puerto a todos, y otro software puede añadir las suyas. Si restringes solo el grupo integrado, una regla así mantiene el puerto abierto. Cometimos exactamente ese error al probar. Comprueba el resultado:
Get-NetFirewallPortFilter | Where-Object LocalPort -eq 3389 | Get-NetFirewallRule |
Select-Object DisplayName, @{n='Remote';e={($_ | Get-NetFirewallAddressFilter).RemoteAddress}}
Cada línea debe mostrar tu dirección. En nuestra prueba, una conexión desde cualquier otra dirección se quedaba sin respuesta y la permitida entraba.
En un plan NAT funciona igual. La redirección desde tu puerto personal conserva tu dirección real, así que permite tu propia IP pública.
Si tu IP cambia, RDP deja de responderte también a ti. Abre la consola del navegador desde el panel (no pasa por RDP ni por el cortafuegos), entra y ejecuta el comando con la nueva dirección. Para quitar la lista por completo, usa -RemoteAddress Any.
5. Mira quién intenta entrar
Los inicios de sesión fallidos son el evento 4625 del registro de Seguridad. Esto muestra el nombre de la cuenta y la dirección de cada intento:
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4625} -MaxEvents 20 |
Select-Object TimeCreated, @{n='User';e={$_.Properties[5].Value}}, @{n='SourceIP';e={$_.Properties[19].Value}}
Antes de la lista de IP verás un goteo constante de Administrator, admin, user desde direcciones que no conoces. Después, la lista debería quedarse en silencio.
Lo que no vale la pena
- Cambiar el puerto de RDP. En un plan con IPv4 propia solo reduce el ruido del registro; los escáneres encuentran el nuevo puerto enseguida. En un plan NAT rompe tu acceso, porque la redirección va al 3389.
- Apagar el cortafuegos «para que funcione». Si RDP deja de responder tras cambiar una regla, corrige la regla desde la consola del navegador.
Mantenlo actualizado
Los incidentes de RDP más graves vinieron de fallos del protocolo, no de contraseñas. Windows Server 2022 recibe actualizaciones de seguridad hasta el 14 de octubre de 2031, así que deja Windows Update activado y reinicia cuando lo pida.
La imagen es Windows Server 2022 con tu propia licencia (cómo funciona BYOL). Los planes empiezan en Windows-Small: 4 vCPU, 4 GB de RAM, 50 GB, $11/mes con NAT. Con IPv4 propia, Windows Small-IP cuesta $28/mes. Los cuatro planes están en la página de Windows VPS. Para tener SSH junto a RDP, consulta OpenSSH en Windows Server.
Comentarios
Aún no hay comentarios. Sé el primero.