← Volver al Blog
security firewall

Cómo bloquear intentos de fuerza bruta con connection-limit

Algo le está golpeando el puerto de WinBox, SSH o API a tu router con intentos de conexión — lo más probable es un escáner automatizado probando credenciales, no un ataque dirigido. Las listas de direcciones estáticas no dan abasto contra atacantes que rotan IP de origen. Lo que realmente querés es una regla que reconozca el comportamiento en sí — muchas conexiones nuevas desde un mismo origen en poco tiempo — y lo bloquee automáticamente, sin importar de dónde venga.

1

Agregá una regla que detecte el patrón

connection-limit=3,32 matchea una dirección que ya tiene más de 3 conexiones abiertas a este puerto, con granularidad /32 (por dirección individual). Cuando matchea, agregá ese origen a una lista negra por un día:

/ip firewall filter add chain=input protocol=tcp dst-port=8291 \
  connection-limit=3,32 action=add-src-to-address-list \
  address-list=winbox-blacklist address-list-timeout=1d

8291 es el puerto de WinBox por defecto — cambialo por 22 para SSH, o el puerto que uses para API/API-SSL, y repetí la regla por cada servicio que quieras proteger.

2

Agregá una regla arriba para descartar las direcciones en lista negra

El orden de las reglas importa — esta regla de drop tiene que ir antes que la de detección de arriba (o al menos antes de que el origen tenga chance de seguir conectándose), así que cualquiera que ya esté en la lista queda rechazado al instante:

/ip firewall filter add chain=input src-address-list=winbox-blacklist action=drop place-before=0
3

Repetí para cada servicio de gestión expuesto

Aplicá el mismo par de reglas — detectar-y-listar, después dropear-si-está-listado — para cada puerto de gestión que realmente tengas abierto: SSH, la API plana, API-SSL. Usá una lista de direcciones separada por servicio si querés rastrearlos de forma independiente, o compartí una sola lista si preferís tratar cualquier intento de fuerza bruta contra cualquier servicio como motivo para bloquear ese origen en todos lados.

4

Confirmá que esté agarrando intentos reales

Revisá la lista de direcciones cada tanto para ver a quién agarró:

/ip firewall address-list print where list=winbox-blacklist

Por qué hacerlo así

Connection-limit bloquea en base al comportamiento — demasiadas conexiones nuevas, demasiado rápido, desde un mismo origen — en vez de matchear contra una firma fija o una lista mantenida a mano de direcciones ya conocidas como maliciosas. Eso significa que agarra a un atacante la primera vez que lo ve, usando una IP que nadie bloqueó nunca antes, sin necesidad de actualizar nada ni suscribirse a ningún feed. Una lista negra estática solo frena a los atacantes que ya conocés; esto frena el patrón en sí, que es lo que realmente importa contra escáneres que rotan la dirección de origen todo el tiempo.

Cómo te ayuda MoniTik

Una regla como esta maneja el bloqueo automáticamente, pero igual querés enterarte de que se disparó — un intento sostenido de fuerza bruta vale la pena conocerlo aunque ya haya sido bloqueado. MoniTik alerta ante picos anómalos de conexiones en un dispositivo monitoreado, así que te enterás del intento por el feed de alertas en vez de encontrártelo de casualidad en los logs del firewall días después.

Iniciar Prueba Gratuita
Isabela Navarro
Isabela Navarro Ingeniera de Redes

Isabela escribe sobre las tareas cotidianas de MikroTik que nunca terminan de estar en la documentación oficial.