
🛡️ Sistema de Defensa Progresiva contra Accesos Fallidos en Red WAN con MikroTik
🎯 Objetivo General
Implementar un sistema automatizado en MikroTik que detecte, registre y bloquee direcciones IP externas que realicen múltiples intentos fallidos de conexión a servicios expuestos en la red WAN, aplicando bloqueos escalonados (10 minutos y luego 1 día), con notificaciones en el log y señales sonoras diferenciadas.
🧱 Componentes de la Solución
- Listas de direcciones dinámicas para rastrear intentos fallidos.
- Reglas de firewall para detección, conteo y bloqueo.
- Scripts para emitir sonidos y registrar eventos.
- Scheduler para ejecutar acciones automáticas.
- Logs personalizados para auditoría.
- Parámetros configurables para adaptarse a otros servicios (Winbox, FTP, etc.).
🔧 Configuración Paso a Paso
1. Crear listas de seguimiento por etapas
/ip firewall address-list
add list=whitelist address=192.168.88.0/24 comment=»Red interna confiable»
2. Detección de intentos nuevos (ej. SSH puerto 22)
/ip firewall filter
add chain=input protocol=tcp dst-port=22 connection-state=new src-address-list=!whitelist \
action=add-src-to-address-list address-list=ssh_stage1 address-list-timeout=1m log=yes log-prefix=»SSH intento 1″
3. Escalado de intentos fallidos
Repetir para ssh_stage2
hasta ssh_stage5
:
/ip firewall filter
add chain=input src-address-list=ssh_stage1 protocol=tcp dst-port=22 connection-state=new \
action=add-src-to-address-list address-list=ssh_stage2 address-list-timeout=1m log-prefix=»SSH intento 2″
4. Bloqueo temporal (10 minutos)
/ip firewall filter
add chain=input src-address-list=ssh_stage5 action=add-src-to-address-list \
address-list=ssh_block_10min address-list-timeout=10m log=yes log-prefix=»SSH BLOQUEO 10min»
add chain=input src-address-list=ssh_block_10min action=drop
5. Escalado a bloqueo de 1 día
/ip firewall address-list
add list=ssh_block_10min list=ssh_block_1day timeout=1d
/ip firewall filter
add chain=input src-address-list=ssh_block_1day action=drop log=yes log-prefix=»SSH BLOQUEO 1día»
🔔 Notificaciones Sonoras
Scripts para sonidos
/system script
add name=beep_10min policy=read,write source=»/beep frequency=1000 length=500ms»
add name=beep_1day policy=read,write source=»/beep frequency=2000 length=1000ms»
Scheduler para ejecutar sonidos
/system scheduler
add name=beep10min on-event=»/system script run beep_10min» interval=10m start-time=startup
add name=beep1day on-event=»/system script run beep_1day» interval=1d start-time=startup
🧹 Mantenimiento y Limpieza
Asegúrate de que las listas temporales se limpien automáticamente:
/ip firewall address-list
add list=ssh_stage1 timeout=1m
add list=ssh_stage2 timeout=1m
…
📋 Recomendaciones Adicionales
- Adaptabilidad: Puedes replicar esta lógica para otros servicios como Winbox (puerto 8291), FTP, HTTP, etc.
- Seguridad: Agrega tu red interna a la lista
whitelist
para evitar bloqueos accidentales. - Auditoría: Revisa los logs regularmente para detectar patrones de ataque.
- Alertas remotas: Puedes integrar notificaciones por correo o Telegram si lo deseas.
Descarga el archivos RSC:
Sistema de Defensa Progresiva contra Accesos Fallidos en Red WAN con MikroTik.rsc