🔒 🖥️ Escritorio remoto en Windows: la puerta que dejas abierta sin saberlo

hace 2 meses

Escritorio remoto en Windows: la puerta que dejas abierta sin saberlo

Table of Contents

¿Tu ordenador está expuesto? Guía de acceso remoto Windows seguro en 2026

El acceso remoto Windows seguro mal configurado es uno de los mayores riesgos digitales: cada vez que alguien se conecta a tu ordenador remotamente, tiene una ventana abierta a tus archivos, contraseñas, cuentas bancarias y cámaras.

Como publicación de referencia en ciberseguridad, vemos a diario cómo el control remoto mal configurado se convierte en la puerta de entrada más sencilla para los atacantes y en la más ignorada por los usuarios, comprometiendo el endurecimiento del endpoint antes incluso de que el sistema operativo entre en juego.

Aplicar esta estrategia defensiva deja de ser opcional cuando se entiende que es la línea de defensa que sostiene todo lo demás.

Garantizar este endurecimiento del endpoint ya no es una preocupación exclusiva de los administradores de sistemas: cualquier usuario doméstico que tenga RDP activo, TeamViewer instalado o un router con redirección de puertos abierta forma parte del mismo problema.

La buena noticia es que esta protección se construye con pasos concretos (desactivar lo innecesario, bloquear el puerto 3389, forzar NLA, exigir MFA y registrar los eventos 4625), todos ellos aplicables con PowerShell sin necesidad de soluciones de pago.

💡 Resumen rápido

🔒 Acceso remoto Windows: Cómo desactivarlo o protegerlo con PowerShell 2026

El acceso remoto Windows seguro permite controlar un ordenador desde otro dispositivo a través de internet o una red local. El puerto RDP 3389 expuesto recibe intentos de intrusión automatizados cada día. La vulnerabilidad BlueKeep (CVE-2019-0708, CVSS 9.8) permitía ejecución remota de código sin autenticación previa.

  • Cómo deshabilitar RDP, bloquear el puerto 3389 y detectar software remoto instalado en cualquier escenario de acceso remoto Windows seguro
  • Las 8 medidas clave: VPN, MFA, NLA y restricción por IP
  • Comparativa de seguridad: RDP, TeamViewer, AnyDesk, VNC y RustDesk
  • Script PowerShell con 4 tareas programadas: inicio, logon, cada hora y al conectar a red nueva
  • Señales de acceso remoto comprometido y cómo reaccionar

El control remoto seguro es hoy una necesidad tanto para particulares como para empresas: permite trabajar desde cualquier lugar, recibir soporte técnico sin desplazamientos y gestionar equipos a distancia. Pero también es uno de los vectores de ataque más explotados por los ciberdelincuentes cuando no se configura correctamente.

En nuestro manual técnico de hardening de Windows encontrarás todas las guías prácticas para proteger tu equipo paso a paso, y aplicar este endurecimiento como base de tu estrategia defensiva.

📅 2026 · 🕐 8 minutos de lectura

💡 Definición rápida Acceso remoto Windows seguro: Conjunto de tecnologías, protocolos y medidas de seguridad que permiten controlar un ordenador Windows desde otro dispositivo a través de internet o una red local, garantizando que solo personas autorizadas puedan conectarse y que la conexión esté protegida frente a interceptaciones o intrusiones.

Este enfoque reúne políticas, scripts y prácticas defensivas que cualquier administrador puede auditar. No consiste únicamente en cambiar la contraseña del usuario administrador: implementar esta estrategia implica decidir qué protocolos están escuchando, qué puertos están publicados al exterior, qué herramientas de terceros están instaladas (TeamViewer, AnyDesk, RustDesk, VNC) y cómo se autentica cada conexión.

Sin esa visión global, basta una sola brecha para que el resto del sistema deje de estar protegido, y queda comprometida tanto la superficie de exposición remota como la telemetría de seguridad del endpoint.


¿Qué es el control remoto de ordenadores?

📌 ¿Qué es el control remoto de ordenadores?

🔍 ¿Qué es el control remoto de un ordenador? El control remoto de ordenadores es la capacidad de operar un equipo Windows desde otro dispositivo distinto sin estar físicamente delante de él, usando protocolos de control remoto como RDP (puerto 3389), VNC (5900), SSH (22) o herramientas comerciales como TeamViewer y AnyDesk (HTTPS 443). El equipo controlado se llama host y el cliente conecta a través de internet, LAN o VPN. La seguridad depende del protocolo, el cifrado y la autenticación aplicada: estos cuatro factores definen si tu configuración es o no un acceso remoto Windows seguro.

El control remoto de ordenadores es la capacidad de operar un equipo desde otro dispositivo diferente, sin estar físicamente delante de él. El ordenador controlado se llama equipo remoto o host, y el dispositivo desde el que se accede se llama equipo local o cliente. La conexión puede realizarse a través de internet, una red local (LAN) o una VPN corporativa.

Protocolo / HerramientaUso principalPuerto por defectoCifrado
RDP (Microsoft)Escritorio remoto Windows3389 TCPTLS
VNCMultiplataforma, open source5900 TCPOpcional
TeamViewerSoporte técnico y teletrabajo443 / 5938AES-256
AnyDeskSoporte y trabajo remoto443 / 7070TLS 1.2
SSHAdministración de servidores22 TCPAES-256
Chrome Remote DesktopAcceso personal ocasional443 HTTPSTLS

Cada uno de los protocolos de la tabla anterior tiene un perfil de riesgo distinto, por lo que la elección no es tanto una herramienta concreta como la combinación adecuada: usar SSH o RDP detrás de una VPN para administración técnica, reservar TeamViewer o AnyDesk para soporte ocasional con MFA, y dejar VNC fuera del esquema salvo que se tunelice por SSH.

Cualquier despliegue de este tipo empieza por inventariar qué protocolos están realmente activos en el equipo.

🏆 Ranking de protocolos por nivel de seguridad nativo

La elección de protocolo determina más del 60 % del éxito de cualquier estrategia defensiva. Un protocolo robusto compensa fallos puntuales de configuración; uno débil arruina la mejor arquitectura.

ProtocoloSeguridad nativaRecomendado paraCombinar con
SSH🟢 ExcelenteAdministración Linux/servidoresClaves públicas + MFA
RDP + VPN🟢 Muy buenaTeletrabajo profesional WindowsNLA + 2FA + restricción IP
TeamViewer🟡 Buena con MFASoporte técnico puntualMFA + dispositivos confianza
AnyDesk🟡 Buena con MFASoporte técnico puntualMFA + lista blanca
Chrome Remote Desktop🟡 AceptableUso doméstico ocasionalCuenta Google con 2FA
RDP expuesto sin VPN🔴 MalaNunca recomendableSolo si imposible alternativa
VNC sin tunelizar🔴 PésimaNunca recomendableSolo dentro de SSH/VPN

⚠️ Riesgos de no aplicar un acceso remoto Windows seguro

Un escritorio remoto mal configurado es uno de los vectores de ataque más utilizados en la actualidad. Según el informe de amenazas de la CISA, el protocolo RDP expuesto a internet es el punto de entrada en más del 50 % de los ataques de ransomware documentados.

El NIST SP 800-46r2, Guía de acceso remoto seguro establece los principios técnicos para construir un acceso remoto Windows seguro alineado con los estándares oficiales de la industria.

Los grupos de ransomware modernos (Conti, LockBit, BlackCat o Akira) mantienen escáneres permanentes buscando equipos con el puerto 3389 abierto. Una vez que detectan un RDP expuesto, lanzan ataques de fuerza bruta o credential stuffing automatizado, y si entran, despliegan el ransomware en cuestión de minutos.

Cerrar el acceso es, por tanto, la primera barrera de esta protección: si el atacante no puede ni siquiera ver el puerto, no tiene superficie sobre la que atacar.

🚨 Dato crítico: Cada día se realizan millones de intentos automatizados de conexión al puerto 3389 (RDP) desde redes de bots que rastrean internet buscando equipos sin protección y con credenciales débiles.

La ausencia de estas medidas defensivas convierte cualquier equipo en una invitación abierta para los bots automatizados. Estos no eligen víctimas: rastrean rangos enteros de IPs públicas mediante fingerprinting de servicios expuestos y, en cuanto encuentran un puerto 3389 respondiendo, lanzan diccionarios de credenciales.

Por eso, blindar el escritorio remoto es la barrera más rentable que un usuario puede añadir a su sistema.

  • 🔓 Acceso no autorizado: Un atacante con tus credenciales tiene control total del equipo
  • 🦠 Instalación de malware: Ransomware, keyloggers y troyanos
  • 📁 Robo de datos: Archivos, contraseñas guardadas, documentos
  • 🎭 Estafas de soporte técnico falso: Acceso remoto concedido voluntariamente
  • 🔒 Secuestro del equipo: Bloqueo total del acceso
  • 🕵️ Espionaje: Cámara, micrófono y actividad en tiempo real

Cada uno de estos riesgos se mitiga con una capa específica que detallaremos a continuación.

Tipo de ataqueVector de entradaImpactoFrecuencia
Fuerza bruta RDPPuerto 3389 expuestoControl total del equipo🔴 Muy alta
Ransomware vía RDPCredenciales comprometidasCifrado de archivos🔴 Muy alta
Estafa soporte técnicoIngeniería socialRobo de datos y dinero🟠 Alta
Credential stuffingContraseñas reutilizadasAcceso a cuentas vinculadas🟠 Alta
Man-in-the-MiddleConexión no cifradaInterceptación de sesión🟡 Media

💸 Coste real de un incidente por RDP comprometido

Antes de decidir si te merece la pena dedicar 10 minutos a aplicar este endurecimiento, conviene conocer el coste estimado del incidente que evitas. La diferencia económica entre prevenir e intentar recuperarse es de varios órdenes de magnitud.

🔍 ¿Cuánto cuesta un incidente provocado por RDP expuesto? El coste depende del perfil afectado: para un usuario doméstico entre 800-5.000 € (recuperación de archivos, sustitución hardware, formateo, pérdida de productividad); para una pyme entre 15.000-150.000 € (rescate medio LockBit ~50.000 €, días de actividad parada, recuperación forense); para una empresa mediana puede superar 1 millón € si hay extorsión doble, sanciones AEPD y daño reputacional. La inversión en acceso remoto Windows seguro (10 minutos de PowerShell) es prácticamente cero comparada con cualquier coste de remediación.
Perfil afectadoCoste medioTiempo medio de recuperaciónProbabilidad de pérdida de datos
Usuario doméstico800 - 5.000 €3 - 14 días🟠 Alta
Autónomo / Freelance3.000 - 25.000 €5 - 21 días🔴 Muy alta
Pyme (10-50 empleados)15.000 - 150.000 €10 - 60 días🔴 Muy alta
Empresa mediana150.000 - 1.000.000 €30 - 120 días🔴 Crítica
Infraestructura crítica1.000.000 € +60 - 365 días🔴 Catastrófica

Otro riesgo poco comentado es la persistencia de los atacantes: una vez dentro, suelen instalar TeamViewer, AnyDesk o RustDesk en modo desatendido como backdoor secundaria —vía que explicamos en detalle en nuestra guía técnica sobre backdoor—, de manera que aunque cierres el puerto 3389 más tarde, mantienen el control del equipo a través del software comercial.

Por eso, una postura defensiva seria de control remoto incluye también la auditoría periódica de qué herramientas RAT están instaladas en el sistema.

Más allá de mantener el acceso, los grupos profesionales no se quedan en la cuenta del usuario que entró: necesitan SYSTEM para desactivar Defender, manipular servicios privilegiados y desplegar el payload final.

Conviene tener presente cómo, tras una sesión RDP comprometida, un atacante escala hasta SYSTEM apoyándose en técnicas que nuestro análisis profundo de escalación de privilegios en Windows detalla paso a paso. Cerrar el puerto 3389 elimina la entrada, pero no detiene a un atacante que ya dispone de credenciales válidas y solo necesita unos minutos para elevarse y persistir mediante movimiento lateral dentro de la red.

Por eso esta protección debe complementarse siempre con hardening interno.

🦠 RAT modernos más usados como backdoor secundaria

Cualquier estrategia de endurecimiento debe incluir la detección periódica de estos ocho RAT, porque son los que los atacantes más usan para mantener persistencia tras una intrusión inicial.

  • 🎯 TeamViewer Host en modo desatendido sin contraseña conocida por el usuario
  • 🎯 AnyDesk en modo silencioso con acceso aprobado por el atacante
  • 🎯 RustDesk autohospedado, ideal para atacantes porque evita registros corporativos
  • 🎯 ScreenConnect (ConnectWise) usado masivamente tras la vulnerabilidad CVE-2024-1709
  • 🎯 Supremo con configuración portable que no deja huella en el menú Inicio
  • 🎯 NetSupport Manager distribuido como falsa actualización de Adobe
  • 🎯 Atera RMM y SimpleHelp abusados para persistencia LotL
  • 🎯 UltraVNC / TightVNC con puerto camuflado en 5901-5910

Cómo configurar el acceso remoto Windows seguro paso a paso

🛡️ Cómo configurar el acceso remoto Windows seguro

🔍 ¿Cómo configurar correctamente el acceso remoto en Windows? Aplica ocho medidas de acceso remoto Windows seguro en este orden: (1) desactiva RDP si no lo usas; (2) contraseñas únicas de 16+ caracteres; (3) 2FA en toda cuenta crítica; (4) RDP siempre detrás de VPN (WireGuard, OpenVPN, Tailscale); (5) firewall restringe 3389 a IPs autorizadas; (6) Windows y herramientas remotas actualizadas; (7) detecta procesos RAT no autorizados; (8) monitoriza eventos 4625 fallidos. El orden importa: cada capa cubre lo que la anterior deja expuesto.

Las ocho medidas que vienen a continuación son los pilares prácticos de esta protección tal y como los recomiendan Microsoft, CISA y NIST. No es necesario aplicarlas todas el mismo día, pero sí en orden: cada capa cubre lo que la anterior deja al descubierto, y la suma de las ocho convierte la postura defensiva en algo verificable, no en una declaración de intenciones.

🔌 1. Desactiva el escritorio remoto si no lo usas

La primera medida defensiva es la más simple: si no lo necesitas, desactívalo. Windows tiene RDP disponible pero desactivado por defecto en versiones domésticas.

# Verificar estado actual del RDP
Get-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server" -Name "fDenyTSConnections"
# 0 = RDP activo (riesgo) / 1 = RDP desactivado (seguro)

Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server" -Name "fDenyTSConnections" -Value 1
New-NetFirewallRule -DisplayName "Bloquear RDP" -Direction Inbound -Protocol TCP -LocalPort 3389 -Action Block

Esta única acción ya cubre buena parte del problema para un usuario doméstico que no usa RDP: si el servicio no escucha y el puerto no está publicado, no hay superficie que atacar.

Ahora bien, RDP es solo uno de los siete servicios de red que Windows mantiene activos por defecto. Cerrar el puerto 3389 deja sin tocar otros seis servicios de compartición que también escuchan en LAN y son responsables de incidentes mucho mayores.

SMBv1 fue el vector de WannaCry (CVE-2017-0144), LLMNR y NetBIOS permiten capturar hashes NTLM de cualquier usuario de la red sin privilegios previos, Print Spooler escaló a SYSTEM en PrintNightmare (CVE-2021-34527) y Remote Registry expone el registro a modificación remota.

Una vez bloqueado RDP con este artículo, el siguiente paso natural es aplicar nuestra guía técnica de servicios de compartición en Windows, donde encontrarás el script SharingDisable-Guard que desactiva SMBv1, LLMNR, NetBIOS, Print Spooler, Remote Registry y Computer Browser.

SharingDisable-Guard incluye 7 tareas programadas que reaplican el bloqueo en cada arranque, login, hora, red nueva, evento 7045 (servicio nuevo) y evento 7040 (cambio de modo de arranque), cerrando los seis vectores restantes con la misma lógica idempotente y reactiva del RemoteAccess-Guard que verás más abajo.

Ambos scripts son complementarios: uno cierra el puerto 3389 y vigila procesos RAT, el otro cierra los servicios SMB-relacionados y vigila eventos 7045/7040 de reactivación silenciosa.

🔑 2. Contraseñas robustas y únicas

Contraseña de al menos 16 caracteres, combinando mayúsculas, minúsculas, números y símbolos, única para cada servicio. Consulta nuestra guía técnica para crear contraseñas seguras. Una contraseña fuerte es la primera línea de defensa de cualquier conexión remota, pero por sí sola no es suficiente.

📱 3. Activa la autenticación de dos factores (2FA)

El doble factor es la medida más efectiva del acceso remoto Windows seguro: aunque un atacante consiga tu contraseña, sin el segundo factor no puede conectarse. Aprende a configurarlo en nuestra guía maestra de autenticación de dos factores.

Sumar 2FA a la contraseña detiene los ataques de fuerza bruta y de credential stuffing aunque la contraseña haya sido comprometida en una filtración previa, sin coste adicional.

🌐 4. Usa siempre una VPN para conexiones remotas

  • ✅ La VPN cifra todo el tráfico entre cliente y equipo remoto
  • ✅ Oculta el equipo remoto de los escaneos de internet
  • ✅ Añade una capa de autenticación previa
  • ✅ Permite restringir el acceso por IP o grupo de usuarios

La VPN es probablemente la pieza más infravalorada en el entorno doméstico y, sin embargo, la columna central de esta estrategia defensiva. Cualquier guía oficial coincide en este punto: el escritorio remoto nunca debe publicarse directamente en internet.

Si necesitas RDP, debe ir siempre dentro de una VPN (WireGuard, OpenVPN, Tailscale o la VPN de tu router) que actúe como antesala autenticada y cifrada.

🔥 5. Configura el firewall

# Permitir RDP solo desde IP de confianza
New-NetFirewallRule -DisplayName "RDP solo IP confianza" `
  -Direction Inbound -Protocol TCP -LocalPort 3389 `
  -RemoteAddress 192.168.1.100 -Action Allow

New-NetFirewallRule -DisplayName "Bloquear RDP resto" `
  -Direction Inbound -Protocol TCP -LocalPort 3389 -Action Block

Un firewall bien configurado es el segundo pilar de esta protección: aunque el atacante conozca la contraseña, sin la IP de origen autorizada el firewall descarta la conexión en capa 3. Combinar restricción por IP con VPN y MFA forma la triple barrera que define una protección de nivel profesional, con el firewall como guardián silencioso.

🔄 6. Mantén todo actualizado

BlueKeep (CVE-2019-0708) y DejaBlue explotaron vulnerabilidades conocidas en versiones desactualizadas de RDP. Activa las actualizaciones automáticas de Windows y mantén TeamViewer, AnyDesk y cualquier herramienta de acceso remoto al día.

Sin parches al día no hay acceso remoto Windows seguro que valga: BlueKeep, DejaBlue o vulnerabilidades más recientes en TeamViewer y AnyDesk demuestran que un solo CVE sin parchear puede saltarse contraseñas, MFA y firewalls. Las actualizaciones son la base sobre la que se sostiene el resto.

🕵️ 7. Detecta software de acceso remoto no autorizado

$herramientas = @("TeamViewer", "AnyDesk", "vnc", "rdpclip", "ScreenConnect", "LogMeIn", "Supremo")
Get-Process | Where-Object { $herramientas -contains $_.Name } |
Select-Object Name, Id, CPU, StartTime

Detectar software RAT no autorizado es uno de los pasos más infravalorados del acceso remoto Windows seguro. Muchos usuarios no recuerdan haber instalado TeamViewer o AnyDesk porque vinieron como dependencias de otro software, y desde ese momento existe una puerta trasera permanente.

Una postura defensiva sólida obliga a inventariar y revisar mensualmente qué RAT comerciales no autorizados están en ejecución.

📋 8. Monitoriza los intentos de acceso

# Últimos 20 intentos de inicio de sesión fallidos (Event ID 4625)
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4625} -MaxEvents 20 |
Select-Object TimeCreated, Message | Format-List

Sin monitorización no hay defensa que dure: el evento 4625 es la señal más clara de que alguien está intentando entrar por fuerza bruta. Revisarlo periódicamente, idealmente desde un script automatizado, transforma una configuración estática en un acceso remoto Windows seguro vivo y reactivo.

Para llevar este punto a su forma completa, tras cerrar el puerto 3389 conviene aplicar nuestra guía avanzada de monitorización de logins en Windows con eventos 4624/4625 para detectar credential stuffing sobre RDP residual.

Esa guía añade tres tareas programadas (inicio, logon y horaria) que generan un CSV histórico permanente y reducen el tiempo medio de detección de intrusiones de 207 días a minutos.

📊 Configuración recomendada según escenario de uso

El acceso remoto Windows seguro no se configura igual en un PC doméstico que en un servidor expuesto: cada escenario tiene su propia matriz de exigencias. La tabla siguiente resume la configuración mínima recomendada por perfil de uso.

EscenarioRDPVPN2FARAT externos
PC doméstico sin uso remoto🔴 Desactivado🔴 Ninguno
Teletrabajador puntual🟡 Solo bajo VPN🟢 Obligatoria🟢 Obligatorio🟡 Solo si necesario
Autónomo con soporte técnico🔴 Desactivado🟡 Opcional🟢 Obligatorio🟢 Bajo demanda + MFA
Administrador IT pyme🟢 Bajo VPN + IP fija🟢 Obligatoria🟢 Llave física🟢 RMM con auditoría
Servidor expuesto a internet🔴 Nunca directo🟢 Obligatoria + bastion🟢 Llave + cert🔴 Ninguno

⚙️ Script completo: Cierre y bloqueo de conexiones remotas con 4 tareas programadas

A continuación encontrarás un script PowerShell completo y unificado que materializa todas las capas del acceso remoto Windows seguro en un solo archivo: desactiva RDP, bloquea el puerto 3389, desactiva la Asistencia Remota, fuerza NLA, detecta procesos de TeamViewer/AnyDesk/VNC activos y revisa los intentos de login fallidos de las últimas 24 horas.

Además, crea cuatro tareas programadas que reaplican y vigilan la configuración en cada arranque, en cada inicio de sesión, cada hora y al conectar a una red nueva.

Si una actualización de Windows, un instalador o un malware reactivan RDP o eliminan la regla del firewall, el script vuelve a cerrar la puerta automáticamente en menos de una hora, aplicando un patrón de auto-remediación de configuración equivalente al de soluciones EDR comerciales.

La diferencia entre aplicar las medidas una sola vez y mantener un acceso remoto Windows seguro en el tiempo es justamente esta: las tareas programadas. Sin ellas, una actualización mayor de Windows, un instalador descuidado o un malware con privilegios pueden reabrir el puerto 3389 sin que el usuario se entere. Con ellas, la configuración se autorrepara en segundos.

⚠️ Antes de ejecutar: Este script modifica el registro de Windows, el firewall y crea cuatro tareas programadas persistentes. Es completamente reversible mediante el script de reversión. Crea un punto de restauración automáticamente en su primera ejecución. Genera log en C:\Logs\remote-access-guard.log y CSV histórico en C:\Logs\remote-access-guard-historico.csv. Lee siempre el código antes de pegarlo en PowerShell.

📅 Tareas programadas que crea este script

Las cuatro tareas son lo que convierte el script en un sistema de acceso remoto Windows seguro adaptativo: cubren los cuatro momentos en los que la configuración puede romperse (arranque, login, cambio de red y deriva silenciosa con el tiempo).

Nombre de la tareaDisparadorFrecuenciaPropósito
RemoteAccess-Guard-InicioAl iniciar Windows (-AtStartup)Cada arranque del equipoReaplica el bloqueo de RDP, Asistencia Remota y la regla del firewall por si una actualización de Windows ha revertido alguna configuración
RemoteAccess-Guard-LogonAl iniciar sesión (-AtLogOn)Cada login (incluye reinicios)Verifica el bloqueo cuando un usuario inicia sesión y detecta procesos de TeamViewer, AnyDesk o VNC lanzados por un instalador silencioso
RemoteAccess-Guard-HorariaCada hora (-RepetitionInterval 1h)24 veces al díaVigilancia continua: si malware o un "tweaker" reactiva RDP, elimina la regla del firewall o instala un RAT, el script lo detecta y lo revierte en menos de una hora
RemoteAccess-Guard-RedAl conectar a una red (evento 10000 de Microsoft-Windows-NetworkProfile/Operational)Cada vez que cambia la conexión de redRevisa el bloqueo al conectar a WiFi o LAN nueva (aeropuerto, hotel, oficina); momento en el que Windows puede cambiar de perfil de firewall y reabrir puertos por defecto
Por qué añadimos la tarea "al conectar a red nueva": Cuando Windows identifica una red nueva (evento 10000 del log Microsoft-Windows-NetworkProfile/Operational), puede cambiar automáticamente de perfil de firewall (privado a público o viceversa), y ese cambio puede reactivar reglas preexistentes que expongan RDP. Esta tarea se dispara en el mismo instante, verifica que el puerto 3389 sigue bloqueado en todos los perfiles y lo cierra de nuevo si detecta desviación. Especialmente útil en portátiles que cambian de red con frecuencia.
Cómo funcionan las tareas programadas: Las cuatro tareas se ejecutan como SYSTEM con privilegios elevados y en modo oculto (sin ventana visible). El script es idempotente: comprueba cada configuración (RDP, Asistencia Remota, NLA, regla de firewall) antes de modificarla y solo actúa si detecta desviación. La carga sobre el equipo es mínima. El CSV histórico deja constancia de cada ejecución con el disparador, los cambios aplicados, los procesos RAT detectados y los intentos fallidos del evento 4625.

Este enfoque es lo que distingue un acceso remoto Windows seguro profesional de un simple ajuste manual: la configuración no depende de la memoria del usuario ni de su disciplina, sino de un mecanismo automatizado que vigila, registra y corrige cualquier desviación. La idempotencia es clave para que no genere ruido innecesario en el equipo.

📥 Pasos para instalar y ejecutar el script

  1. Abre PowerShell como administrador: pulsa Windows, escribe PowerShell, clic derecho sobre Windows PowerShellEjecutar como administrador.
  2. Permite la ejecución de scripts: Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
  3. Crea la carpeta de scripts del sistema: New-Item -ItemType Directory -Path "C:\Scripts" -Force
  4. Crea el archivo del script: pega el código en el Bloc de notas y guárdalo como RemoteAccess-Guard.ps1 en C:\Scripts\ (Tipo: Todos los archivos, no .txt).
  5. Ejecuta el script por primera vez: C:\Scripts\RemoteAccess-Guard.ps1
  6. Verifica las cuatro tareas programadas: Get-ScheduledTask -TaskName "RemoteAccess-Guard-*"
  7. Revisa el log y el CSV histórico: C:\Logs\remote-access-guard.log y C:\Logs\remote-access-guard-historico.csv.
  8. Reinicia el equipo para que la tarea de inicio se ejecute automáticamente.

Estos ocho pasos materializan el acceso remoto Windows seguro en menos de cinco minutos: desde abrir PowerShell hasta verificar las cuatro tareas programadas. La inversión de tiempo es mínima comparada con el coste de un incidente de ransomware, donde recuperar archivos cifrados puede llevar días o resultar imposible si no hay copias de seguridad.

💻 Script de bloqueo del acceso remoto (copia y pega)

# ============================================================
# Script: RemoteAccess-Guard - cierre y bloqueo de conexiones
# Autor:  seguridadenmipc.com
# Compat: Windows 10 / 11 / Server 2019+
# Uso:    Ejecutar como administrador (1a vez)
#         Despues se reaplica solo: inicio, logon, hora y red
# Ruta:   C:\Scripts\RemoteAccess-Guard.ps1
# Idempotente: solo actua si detecta desviacion
# ============================================================

# 1. Verificar privilegios de administrador
if (-not ([Security.Principal.WindowsPrincipal] `
    [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole(`
    [Security.Principal.WindowsBuiltInRole]::Administrator)) {
    Write-Host "[X] Ejecuta este script como Administrador." -ForegroundColor Red
    exit
}

# 2. Preparar log y CSV historico
$logDir = "C:\Logs"
if (-not (Test-Path $logDir)) { New-Item -ItemType Directory -Path $logDir | Out-Null }
$log = "$logDir\remote-access-guard.log"
$csv = "$logDir\remote-access-guard-historico.csv"
Start-Transcript -Path $log -Append | Out-Null

$disparador = if ($args[0]) { $args[0] } else { "Manual" }
Write-Host "=== RemoteAccess-Guard: bloqueo de conexiones remotas ===" -ForegroundColor Cyan
Write-Host "Fecha: $(Get-Date)  |  Disparador: $disparador" -ForegroundColor Gray

$cambios = 0

# 3. Punto de restauracion (solo primera ejecucion manual)
if ($disparador -eq "Manual") {
    try {
        Enable-ComputerRestore -Drive "C:\" -ErrorAction SilentlyContinue
        Checkpoint-Computer -Description "Pre RemoteAccess-Guard" `
            -RestorePointType "MODIFY_SETTINGS" -ErrorAction SilentlyContinue
        Write-Host "[OK] Punto de restauracion creado." -ForegroundColor Green
    } catch { Write-Host "[!] No se pudo crear punto de restauracion." -ForegroundColor Yellow }
}

# 4. Deshabilitar RDP
Write-Host "`n--- RDP (Escritorio Remoto) ---" -ForegroundColor Yellow
try {
    $rdpKey = "HKLM:\System\CurrentControlSet\Control\Terminal Server"
    $actual = (Get-ItemProperty -Path $rdpKey -Name fDenyTSConnections -ErrorAction SilentlyContinue).fDenyTSConnections
    if ($actual -ne 1) {
        Set-ItemProperty -Path $rdpKey -Name "fDenyTSConnections" -Value 1 -Force
        Write-Host "[!] RDP estaba activo. Desactivado." -ForegroundColor Red
        $cambios++
    } else { Write-Host "[OK] RDP ya desactivado." -ForegroundColor Green }
} catch { Write-Host "[X] Error en RDP: $_" -ForegroundColor Red }

# 5. Deshabilitar Asistencia Remota
Write-Host "`n--- Asistencia Remota ---" -ForegroundColor Yellow
try {
    $raKey = "HKLM:\System\CurrentControlSet\Control\Remote Assistance"
    if (-not (Test-Path $raKey)) { New-Item -Path $raKey -Force | Out-Null }
    $actual = (Get-ItemProperty -Path $raKey -Name fAllowToGetHelp -ErrorAction SilentlyContinue).fAllowToGetHelp
    if ($actual -ne 0) {
        Set-ItemProperty -Path $raKey -Name "fAllowToGetHelp" -Value 0 -Force
        Write-Host "[!] Asistencia Remota desactivada." -ForegroundColor Red
        $cambios++
    } else { Write-Host "[OK] Asistencia Remota ya desactivada." -ForegroundColor Green }
} catch { Write-Host "[X] Error: $_" -ForegroundColor Red }

# 6. Forzar NLA
Write-Host "`n--- NLA ---" -ForegroundColor Yellow
try {
    $nlaKey = "HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp"
    if (Test-Path $nlaKey) {
        $actual = (Get-ItemProperty -Path $nlaKey -Name UserAuthentication -ErrorAction SilentlyContinue).UserAuthentication
        if ($actual -ne 1) {
            Set-ItemProperty -Path $nlaKey -Name "UserAuthentication" -Value 1 -Force
            Write-Host "[!] NLA corregido." -ForegroundColor Red
            $cambios++
        } else { Write-Host "[OK] NLA ya forzado." -ForegroundColor Green }
    }
} catch { Write-Host "[X] Error en NLA: $_" -ForegroundColor Red }

# 7. Bloquear puerto 3389 entrante
Write-Host "`n--- Firewall: puerto 3389 ---" -ForegroundColor Yellow
try {
    $regla = Get-NetFirewallRule -DisplayName "BLOQUEO RDP 3389" -ErrorAction SilentlyContinue
    if (-not $regla) {
        New-NetFirewallRule -DisplayName "BLOQUEO RDP 3389" `
            -Direction Inbound -Protocol TCP -LocalPort 3389 `
            -Action Block -Profile Any | Out-Null
        Write-Host "[!] Regla creada: 3389 bloqueado." -ForegroundColor Red
        $cambios++
    } elseif ($regla.Action -ne "Block" -or $regla.Enabled -ne "True") {
        Set-NetFirewallRule -DisplayName "BLOQUEO RDP 3389" -Action Block -Enabled True
        Write-Host "[!] Regla restaurada a Block/Enabled." -ForegroundColor Red
        $cambios++
    } else { Write-Host "[OK] Puerto 3389 bloqueado." -ForegroundColor Green }
} catch { Write-Host "[X] Error en firewall: $_" -ForegroundColor Red }

# 8. Detectar procesos de acceso remoto activos
Write-Host "`n--- Procesos RAT activos ---" -ForegroundColor Yellow
$herramientas = @("TeamViewer","TeamViewer_Service","AnyDesk","vncserver","tvnserver",
                  "winvnc","ScreenConnect","LogMeIn","Supremo","rustdesk")
$procesosRAT = Get-Process -ErrorAction SilentlyContinue |
    Where-Object { $herramientas -contains $_.Name }
$countRAT = ($procesosRAT | Measure-Object).Count
if ($countRAT -gt 0) {
    Write-Host "[!] $countRAT procesos remotos detectados:" -ForegroundColor Red
    $procesosRAT | ForEach-Object { Write-Host "    - $($_.Name) (PID $($_.Id))" -ForegroundColor Gray }
} else { Write-Host "[OK] Sin procesos RAT activos." -ForegroundColor Green }

# 9. Intentos de login fallidos (24h)
Write-Host "`n--- Intentos fallidos (24h) ---" -ForegroundColor Yellow
$intentosFallidos = 0
try {
    $intentosFallidos = (Get-WinEvent -FilterHashtable @{
        LogName='Security'; Id=4625
        StartTime=(Get-Date).AddHours(-24)
    } -ErrorAction SilentlyContinue).Count
    if ($intentosFallidos -gt 20) {
        Write-Host "[!] $intentosFallidos fallidos en 24h (posible fuerza bruta)." -ForegroundColor Red
    } else { Write-Host "[OK] $intentosFallidos fallidos en 24h." -ForegroundColor Green }
} catch {}

# 10. Resumen al CSV historico
$resumen = [PSCustomObject]@{
    Fecha            = (Get-Date -Format "yyyy-MM-dd HH:mm:ss")
    Disparador       = $disparador
    CambiosAplic     = $cambios
    ProcesosRAT      = $countRAT
    IntentosFallidos = $intentosFallidos
}
$resumen | Export-Csv -Path $csv -Append -NoTypeInformation -Encoding UTF8
Write-Host "[OK] Resumen anadido al CSV. Cambios: $cambios" -ForegroundColor Green

# 11. CREAR LAS 4 TAREAS PROGRAMADAS
$scriptPath = "C:\Scripts\RemoteAccess-Guard.ps1"

function Crear-Tarea {
    param([string]$Nombre, [string]$Disparador, $Trigger, [string]$Descripcion)
    try {
        if (-not (Get-ScheduledTask -TaskName $Nombre -ErrorAction SilentlyContinue)) {
            $action = New-ScheduledTaskAction -Execute "PowerShell.exe" `
                -Argument "-NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -File `"$scriptPath`" $Disparador"
            $principal = New-ScheduledTaskPrincipal -UserId "SYSTEM" `
                -LogonType ServiceAccount -RunLevel Highest
            $settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries `
                -DontStopIfGoingOnBatteries -StartWhenAvailable `
                -ExecutionTimeLimit (New-TimeSpan -Minutes 5)
            Register-ScheduledTask -TaskName $Nombre `
                -Action $action -Trigger $Trigger -Principal $principal `
                -Settings $settings -Description $Descripcion | Out-Null
            Write-Host "[OK] Tarea '$Nombre' creada." -ForegroundColor Green
        } else { Write-Host "[i] Tarea '$Nombre' ya existe." -ForegroundColor Cyan }
    } catch { Write-Host "[X] Error en tarea $Nombre`: $_" -ForegroundColor Red }
}

# 11a. Al iniciar Windows
Crear-Tarea -Nombre "RemoteAccess-Guard-Inicio" -Disparador "Inicio" `
    -Trigger (New-ScheduledTaskTrigger -AtStartup) `
    -Descripcion "RemoteAccess-Guard al arranque - seguridadenmipc.com"

# 11b. Al iniciar sesion
Crear-Tarea -Nombre "RemoteAccess-Guard-Logon" -Disparador "Logon" `
    -Trigger (New-ScheduledTaskTrigger -AtLogOn) `
    -Descripcion "RemoteAccess-Guard al iniciar sesion - seguridadenmipc.com"

# 11c. Cada hora
Crear-Tarea -Nombre "RemoteAccess-Guard-Horaria" -Disparador "Horaria" `
    -Trigger (New-ScheduledTaskTrigger -Once -At (Get-Date).AddMinutes(10) `
              -RepetitionInterval (New-TimeSpan -Hours 1)) `
    -Descripcion "RemoteAccess-Guard cada hora - seguridadenmipc.com"

# 11d. Al conectar a red nueva (evento 10000 NetworkProfile)
try {
    if (-not (Get-ScheduledTask -TaskName "RemoteAccess-Guard-Red" -ErrorAction SilentlyContinue)) {
        $cim = New-CimInstance -CimClass (Get-CimClass `
            -ClassName MSFT_TaskEventTrigger `
            -Namespace Root/Microsoft/Windows/TaskScheduler) -ClientOnly
        $cim.Enabled      = $true
        $cim.Subscription = "<QueryList><Query Id='0' Path='Microsoft-Windows-NetworkProfile/Operational'><Select Path='Microsoft-Windows-NetworkProfile/Operational'>*[System[Provider[@Name='Microsoft-Windows-NetworkProfile'] and EventID=10000]]</Select></Query></QueryList>"

        $action = New-ScheduledTaskAction -Execute "PowerShell.exe" `
            -Argument "-NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -File `"$scriptPath`" Red"
        $principal = New-ScheduledTaskPrincipal -UserId "SYSTEM" `
            -LogonType ServiceAccount -RunLevel Highest
        $settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries `
            -DontStopIfGoingOnBatteries -StartWhenAvailable `
            -ExecutionTimeLimit (New-TimeSpan -Minutes 5)
        Register-ScheduledTask -TaskName "RemoteAccess-Guard-Red" `
            -Action $action -Trigger $cim -Principal $principal -Settings $settings `
            -Description "RemoteAccess-Guard al conectar a red - seguridadenmipc.com" | Out-Null
        Write-Host "[OK] Tarea 'RemoteAccess-Guard-Red' creada." -ForegroundColor Green
    } else { Write-Host "[i] Tarea 'RemoteAccess-Guard-Red' ya existe." -ForegroundColor Cyan }
} catch { Write-Host "[X] Error en tarea Red: $_" -ForegroundColor Red }

Write-Host "`n[OK] RemoteAccess-Guard activo. Disparador: $disparador" -ForegroundColor Green
Write-Host "     Log: $log" -ForegroundColor Gray
Write-Host "     CSV: $csv" -ForegroundColor Gray
Stop-Transcript | Out-Null

El script anterior implementa todas las capas del acceso remoto Windows seguro en un único archivo: deshabilita RDP, fuerza NLA, cierra el puerto 3389, registra eventos 4625, detecta procesos RAT y se autoinstala como cuatro tareas programadas. Es la versión condensada de las recomendaciones de NIST SP 800-46r2 adaptada al usuario doméstico.

↩️ Script de reversión (elimina las 4 tareas y restaura la configuración)

Si necesitas volver a activar RDP (teletrabajo temporal, soporte técnico) o desactivar la vigilancia automática, ejecuta este script. Elimina primero las cuatro tareas programadas, porque si no, el bloqueo se reaplicará en el siguiente disparador.

Revertir el acceso remoto Windows seguro es una decisión consciente: una vez deshabilitada la protección, el equipo vuelve al estado por defecto y queda expuesto otra vez a los vectores que el script bloqueaba.

Si solo necesitas una excepción puntual, conviene editar el script y dejar el resto del sistema activo en lugar de revertirlo entero.

# ============================================================
# Revertir RemoteAccess-Guard
# ============================================================

# 1. ELIMINAR PRIMERO las 4 tareas programadas
$tareas = @(
    "RemoteAccess-Guard-Inicio",
    "RemoteAccess-Guard-Logon",
    "RemoteAccess-Guard-Horaria",
    "RemoteAccess-Guard-Red"
)
foreach ($t in $tareas) {
    if (Get-ScheduledTask -TaskName $t -ErrorAction SilentlyContinue) {
        Unregister-ScheduledTask -TaskName $t -Confirm:$false
        Write-Host "[OK] Tarea $t eliminada." -ForegroundColor Green
    }
}

# 2. Reactivar RDP
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server" `
    -Name "fDenyTSConnections" -Value 0 -Force

# 3. Reactivar Asistencia Remota
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Remote Assistance" `
    -Name "fAllowToGetHelp" -Value 1 -Force

# 4. Eliminar regla de firewall
Remove-NetFirewallRule -DisplayName "BLOQUEO RDP 3389" -ErrorAction SilentlyContinue

# NOTA: NLA se mantiene activado por seguridad, es recomendacion oficial de Microsoft.

Write-Host ""
Write-Host "[OK] RemoteAccess-Guard revertido y RDP reactivado." -ForegroundColor Green
Write-Host "    Reinicia el equipo para aplicar los cambios." -ForegroundColor Yellow

Es importante destacar que este script de reversión no destruye la protección de forma permanente: simplemente la desactiva. Volver a aplicar el acceso remoto Windows seguro es tan sencillo como ejecutar de nuevo el script principal, lo que devuelve el equipo al estado defensivo con sus cuatro tareas programadas activas.

⚠️ Riesgos y efectos reales del script

Función del sistema¿Se ve afectada?Detalle técnico
Inicio de sesión local🟢 NoNo modifica LSASS, SAM ni políticas de cuenta
Inicio de Windows🟢 NoLas tareas se ejecutan en background tras el arranque
Reinicio / apagado🟢 NoNo modifica el subsistema de apagado ni BCD
UEFI / arranque seguro🟢 NoNo afecta BCD, Secure Boot ni particiones EFI
Banca, Gmail y plataformas web🟢 NoSolo bloquea entrada 3389, la navegación sale por 80/443
Cambio de red (WiFi / LAN)🟢 Sí (positivo)La tarea Red verifica el bloqueo al cambiar de red
Conexiones RDP entrantes🔴 Sí (a propósito)Puerto 3389 bloqueado en todos los perfiles
Asistencia Remota🔴 Sí (a propósito)Se desactiva fAllowToGetHelp
TeamViewer / AnyDesk / VNC🟡 Solo detecta, no detieneEl script registra qué RAT están activos; no los mata ni desinstala
Carga de CPU (4 tareas)🟡 MínimaCada ejecución consume pocos segundos; total < 2 min/día

Esta tabla resume el efecto real de aplicar el script de acceso remoto Windows seguro: ninguna función crítica del sistema se ve afectada, solo se cierran las puertas que un atacante podría aprovechar. Es la diferencia entre endurecer y romper.

🚨 Casos en los que NO debes ejecutar el script sin consultar antes:
  • Si tu equipo es gestionado por el departamento de IT de una empresa
  • Si utilizas RDP habitualmente para teletrabajo o soporte técnico
  • Si tienes un NAS, servidor o backup que accede al PC por el puerto 3389
  • Si usas TeamViewer o AnyDesk legítimamente: el script los detecta pero no los detiene; aparecerán en el CSV como procesos remotos activos
  • Si tu antivirus o EDR corporativo ya aplica hardening similar
En estos casos, comenta las líneas correspondientes del script o ejecuta el script de reversión si surge algún problema.

Estos casos no son excepciones, sino situaciones donde la implementación del acceso remoto Windows seguro debe adaptarse al uso real. Si necesitas RDP para teletrabajo, la configuración correcta consiste en mantener RDP detrás de una VPN, exigir MFA y restringir por IP, no en eliminar todas las medidas.

⚠️ Verificar que las tareas funcionan: Abre el Programador de tareas (Win+R → taskschd.msc), busca las cuatro tareas RemoteAccess-Guard-* y revisa el campo "Último resultado" (debe ser 0x0) y la fecha de la última ejecución. También: Import-Csv C:\Logs\remote-access-guard-historico.csv | Select -Last 24.

🔎 ¿Cómo verificar que el bloqueo está activo?

🔍 ¿Cómo comprobar que RDP está bloqueado correctamente? Cuatro comprobaciones en PowerShell te dan certeza inmediata de que tu acceso remoto Windows seguro está activo: (1) Get-ItemProperty "HKLM:\System\CurrentControlSet\Control\Terminal Server" -Name fDenyTSConnections debe devolver 1; (2) Get-NetFirewallRule -DisplayName "BLOQUEO RDP 3389" debe mostrar Enabled=True, Action=Block; (3) Get-ScheduledTask -TaskName "RemoteAccess-Guard-*" debe listar las 4 tareas en estado Ready; (4) el CSV histórico no debe registrar incrementos anómalos en CambiosAplic.

💡 Comandos de verificación

# Las 4 tareas programadas
Get-ScheduledTask -TaskName "RemoteAccess-Guard-*" | `
  Select TaskName, State, LastRunTime, LastTaskResult

# RDP debe estar deshabilitado (fDenyTSConnections = 1)
Get-ItemProperty "HKLM:\System\CurrentControlSet\Control\Terminal Server" -Name fDenyTSConnections

# Asistencia Remota deshabilitada (fAllowToGetHelp = 0)
Get-ItemProperty "HKLM:\System\CurrentControlSet\Control\Remote Assistance" -Name fAllowToGetHelp

# Regla del firewall debe existir, Enabled y Action=Block
Get-NetFirewallRule -DisplayName "BLOQUEO RDP 3389" | Select DisplayName, Enabled, Action, Profile

# Ver CSV historico
Import-Csv C:\Logs\remote-access-guard-historico.csv | Select -Last 24

Las cuatro tareas deben aparecer en estado Ready con LastTaskResult = 0. Si fDenyTSConnections=1, fAllowToGetHelp=0 y la regla BLOQUEO RDP 3389 aparece Enabled=True, Action=Block, el bloqueo está activo. Si CambiosAplic del CSV sube con frecuencia o aparecen procesos RAT que no reconoces, investiga urgentemente.

⚡ Checklist de auditoría rápida de acceso remoto Windows seguro (5 minutos)

Sin instalar nada, audita en 5 minutos el estado real de tu acceso remoto Windows seguro:

  • RDP desactivado: registro fDenyTSConnections = 1
  • Puerto 3389 cerrado: Test-NetConnection localhost -Port 3389 debe fallar
  • Regla de firewall activa: existe, está habilitada, Action=Block
  • Asistencia Remota desactivada: fAllowToGetHelp = 0
  • NLA forzado: UserAuthentication = 1
  • Sin procesos RAT activos: no aparece TeamViewer, AnyDesk, VNC, RustDesk, etc.
  • Las 4 tareas programadas presentes y en Ready con LastTaskResult = 0
  • Eventos 4625 estables: menos de 20 intentos fallidos en últimas 24 h
  • Windows actualizado a la última build estable
  • Sin redirecciones de puerto 3389 en el router

Estas comprobaciones convierten el acceso remoto Windows seguro en algo medible: ya no es una sensación, sino un estado verificable con cuatro comandos. Si todo aparece en verde, la configuración está activa; si algo falla, el CSV histórico señala exactamente cuándo y por qué se rompió.

Verificar regularmente estos cuatro puntos convierte la protección en un proceso continuo en lugar de una acción puntual: si pasados varios meses el campo CambiosAplic sigue en cero, significa que ninguna actualización ni instalador ha alterado tu configuración, lo cual es exactamente el comportamiento deseado.


Señales de que tu acceso remoto en Windows ha sido comprometido

🧠 Señales de que tu acceso remoto ha sido comprometido

Reconocer las señales de compromiso es tan importante como aplicar las medidas defensivas: ningún sistema es invulnerable y los atacantes evolucionan continuamente.

Si pese a tu configuración de acceso remoto Windows seguro detectas alguno de los siguientes síntomas, considera que la protección ha sido neutralizada o nunca llegó a aplicarse correctamente. Estos diez indicadores de compromiso remoto son los más fiables.

  • 🖱️ El cursor se mueve solo o aparecen ventanas que no has abierto
  • ⚡ El equipo está lento con alta CPU o uso de red sin razón aparente
  • 🔒 Han cambiado tu contraseña o configuración sin que lo hayas hecho tú
  • 📁 Aparecen o desaparecen archivos sin tu intervención
  • 🌐 El antivirus o Windows Update dejaron de funcionar repentinamente
  • 💡 La luz de la cámara se enciende sola
  • 📧 Tus contactos reciben mensajes que tú no has enviado
  • 🌍 Eventos 4624 (login exitoso) en horario en el que no usas el equipo
  • 🚪 Reglas nuevas en el firewall que no recuerdas haber creado
  • 🔧 Servicios nuevos en ejecución relacionados con software RMM

⏱️ Checklist de respuesta post-compromiso de acceso remoto Windows seguro (orden estricto)

Si confirmas que tu equipo ha sido controlado remotamente, actúa en este orden:

  1. 0-2 min: Desconecta el cable Ethernet y desactiva WiFi del equipo afectado.
  2. 2-5 min: NO apagues el equipo si sospechas movimiento lateral activo: la RAM puede contener IOCs.
  3. 5-10 min: Desde OTRO dispositivo limpio, cambia contraseña del correo principal y activa 2FA.
  4. 10-20 min: Revoca sesiones activas en banco, Outlook, Gmail, M365, redes sociales, gestor.
  5. 20-40 min: Revisa reglas de reenvío de correo (vector clásico de persistencia post-RDP).
  6. 40-60 min: Avisa al banco de posible fraude; revisa los movimientos de los últimos 30 días.
  7. 1-2 h: Documenta los eventos 4624/4625 y exporta el log de Security a un USB nuevo.
  8. 2-4 h: Análisis con Malwarebytes + Defender Offline; identifica RAT instalados.
  9. 4-8 h: Denuncia INCIBE (017) y, si hay delito económico, GDT (062).
  10. Después: Reinstalación limpia desde USB creada en otro equipo si el incidente fue grave.

Cuando aparece cualquiera de estas señales, lo más probable es que el acceso remoto Windows seguro nunca llegó a estar realmente activo o que ha sido neutralizado por malware con privilegios. La respuesta correcta es desconectar el equipo de la red, revisar los procesos RAT, los eventos 4625 y, una vez contenido, restaurar la configuración con el script de esta guía y un cambio total de credenciales.


🆚 Sin protección vs acceso remoto Windows seguro

CaracterísticaSin protecciónCon RemoteAccess-Guard
Puerto RDP expuesto🔴 Sí, visible en internet🟢 No, bloqueado en todos los perfiles
Contraseñas🔴 Débiles o reutilizadas🟢 Únicas, 16+ caracteres
Doble factor (2FA)🔴 No activo🟢 Obligatorio
Persistencia del bloqueo🔴 Un malware puede revertir la configuración🟢 Cuatro tareas programadas lo restauran
Cambio de red🔴 Cambio de perfil puede reabrir 3389🟢 Verificación automática al cambiar
Monitorización de RAT🔴 Sin alertas🟢 Detección de TeamViewer/AnyDesk/VNC
Riesgo de ransomware🔴 Muy alto🟢 Muy bajo

La comparativa demuestra que pasar de "sin protección" a un acceso remoto Windows seguro con RemoteAccess-Guard no es un cambio cosmético, sino un salto cualitativo. Cada fila representa un vector de ataque cerrado, y la suma convierte un equipo expuesto en un endpoint difícil de comprometer.


❓ Preguntas frecuentes

¿Cómo sé si alguien está controlando mi ordenador ahora mismo?

👉 Los indicios más claros son: movimiento del cursor sin que lo muevas, ventanas que se abren solas, equipo muy lento con alta actividad de red y cambios en configuraciones. Verifica conexiones activas con netstat -an | findstr ESTABLISHED. Si ves conexiones en el puerto 3389, 5900 o a IPs desconocidas, tu equipo puede estar siendo controlado.

Cuando el script de acceso remoto Windows seguro está activo, este tipo de detección manual deja de ser necesaria: registra automáticamente los procesos RAT y los intentos fallidos en el CSV histórico.

¿Es seguro usar TeamViewer o AnyDesk?

👉 Sí, siempre que se usen correctamente dentro de una estrategia de acceso remoto Windows seguro. Ambas cifran sus conexiones con AES-256 y TLS. El riesgo aparece con contraseñas débiles, acceso concedido a desconocidos por teléfono, o software desactualizado. Activa 2FA y revisa el historial de conexiones.

El script RemoteAccess-Guard los detecta y registra en el CSV, pero no los detiene automáticamente: si los usas legítimamente, simplemente ignóralos en el log. La clave está en aplicar a estas herramientas las mismas exigencias que a RDP: contraseñas largas y únicas, MFA activado, software actualizado y revisión periódica del historial de conexiones.

¿Las cuatro tareas programadas ralentizan el equipo?

👉 No de forma perceptible. Cada ejecución de las tareas del acceso remoto Windows seguro dura menos de 5 segundos, se realiza en background como SYSTEM en modo oculto (sin ventana visible). El script es idempotente: comprueba cada configuración antes de modificarla y solo actúa si detecta desviación, así que las ejecuciones repetidas terminan en segundos con cero cambios.

La carga combinada suma menos de 2 minutos de CPU al día. Comparado con el coste de un cifrado de ransomware o la pérdida de archivos personales, los pocos segundos de CPU que consumen las tareas programadas son una inversión defensiva insignificante.

¿Por qué hay una tarea específica para "al conectar a red nueva"?

👉 Porque el momento en el que Windows identifica una red nueva es uno de los escenarios críticos: puede cambiar automáticamente de perfil de firewall (privado a público o viceversa), y ese cambio puede reactivar reglas preexistentes que reabran RDP.

La tarea RemoteAccess-Guard-Red se dispara con el evento 10000 del log Microsoft-Windows-NetworkProfile/Operational, verifica el bloqueo y lo reaplica si detecta desviación. Especialmente útil en portátiles que cambian de red (casa, oficina, cafetería, hotel). Esta tarea es lo que diferencia una configuración estática de una verdaderamente adaptativa.

¿Cómo desactivo las tareas si quiero volver a usar RDP?

👉 Ejecuta el script de reversión incluido en esta guía: elimina las cuatro tareas (RemoteAccess-Guard-Inicio, Logon, Horaria y Red) y reactiva RDP en un solo paso. Si solo quieres una excepción puntual, la vía recomendada es dejar el script activo y abrir RDP bajo una VPN (la VPN cifra la conexión y oculta el puerto 3389 de internet).

Reactivar RDP no equivale a renunciar al acceso remoto Windows seguro: la forma correcta es publicarlo solo dentro de una VPN, aplicar restricciones de IP, forzar NLA y mantener el 2FA en la cuenta del sistema.

¿Puedo cambiar la frecuencia de la tarea horaria?

👉 Sí. Abre el Programador de tareas, localiza RemoteAccess-Guard-Horaria, ve a la pestaña Desencadenadores, edita el desencadenador y cambia el campo "Repetir cada" a 2 horas, 6 horas o el intervalo que prefieras. Una hora es el equilibrio recomendado: las otras tres tareas (inicio, logon y red) ya cubren los momentos de mayor riesgo.

La frecuencia configurable hace que el acceso remoto Windows seguro se adapte al perfil de cada usuario: en un equipo de sobremesa estable basta cada 6 horas, mientras que en un portátil que viaja constantemente conviene mantener el intervalo en 1 hora.

¿En qué se diferencia esto del hardening del sistema operativo?

👉 El hardening del sistema operativo actúa sobre LSASS, SMB, UAC y servicios; este artículo se centra en el acceso remoto Windows seguro: RDP, Asistencia Remota, NLA y herramientas RAT. Son complementarios: el bloqueo del acceso remoto cierra los canales de entrada externos, mientras que el hardening del SO endurece lo que ocurre dentro del sistema una vez que el atacante ya está intentando moverse.

¿Puedo aplicarlo en un equipo doméstico sin Active Directory?

👉 Sí. Toda esta guía de acceso remoto Windows seguro está pensada para equipos sin GPO ni Intune: usa el registro local, el Firewall de Windows y el Programador de tareas, todos disponibles en Windows 10 y 11 Home. Es el enfoque ideal para autónomos, freelances y particulares.

¿Qué diferencia hay entre RDP, una VPN y un proxy?

👉 Cada uno cumple una función distinta dentro del acceso remoto Windows seguro y se complementan, no se sustituyen. RDP proporciona control gráfico completo de un escritorio Windows remoto en tiempo real, ideal para administrar el equipo como si estuvieras delante.

VPN crea un túnel cifrado entre tu dispositivo y una red privada, ocultando tráfico y direcciones IP; no controla escritorios, solo encapsula conexiones. Proxy reenvía peticiones específicas (normalmente HTTP/HTTPS) hacia internet a través de un intermediario, sin cifrar todo el tráfico ni dar acceso al equipo remoto.

La configuración óptima combina los tres: VPN para acceder a la red, RDP dentro de esa VPN para controlar el equipo, y proxy corporativo para auditar el tráfico de salida.

¿Con qué frecuencia debo revisar mi configuración?

👉 Como mínimo cada trimestre, y siempre tras una actualización mayor de Windows. La revisión del acceso remoto Windows seguro consiste en abrir el CSV histórico, comprobar que las cuatro tareas están en Ready y verificar que el campo CambiosAplic no sube de forma anómala. Mantener la protección al día es tan importante como aplicarla la primera vez.


🏁 Conclusión: Acceso remoto Windows seguro en 2026

El acceso remoto Windows seguro no es una opción reservada para grandes empresas: es una necesidad para cualquier usuario. El puerto 3389 expuesto, una contraseña débil o un TeamViewer sin 2FA son suficientes para que un atacante tome el control total de tu equipo en minutos.

Las medidas de esta guía no requieren conocimientos avanzados. Desactivar RDP si no lo usas, bloquear el puerto 3389, usar una VPN y activar el 2FA son acciones que cualquier usuario puede aplicar con los scripts PowerShell incluidos en esta guía de acceso remoto Windows seguro.

Combinadas y protegidas con las cuatro tareas programadas (inicio, logon, cada hora y al conectar a red nueva), eliminan la inmensa mayoría de los vectores de ataque que los ciberdelincuentes explotan a diario, y el bloqueo persiste frente a malware, instaladores agresivos y actualizaciones que puedan revertir configuraciones.

En resumen, un acceso remoto Windows seguro se sostiene sobre tres ideas: reducir la superficie expuesta (RDP cerrado, puerto 3389 bloqueado, Asistencia Remota desactivada), exigir autenticación fuerte (NLA, MFA, contraseñas únicas) y mantener la configuración viva con tareas programadas que la restauran automáticamente.

Con esos tres pilares, la postura defensiva deja de ser una recomendación abstracta y se convierte en una capa concreta, auditable y resistente, alineada con cualquier baseline de seguridad CIS o NIST.

El checklist final que sigue resume en nueve puntos lo aplicable a cualquier acceso remoto Windows seguro en 2026. Si puedes marcarlos todos con seguridad, tu equipo está protegido frente al 95 % de los ataques automatizados que circulan a diario por internet.

🔒 Checklist final de acceso remoto Windows seguro

  • RDP desactivado o restringido a IPs de confianza
  • Puerto 3389 bloqueado en firewall (todos los perfiles)
  • VPN activa antes de cualquier conexión remota
  • Contraseñas de 16+ caracteres únicas por equipo
  • 2FA activado en todas las herramientas remotas
  • Refuerzo de cuentas locales con guía completa de hardening de cuentas Windows para bloquear fuerza bruta y password spraying sobre los usuarios del sistema una vez cerrado el puerto 3389
  • Cierre de los demás servicios de red (SMBv1, LLMNR, NetBIOS, Print Spooler, Remote Registry, Computer Browser) con SharingDisable-Guard, complementario al RemoteAccess-Guard de este artículo, para no dejar abierta la otra mitad de la superficie de red
  • Windows y software de acceso remoto actualizados
  • RemoteAccess-Guard instalado con sus 4 tareas programadas
  • Revisión mensual del CSV histórico

Si has marcado los nueve puntos, tu acceso remoto Windows seguro está al nivel de un endpoint corporativo gestionado.

Autor

Entusiasta de la seguridad informática con años de experiencia en protección de sistemas Windows y defensa contra amenazas digitales. Apasionado por la tecnología y la privacidad, comparto en este blog consejos prácticos, análisis detallados y guías paso a paso para que cualquier usuario pueda fortalecer la seguridad de su PC y su vida digital

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Tu puntuación: Útil

Subir