Puerto 3389 abierto a internet: qué ocurre en realidad

Crónica de lo que alcanza a un servidor Windows en cuanto RDP queda accesible públicamente, cómo comprobar si el tuyo lo está, y qué hacer al respecto.

7 min de lectura

Qué significa «expuesto» en la práctica

Un servidor con el puerto TCP 3389 accesible desde cualquier dirección de internet no pasa desapercibido. Está catalogado. Los servicios de escaneo indexan todo el espacio IPv4 de forma continua — Shodan y Censys publican resultados consultables — y el número de máquinas Windows que responden en el 3389 en cualquier momento se cuenta por millones.

Eso convierte la exposición en un calendario, no en una probabilidad. Tu dirección no necesita que nadie en particular la descubra; ya está en una lista, y esa lista la compran, comparten y vuelven a escanear todos los que ejecutan ataques de credenciales.

La consecuencia práctica es que un servidor recién expuesto no tiene periodo de calma. No existe una ventana durante la cual puedas dejar la configuración por defecto y ocuparte del endurecimiento la semana que viene.

La primera semana, hora a hora

El patrón es lo bastante constante como para predecirlo. Estas son las cifras esperables en un Windows Server nuevo con RDP abierto y sin protección:

  • Primera hora — el primer intento de conexión de un escáner. A menudo en cuestión de minutos, porque los escáneres masivos barren de forma continua y no según un horario.
  • Primer día — de decenas a unos cientos de inicios de sesión fallidos. Los nombres de cuenta salen de una lista estándar: Administrator, admin, user, test, sql, backup, scanner.
  • Primera semana — unos miles al día, de forma constante y a todas horas. Ya te tienen varias botnets distintas y no se coordinan entre sí, así que los volúmenes se suman.
  • Primer mes — con frecuencia decenas de miles. El registro de seguridad empieza a rotar tan rápido que los eventos antiguos caducan antes de que nadie los lea.
  • En adelante — el ritmo se estabiliza. No decae: no existe mecanismo alguno por el que los bots concluyan que no vale la pena intentarlo contigo.

Qué están intentando realmente

Dos técnicas distintas comparten el mismo perfil de tráfico, y distinguirlas importa porque las defensas difieren.

La fuerza bruta clásica se ceba con una cuenta — normalmente Administrator — y recorre una lista de contraseñas. Es ruidosa, dispara las políticas de bloqueo y fracasa contra cualquier contraseña que no esté en la lista.

El password spraying lo invierte: una contraseña común probada una vez contra muchos nombres de cuenta, luego una pausa, luego la siguiente contraseña. Se mantiene por diseño bajo los umbrales de bloqueo, y es la técnica que realmente funciona, porque en cualquier organización con suficientes cuentas alguien usa la contraseña de temporada.

Ambas son visibles en el mismo flujo 4625, y ambas se detienen con lo mismo: bloquear el origen antes de que agote la lista. Ninguna se detiene con una política de bloqueo — el spraying está construido para esquivarla, y la fuerza bruta la convierte en una interrupción autoinfligida.

Comprobar si estás expuesto

Hazlo desde fuera de tu propia red. Dentro de la LAN todo responde, lo que no dice nada. Desde otra máquina en otra conexión:

powershell
# Desde una máquina fuera de tu red, contra la IP pública del servidor:
Test-NetConnection -ComputerName 203.0.113.10 -Port 3389

# En el propio servidor: qué escucha y en qué interfaz
Get-NetTCPConnection -State Listen |
  Where-Object LocalPort -in 3389,3390 |
  Select-Object LocalAddress, LocalPort, OwningProcess

# Y qué reglas de firewall dejan entrar RDP ahora mismo:
Get-NetFirewallRule -Direction Inbound -Enabled True -Action Allow |
  Where-Object { ($_ | Get-NetFirewallPortFilter).LocalPort -contains 3389 } |
  Select-Object DisplayName, Profile

Cerrarlo, por orden de preferencia

Ordenado según cuánto riesgo elimina realmente cada opción:

  • No exponerlo en absoluto. Llegar al servidor por VPN, una puerta de enlace de Escritorio remoto o un bastión. Esto elimina la exposición en lugar de gestionarla, y todo lo demás es un compromiso frente a ello.
  • Restringir el origen. Si el conjunto de direcciones legítimas es pequeño y estable — rangos de oficina, una salida VPN, un jump host —, permite solo esas en el firewall y descarta el resto. Excelente cuando encaja, y deja de encajar en cuanto alguien viaja.
  • Banear automáticamente los orígenes atacantes. Vigilar el flujo de fallos y bloquear en el firewall, por subred y de forma permanente, todo lo que cruce un umbral. Es la respuesta cuando el servicio tiene que seguir accesible desde direcciones arbitrarias.
  • Salir del 3389. Reduce el volumen no dirigido en torno a un 90% y no protege de nada que te busque específicamente. Útil como reducción de ruido sobre alguno de los puntos anteriores, nunca como sustituto.

Si tiene que seguir abierto

Muchos servidores no pueden ponerse detrás de una VPN — contratistas, máquinas propiedad de clientes, equipos que se conectan desde cualquier sitio. Si ese es tu caso, la exposición es un hecho y el trabajo consiste en hacerla sobrevivible.

Activa Network Level Authentication para que nunca se cree una sesión para un cliente no autenticado. Exige contraseñas largas y autenticación multifactor en toda cuenta que pueda iniciar sesión de forma remota. Renombra o deshabilita la cuenta Administrator integrada, porque es el primer nombre de todas las listas. Mantén el host parcheado: RDP ya ha tenido vulnerabilidades previas a la autenticación y volverá a tenerlas.

Después añade la pieza que Windows no incluye: algo que vigile el flujo de fallos y lo convierta en reglas de firewall. Eso es exactamente lo que hace RDP Protector — baneos por subred, bloqueos permanentes que sobreviven a los reinicios, y una lista blanca que ya contiene tu dirección antes de bloquear nada. Un servidor es gratis para siempre, lo bastante para ver tus cifras reales en vez de estimarlas.

FAQ

¿Con qué rapidez se encuentra un servidor RDP expuesto?
Normalmente en la primera hora tras abrir el puerto, a menudo en minutos. Los escáneres masivos recorren todo el espacio IPv4 de forma continua, así que el descubrimiento no depende de que alguien vaya a por ti: tu dirección ya está en listas que se reescanean constantemente. No hay periodo de calma durante el cual sea seguro posponer el endurecimiento.
¿Alguna vez es seguro exponer RDP directamente a internet?
Se puede hacer aceptable, no seguro en el sentido de libre de riesgo. Si hay que hacerlo, combina Network Level Authentication, autenticación multifactor, contraseñas largas y únicas, la cuenta Administrator integrada deshabilitada o renombrada, parches al día, y baneo automático en el firewall de los orígenes que fallan repetidamente. Que falte cualquiera de esos puntos eleva el riesgo de forma apreciable.
¿Cómo compruebo si mi puerto RDP está abierto desde internet?
Pruébalo desde fuera de tu propia red — Test-NetConnection -ComputerName <ip-pública> -Port 3389 desde otra conexión. Probar dentro de la LAN no demuestra nada, porque el tráfico interno esquiva el perímetro. En el servidor, Get-NetTCPConnection muestra si el servicio escucha en 0.0.0.0, es decir, en todas las interfaces incluida la pública.
¿Qué diferencia hay entre fuerza bruta y password spraying?
La fuerza bruta machaca una cuenta con muchas contraseñas; el spraying prueba lentamente una contraseña común contra muchas cuentas, para mantenerse bajo los umbrales de bloqueo. El spraying es el que suele tener éxito, y es precisamente la técnica que las políticas de bloqueo de cuentas no detienen. Ambos aparecen como evento 4625 y ambos se detienen bloqueando el origen en el firewall.

Mira qué llega de verdad a tu servidor

El agente muestra el volumen real de intentos contra tu propia máquina a los pocos minutos de instalarlo. Un servidor gratis para siempre, sin tarjeta.