¿Es peligroso mantener RDP abierto en Internet?

A menudo he leído la opinión de que mantener el puerto RDP (Protocolo de Escritorio Remoto) abierto a Internet es bastante inseguro y no se debería hacer. Se debería permitir el acceso a RDP solo a través de VPN o desde ciertas direcciones IP "blancas".

Administro varios servidores Windows para pequeñas empresas, donde se me ha encargado proporcionar acceso remoto a Windows Server para contadores. Esta es una tendencia moderna: trabajar desde casa. Rápidamente me di cuenta de que hacer sufrir a los contadores con VPN no era una tarea agradecida, y que reunir todas las IPs para la lista blanca no sería posible, ya que las direcciones IP de la gente son dinámicas.

Por lo tanto, opté por la solución más simple: expuse el puerto RDP al exterior. Ahora, para que los contadores puedan acceder, necesitan iniciar RDP e ingresar el nombre del host (incluido el puerto), el nombre de usuario y la contraseña.

En este artículo compartiré mi experiencia (tanto positiva como negativa) y recomendaciones.

Riesgos

¿Qué riesgos corre al abrir el puerto RDP?

1) Acceso no autorizado a datos sensibles
Si alguien adivina la contraseña de RDP, podrá acceder a datos que quiere mantener en privado: saldo de cuentas, balances, datos de clientes, ...

2) Pérdida de datos
Por ejemplo, como resultado de la acción de un virus de cifrado.
O una acción deliberada de un atacante.

3) Pérdida de estación de trabajo
Los empleados necesitan trabajar y el sistema está comprometido, es necesario reinstalar/restaurar/configurar.

4) Compromiso de la red local
Si un atacante obtiene acceso a una computadora con Windows, desde esa computadora podrá acceder a sistemas que no son accesibles desde el exterior, desde Internet. Por ejemplo, a unidades compartidas, impresoras de red, etc.

Tuve un caso en el que un servidor Windows fue infectado por un cifrador

y este cifrador en primer lugar cifró la mayoría de los archivos en el disco C:, y luego comenzó a cifrar archivos en el NAS a través de la red. Dado que el NAS era un Synology, con snapshots configurados, pude recuperar el NAS en 5 minutos, mientras que el servidor Windows lo reinstalé desde cero.

Observaciones y Recomendaciones

Monitoreo mis servidores Windows con Winlogbeat, que envían registros a ElasticSearch. En Kibana hay varias visualizaciones, y también configuré un panel personalizado.
El monitoreo en sí no protege, pero ayuda a determinar las medidas necesarias.

Aquí algunas observaciones:
a) El RDP será sometido a ataques de fuerza bruta.
En uno de los servidores, configuré RDP en un puerto que no es el estándar 3389, sino en el 443, para enmascararlo como HTTPS. Cambiar el puerto de estándar, probablemente sea una buena idea, pero la utilidad de esto es mínima. Aquí está la estadística de este servidor:

¿Es peligroso mantener RDP abierto en Internet?

Se puede ver que en una semana hubo casi 400,000 intentos fallidos de acceder por RDP.
Se observa que los intentos de acceso provinieron de 55,001 direcciones IP (algunas de las cuales ya han sido bloqueadas por mí).

Aquí se plantea la conclusión de que es necesario instalar fail2ban, pero

no hay tal utilidad para Windows.

Hay un par de proyectos abandonados en GitHub que supuestamente hacen esto, pero ni siquiera he intentado instalarlos:
https://github.com/glasnt/wail2ban
https://github.com/EvanAnderson/ts_block

También hay utilidades de pago, pero no las he considerado.

Si conoces una utilidad abierta para este fin, compártela en los comentarios.

mensaje de Update.: En los comentarios me sugirieron que el puerto 443 no es una buena elección, y que es mejor elegir puertos altos (32000+), porque el 443 se escanea con más frecuencia, y reconocer RDP en este puerto no es un problema.

Update: En los comentarios me mencionaron que existe tal utilidad:
https://github.com/digitalruby/ipban

b) Hay ciertos nombres de usuario que los atacantes prefieren.
Se puede ver que el ataque se lleva a cabo utilizando un diccionario con diferentes nombres.
Pero lo que he notado es que una cantidad significativa de intentos utiliza el nombre del servidor como nombre de usuario. Recomendación: no uses el mismo nombre para la computadora que para el usuario. De hecho, a veces parece que intentan parsear el nombre del servidor: por ejemplo, para un sistema con el nombre DESKTOP-DFTHD7C, la mayoría de los intentos vienen con el nombre DFTHD7C:

¿Es peligroso mantener RDP abierto en Internet?

Por lo tanto, si tienes una computadora DESKTOP-MARIA, probablemente habrá intentos de acceder con el usuario MARIA.

Además, lo que he notado en los registros: en la mayoría de los sistemas, la mayoría de los intentos de acceso son con el nombre "administrator". Y esto no es casualidad, porque en muchas versiones de Windows, este usuario existe. Además, no se puede eliminar. Esto facilita la tarea para los atacantes: en lugar de tener que adivinar un nombre y contraseña, solo necesitan adivinar la contraseña.
Por cierto, el sistema que captó al ransomware tenía el usuario Administrator y la contraseña Murmansk#9. Aún no estoy seguro de cómo fue hackeado ese sistema, porque comencé a monitorearlo justo después de ese incidente, pero creo que el brute force es probable.
Entonces, si no se puede eliminar al usuario Administrator, ¿qué se puede hacer? ¡Se puede renombrar!

Recomendaciones de este punto:

  • no utilices el nombre de usuario en el nombre de la computadora.
  • asegúrate de que no haya usuarios con el nombre Administrator en el sistema
  • utiliza contraseñas seguras

De esta manera, he estado observando cómo varios servidores Windows bajo mi control han sido objeto de ataques de fuerza bruta durante aproximadamente un par de años, sin éxito.

¿Cómo sé que no han tenido éxito?
Porque en las capturas de pantalla anteriores se puede ver que hay registros de accesos exitosos por RDP, donde se incluye información:

  • desde qué IP
  • desde qué computadora (nombre del host)
  • nombre de usuario
  • información de GeoIP

Y reviso esto regularmente — no he encontrado anomalías.

Por cierto, si desde alguna IP se intenta forzar el acceso con especial ímpetu, se puede bloquear direcciones IP individuales (o subredes) así en PowerShell:

New-NetFirewallRule -Direction Inbound -DisplayName "fail2ban" -Name "fail2ban" -RemoteAddress ("185.143.0.0/16", "185.153.0.0/16", "193.188.0.0/16") -Action Block

Además de Winlogbeat, Elastic también tiene Auditbeat, que puede monitorear archivos y procesos en el sistema. También hay una aplicación SIEM (Gestión de Información y Eventos de Seguridad) en Kibana. He probado ambas, pero no he visto mucho beneficio — parece que Auditbeat será más útil para sistemas Linux, y SIEM no me ha mostrado nada claro hasta ahora.

Y las recomendaciones finales:

  • realiza copias de seguridad automáticas regularmente.
  • instala actualizaciones de seguridad a tiempo.

Bono: lista de 50 usuarios que se han utilizado con mayor frecuencia para intentos de acceso por RDP

"user.name: Descending"
Contar

dfthd7c (nombre del host)
842941

winsrv1 (nombre del host)
266525

ADMINISTRATOR
180678

administrador
163842

Administrator
53541

michael
23101

servidor
21983

steve
21936

john
21927

paul
21913

reception
21909

mike
21899

office
21888

scanner
21887

scan
21867

david
21865

chris
21860

propietario
21855

manager
21852

administrateur
21841

brian
21839

Administrador
21837

mark
21824

staff
21806

ADMIN
12748

ROOT
7772

ADMINISTRADOR
7325

SUPPORT
5577

SOPORTE
5418

USER
4558

admin
2832

TEST
1928

MySql
1664

Admin
1652

GUEST
1322

USER1
1179

SCANNER
1121

SCAN
1032

ADMINISTRATEUR
842

ADMIN1
525

BACKUP
518

MySqlAdmin
518

RECEPTION
490

USER2
466

TEMP
452

SQLADMIN
450

USER3
441

1
422

MANAGER
418

A menudo he leído la opinión de que mantener el puerto RDP (Protocolo de Escritorio Remoto) abierto en Internet es bastante inseguro, y que no se debe hacer.
410

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster