Hace un par de meses recibimos un reporte de mal uso de algunas IPs públicas; era spam a servidores SMTP desde nuestra red. Rápidamente tomamos acción, y después de un par de meses de pruebas, así es como resultó.
/ip fire fil
add action=jump chain=forward comment=\
"Agregar por 1 hora a la Lista de Clientes SMTP" connection-state=new \
dst-address-list=!not_in_internet dst-port=25,587,143,993,110,995,465 \
jump-target=forward-smtp protocol=tcp src-address-list=not_in_internet
add action=drop chain=forward-smtp comment="Acción para evitar spammers" \
src-address-list=smtp_spammers
add action=add-src-to-address-list address-list=smtp_client \
address-list-timeout=1h chain=forward-smtp comment=\
"Agregar por 1 hora a la Lista de SMTP-Clients"
add action=accept chain=forward-smtp comment="Permitir tráfico" dst-limit=\
5,8,src-address/3s
add action=add-src-to-address-list address-list=smtp_spammers \
address-list-timeout=8h chain=forward-smtp comment=\
"Agregar por 8 horas a la Lista de Spammers"
Este script de MikroTik crea reglas de firewall para monitorear y controlar el tráfico relacionado con SMTP, con el objetivo de prevenir el spam. Aquí se detalla cada parte:
- Redirección al chain Forward-SMTP para clientes SMTP:
- La primera regla añade una acción de salto en el
forward
chain para nuevas conexiones a los puertos SMTP (25, 587, 143, 993, 110, 995, 465). - Se aplica solo a IPs en la lista
not_in_internet
y dirige el tráfico coincidente a un chain personalizado llamadoforward-smtp
. - Esta regla también excluye destinos en la lista
not_in_internet
.
- La primera regla añade una acción de salto en el
- Regla de bloqueo para spammers conocidos:
- En el chain
forward-smtp
, cualquier tráfico de IPs en la listasmtp_spammers
se bloquea de inmediato. - Esto ayuda a bloquear fuentes conocidas de spam.
- En el chain
- Agregar nuevos clientes SMTP a la lista:
- La siguiente regla añade la IP de origen del tráfico en
forward-smtp
a una lista llamadasmtp_client
con un tiempo de expiración de 1 hora. - Esta regla rastrea temporalmente las IPs que inician conexiones SMTP, asumiendo que pueden ser clientes legítimos.
- La siguiente regla añade la IP de origen del tráfico en
- Permitir tráfico limitado para clientes SMTP:
- Esta regla limita el tráfico permitido a cinco paquetes cada 3 segundos por IP de origen.
- Controla el volumen de tráfico y ayuda a mitigar posibles abusos al limitar la frecuencia de tráfico relacionado con SMTP para cada IP.
- Agregar nuevos spammers a la lista de bloqueo:
- Finalmente, si se excede el límite de paquetes, la IP de origen se agrega a la lista
smtp_spammers
durante 8 horas. - Esta regla marca la IP como spammer, impidiéndole enviar tráfico SMTP durante un período determinado.
- Finalmente, si se excede el límite de paquetes, la IP de origen se agrega a la lista
En resumen, este script gestiona dinámicamente clientes SMTP y spammers, monitoreando las tasas de tráfico y manteniendo listas de direcciones, controlando efectivamente el spam en la red.
Recuerda añadir este script también:
/ip fire add
add address=0.0.0.0/8 comment=RFC6890 list=not_in_internet
add address=172.16.0.0/12 comment=RFC6890 list=not_in_internet
add address=192.168.0.0/16 comment=RFC6890 list=not_in_internet
add address=10.0.0.0/8 comment=RFC6890 list=not_in_internet
add address=169.254.0.0/16 comment=RFC6890 list=not_in_internet
add address=127.0.0.0/8 comment=RFC6890 list=not_in_internet
add address=224.0.0.0/4 comment=Multicast list=not_in_internet
add address=198.18.0.0/15 comment=RFC6890 list=not_in_internet
add address=192.0.0.0/24 comment=RFC6890 list=not_in_internet
add address=192.0.2.0/24 comment=RFC6890 list=not_in_internet
add address=198.51.100.0/24 comment=RFC6890 list=not_in_internet
add address=203.0.113.0/24 comment=RFC6890 list=not_in_internet
add address=100.64.0.0/10 comment=RFC6890 list=not_in_internet
add address=240.0.0.0/4 comment=RFC6890 list=not_in_internet
Este script de MikroTik añade rangos de IP a una lista not_in_internet
, que incluye direcciones privadas, reservadas y de propósito especial. Estas direcciones se usan comúnmente para redes internas o funciones específicas (como multicast o loopback). Al listarlas aquí, el router las bloquea del acceso a internet, asegurando que solo se usen localmente o para fines designados.
Deja un comentario