Quiero compartir con la comunidad un método simple y efectivo para proteger tu red y los servicios que dependen de Mikrotik de ataques externos. En resumen, se pueden organizar en Mikrotik un honeypot con solo tres reglas.
Imaginemos que tenemos una pequeña oficina, con una IP externa detrás de la cual se encuentra un servidor RDP para que los empleados trabajen de forma remota. La primera regla es, por supuesto, cambiar el puerto 3389 en la interfaz externa por otro. Pero esto no dura mucho, después de un par de días, el registro de auditoría del servidor terminal comenzará a mostrar varios intentos de inicio de sesión fallidos por segundo de clientes desconocidos.
En otra situación, si tienes un asterisk oculto detrás de Mikrotik, por supuesto no en el puerto 5060 UDP, y después de unos días también comienza el intento de adivinar contraseñas ... sí, lo sé, fail2ban es nuestra salvación, pero aún hay que trabajar un poco en eso ... por ejemplo, recientemente lo instalé en Ubuntu 18.04 y con sorpresa descubrí que fail2ban, tal cual, no incluye configuraciones actualizadas para asterisk en esa misma versión de Ubuntu ... y buscar configuraciones rápidas de 'recetas' ya no funciona, los números de las versiones aumentan con los años, y los artículos con 'recetas' para versiones antiguas ya no funcionan, y apenas aparecen nuevos ... Pero me estoy desviando ...
Entonces, ¿qué es un honeypot en pocas palabras? Es una trampa, en nuestro caso, algún puerto popular en la IP externa, cualquier solicitud a ese puerto de un cliente externo envía la dirección src a la lista negra. Eso es todo.
/ip firewall filter
add action=add-src-to-address-list address-list="Honeypot Hacker"
address-list-timeout=30d0h0m chain=input comment="block honeypot ssh rdp winbox"
connection-state=new dst-port=22,3389,8291 in-interface=
ether4-wan protocol=tcp
add action=add-src-to-address-list address-list="Honeypot Hacker"
address-list-timeout=30d0h0m chain=input comment=
"block honeypot asterisk" connection-state=new dst-port=5060
in-interface=ether4-wan protocol=udp
/ip firewall raw
add action=drop chain=prerouting in-interface=ether4-wan src-address-list=
"Honeypot Hacker"
La primera regla en los populares puertos TCP 22, 3389, 8291 de la interfaz externa ether4-wan envía la IP del 'invitado' a la lista 'Honeypot Hacker' (los puertos para ssh, rdp y winbox han sido desactivados o cambiados de antemano). La segunda regla hace lo mismo en el popular UDP 5060.
La tercera regla en la etapa de prerouter bloquea paquetes de 'invitados' cuya dirección srs ha quedado en 'Honeypot Hacker'.
Después de dos semanas de funcionamiento de mi Mikrotik en casa, la lista 'Honeypot Hacker' incluyó alrededor de mil quinientas IPs de aquellos que intentaban 'tocar mis recursos de red' (en casa tengo mi propia telefonía, correo, nextcloud, rdp). Los ataques de fuerza bruta se detuvieron, y llegó la paz.
En el trabajo no resultó ser tan sencillo, allí el servidor rdp continúa siendo atacado por intentos de adivinar contraseñas.
Parece que el escáner determinó el número de puerto mucho antes de que se activara el honeypot, y durante la cuarentena no es fácil reconfigurar a más de 100 usuarios, de los cuales el 20% tiene más de 65 años. En los casos en que no se puede cambiar el puerto, hay una pequeña receta que funciona. He visto algo similar en internet, pero aquí hay una mejora y un ajuste fino:
Reglas para configurar Port Knocking
/ip firewall filter
add action=add-src-to-address-list address-list=rdp_blacklist
address-list-timeout=15m chain=forward comment=rdp_to_blacklist
connection-state=new dst-port=3389 protocol=tcp src-address-list=
rdp_stage12
add action=add-src-to-address-list address-list=rdp_stage12
address-list-timeout=4m chain=forward connection-state=new dst-port=3389
protocol=tcp src-address-list=rdp_stage11
add action=add-src-to-address-list address-list=rdp_stage11
address-list-timeout=4m chain=forward connection-state=new dst-port=3389
protocol=tcp src-address-list=rdp_stage10
add action=add-src-to-address-list address-list=rdp_stage10
address-list-timeout=4m chain=forward connection-state=new dst-port=3389
protocol=tcp src-address-list=rdp_stage9
add action=add-src-to-address-list address-list=rdp_stage9
address-list-timeout=4m chain=forward connection-state=new dst-port=3389
protocol=tcp src-address-list=rdp_stage8
add action=add-src-to-address-list address-list=rdp_stage8
address-list-timeout=4m chain=forward connection-state=new dst-port=3389
protocol=tcp src-address-list=rdp_stage4
add action=add-src-to-address-list address-list=rdp_stage7
address-list-timeout=4m chain=forward connection-state=new dst-port=3389
protocol=tcp src-address-list=rdp_stage6
add action=add-src-to-address-list address-list=rdp_stage6
address-list-timeout=4m chain=forward connection-state=new dst-port=3389
protocol=tcp src-address-list=rdp_stage5
add action=add-src-to-address-list address-list=rdp_stage5
address-list-timeout=4m chain=forward connection-state=new dst-port=
3389 protocol=tcp src-address-list=rdp_stage4
add action=add-src-to-address-list address-list=rdp_stage4
address-list-timeout=4m chain=forward connection-state=new dst-port=
3389 protocol=tcp src-address-list=rdp_stage3
add action=add-src-to-address-list address-list=rdp_stage3
address-list-timeout=4m chain=forward connection-state=new dst-port=3389
protocol=tcp src-address-list=rdp_stage2
add action=add-src-to-address-list address-list=rdp_stage2
address-list-timeout=4m chain=forward connection-state=new dst-port=3389
protocol=tcp src-address-list=rdp_stage1
add action=add-src-to-address-list address-list=rdp_stage1
address-list-timeout=4m chain=forward connection-state=new dst-port=3389
protocol=tcp
/ip firewall raw
add action=drop chain=prerouting in-interface=ether4-wan src-address-list=
rdp_blacklist
Se permite que un cliente remoto haga solo 12 nuevas "solicitudes" a RDP en 4 minutos. servidor. Un intento de acceso implica de 1 a 4 "solicitudes". En la duodécima "solicitud", se aplica un bloqueo de 15 minutos. En mi caso, los atacantes no han dejado de intentar hackear el servidor, se han adaptado a los temporizadores y ahora lo hacen muy lentamente; esta velocidad de prueba reduce la efectividad del ataque a cero. Los empleados de la empresa prácticamente no experimentan inconvenientes en su trabajo por las medidas tomadas.
Otra pequeña trampa
Esta regla se activa a la medianoche y se desactiva a las 5, cuando las personas verdaderas están durmiendo, mientras que los recolectores automatizados continúan despiertos.
/ip firewall filter
add action=add-src-to-address-list address-list=rdp_blacklist
address-list-timeout=1w0d0h0m chain=forward comment=
"night_rdp_blacklist" connection-state=new disabled=
yes dst-port=3389 protocol=tcp src-address-list=rdp_stage8Ya en la octava conexión, la IP del atacante se envía a una lista negra por una semana. ¡Espectacular!
Además de lo mencionado anteriormente, debo añadir un enlace a un artículo de Wiki con la configuración funcional de protección de MikroTik contra escáneres de red.
En mis dispositivos, esta configuración funciona junto con las reglas de honeypot mencionadas anteriormente, complementándolas bastante bien.
UPD: Como se sugirió en los comentarios, la regla de caída de paquetes se ha movido a RAW para reducir la carga en el enrutador.
Fuente: habr.com
