Protección ante RDP-Bruteforce

Si en el servidor de tu empresa o particular tienes expuesto el puerto 3389 (Microsoft Termial Server o Escritorio remoto) a red pública o Internet, tienes un gran problema, ya que no tardará en ser detectado por los múltiples spybots que escanean puertos en busca de estos servicios.

Una vez hayan detectado la dirección ip y puerto de tu servidor como vulnerable a este tipo de ataques, serán incluidos en el proceso de ataque por fuerza bruta, por el que intentarán de forma constante iniciar sesión en tu servidor, probando con diferentes usuarios y contraseñas hasta dar con alguna combinación que le facilite acceso al servidor y así poder, por ejemplo, encriptar los datos de este y luego pedir un rescate.

Una de las primeras soluciones que se suelen aplicar en estos casos, es el cambio de puerto asignado al servicio RDP, pero con esto no harás más que ganar un poco de tiempo, ya que el spybot es capaz de escanear todos los puertos abiertos en una dirección IP e identificar si el servicio que hay detrás es el que busca.

Otras de las medidas que se suelen aplicar es el configurar una política de restricción en el número de intentos de inicio de sesión fallidos por cuenta, pero con esto tan solo conseguiremos el tener todas las cuentas atacadas suspendidas constantemente. Con lo que los usuarios pueden perder productividad.

También existen diferentes soluciones software, como RdpGuard , que detectan cuando se realiza un ataque de este tipo y bloquea en el firewall de Windows la IP del atacante durante un tiempo predefinido. Pero hemos detectado que este tipo software no es del todo fiable, ya que los ataques se han perfeccionado,  conseguiendo en muchos de los casos ocultar su dirección ip a este tipo de protección software.

Desde luego, la mejor opción es nunca exponer este tipo de servicios a la red pública o Internet, en todo caso realizarlo detrás de un servicio VPN, a ser posible L2TP sobre IPSeC. Pero no siempre se puede o quiere implantar este tipo de tecnologías. Por ello vamos a mencionar algunas soluciones que a nuestro parecer son la mejor opción para protegeros de este ataque:

La primera y mejor solución que hemos encontrado es el configurar nuestro firewall para detectar los ataques de fuerza bruta sobre el puerto expuesto. En este caso práctico lo vamos a realizar con un RouterBoard Mikrotik RB951G-2Hnd. Para neutralizar estos ataques vamos a hacer uso de las llamadas «Address list», esta funcionalidad nos permite añadir direcciones ip a una agrupación de ips y asignarle a cada una un tiempo de permanencia.

La protección que vamos a implementar funciona de la siguiente forma:

– RDSFASE1:  se incluirán en esta lista todas las direcciones IP que intenten realizar una conexión al puerto expuesto RDP por primera vez y durante 1 minuto.

– RDSFASE2: se incluirán las direcciones IP que intenten conectar por el puerto expuesto RDP y ya estén en la RDSFASE1, durante 1 minuto.

– RDSFASE3: se incluirán las direcciones IP que intenten conectar por el puerto expuesto RDP y ya estén en la RDSFASE2, durante 1 minuto.

– RDS-BLOCK: se incluirán las direcciones IP que intenten conectar por el puerto expuesto RDP y ya estén en la RDSFASE3, durante 120 minutos.

– El firewall permitirá el acceso a todas las direcciones IP que intenten realizar una conexión al puerto expuesto RDP y que no estén en la RDS-BLOCK.

Con esto conseguimos que se bloquee durante 120 minutos todas las direcciones IP que conecten por el puerto expuesto RDP mas de 3 veces en un plazo máximo de 3 minutos.

Para aplicar esta configuración en nuestro firewall mikrotik, debemos ejecutar el siguiente código ( en este caso expondremos el puerto 23 redireccionado al 3389 interno, la ip interna de servidor es 192.168.1.100):

También habrá que abrir el puerto:

En próximos artículos traeremos otras buenas prácticas para protegernos ante este tipo de ataques.