Procesamiento de decisiones
Cómo procesa el bouncer las decisiones entrantes de CrowdSec.
Flujo de procesamiento
Sección titulada «Flujo de procesamiento»-
Recibir la decisión de la LAPI
El bouncer obtiene las decisiones nuevas y expiradas de la Local API de CrowdSec.
-
Comprobar el ámbito
Ámbito Acción Ejemplo IpSe añade directamente a la address-list 192.168.1.1RangeSe añade como CIDR a la address-list 10.0.0.0/24Otro Se registra como advertencia y se omite — IpyRangeson los valores de ámbito tal como CrowdSec los envía en las decisiones; el filtro de configuracióncrowdsec.scopesusa las formas en minúsculaipyrange. -
Filtrar por origen
Si
originsestá configurado, solo pasan las decisiones de los orígenes permitidos. Las decisiones que no coinciden se descartan. -
Filtrar por escenario
Si
scenarios_containingoscenarios_not_containingestán configurados, solo se procesan las decisiones cuyo nombre de escenario supera esos filtros de subcadena. -
Aplicar la acción
- Ban → Añadir la IP/rango a la address-list de MikroTik
- Unban → Eliminar la IP/rango de la address-list
Filtrado por origen
Sección titulada «Filtrado por origen»Cuando origins está configurado, el bouncer solo procesa las decisiones de los orígenes especificados:
| Origen | Fuente |
|---|---|
crowdsec | Detecciones del motor local de CrowdSec |
cscli | Bans manuales mediante cscli decisions add |
CAPI | Blocklists comunitarias de la Central API de CrowdSec |
lists:* | Suscripciones a blocklists de terceros |
crowdsec: origins: ["crowdsec", "cscli"] # Ignorar las listas comunitarias de CAPICuando origins está vacío (valor por defecto), se aceptan todos los orígenes.
Filtrado por escenario
Sección titulada «Filtrado por escenario»Los filtros de escenario usan los campos scenarios_containing y scenarios_not_containing de CrowdSec. Buscan subcadenas literales en el nombre del escenario, como ssh, http o crowdsecurity/ssh-bf.
crowdsec: scenarios_containing: - "ssh" - "http" scenarios_not_containing: - "test"Usa scenarios_containing para quedarte solo con los escenarios que coinciden. Usa scenarios_not_containing para excluir escenarios ruidosos o no deseados cuando el bouncer procesa las decisiones recibidas de la LAPI de CrowdSec.
Gestión de IPs duplicadas
Sección titulada «Gestión de IPs duplicadas»Cuando la misma IP aparece en varias decisiones (por ejemplo, con distintos escenarios u orígenes), el bouncer lo gestiona de forma eficiente:
- Durante los bans: consulta primero la caché en memoria. Si ya se sabe que la dirección está presente, la llamada a la API de RouterOS se omite.
- Durante los unbans: consulta primero la caché en memoria y solo elimina de MikroTik si la IP está realmente presente
- Al arrancar y en la reconciliación periódica: el recolector de decisiones deduplica las IPs antes de la reconciliación
- Tras fallos de caché: si RouterOS aun así responde con
already have such entry, el bouncer lo trata como un conflicto a nivel de dispositivo, mantiene la sesión de API abierta, localiza la entrada existente, actualiza su timeout/comentario y registra la dirección en la caché. Esta ruta de escritura solo ocurre cuando la dirección faltaba en la caché local.