Ir al contenido

Configuración de CrowdSec

Ajustes de la conexión a la Local API (LAPI) de CrowdSec y del filtrado de decisiones.

crowdsec.api_url Obligatorio

Sección titulada «crowdsec.api_url »

Env: CROWDSEC_URL · Por defecto: http://localhost:8080/

La URL de la Local API (LAPI) de CrowdSec. Incluye la barra final.

crowdsec:
api_url: "http://localhost:8080/"

crowdsec.api_key Obligatorio

Sección titulada «crowdsec.api_key »

Env: CROWDSEC_BOUNCER_API_KEY · Por defecto:

La API key del bouncer. Genera una con:

Ventana de terminal
sudo cscli bouncers add cs-routeros-bouncer

crowdsec.retry_initial_connect Opcional

Sección titulada «crowdsec.retry_initial_connect »

Env: CROWDSEC_RETRY_INITIAL_CONNECT · Por defecto: true

Cuando está habilitado, el bouncer reintenta la conexión a la LAPI en el arranque si la conexión inicial falla. Útil cuando el bouncer arranca antes de que CrowdSec esté listo.

crowdsec.update_frequency Opcional

Sección titulada «crowdsec.update_frequency »

Env: CROWDSEC_UPDATE_FREQUENCY · Por defecto: 10s

Con qué frecuencia se sondea la LAPI en busca de decisiones nuevas o expiradas. Usa el formato de duración de Go (p. ej., 10s, 1m, 30s).

crowdsec.reconciliation_interval Opcional

Sección titulada «crowdsec.reconciliation_interval »

Env: CROWDSEC_RECONCILIATION_INTERVAL · Por defecto: 15m

Con qué frecuencia se obtiene de la LAPI una instantánea completa de las decisiones activas y se reconcilia con la pertenencia a las address-list de MikroTik. Esto repara la desviación cuando una entrada de address-list se elimina manualmente o expira en el router mientras CrowdSec sigue considerando activa la decisión.

crowdsec.reconciliation_interval / CROWDSEC_RECONCILIATION_INTERVAL usa el formato de duración de Go, como 1m, 15m o 1h.

Establécelo en 0 para deshabilitar la reconciliación periódica. Cualquier valor distinto de cero debe ser de al menos 1m.

crowdsec:
reconciliation_interval: "15m"

crowdsec.lapi_metrics_interval Opcional

Sección titulada «crowdsec.lapi_metrics_interval »

Env: CROWDSEC_LAPI_METRICS_INTERVAL · Por defecto: 15m

Con qué frecuencia se envían métricas de uso al endpoint /v1/usage-metrics de la LAPI de CrowdSec. Establécelo en 0 para deshabilitarlo.

Cada envío incluye:

  • Decisiones activas — por origen (p. ej., crowdsec, cscli, CAPI) y por tipo de IP (ipv4, ipv6)
  • Tráfico descartado — bytes y paquetes bloqueados por las reglas del firewall de MikroTik (delta desde el último envío)
  • Tráfico procesado — bytes y paquetes evaluados por todas las cadenas del bouncer (delta desde el último envío)
  • Metadatos del bouncer — tipo, versión, información del sistema operativo, tiempo de actividad

Estos datos aparecen en la CrowdSec Console y ayudan a hacer seguimiento de la eficacia del bouncer.

crowdsec:
lapi_metrics_interval: "15m"

Env: CROWDSEC_ORIGINS · Por defecto: [] (todos los orígenes)

Filtra las decisiones por su origen. Vacío significa que se procesan todas las decisiones.

OrigenDescripción
crowdsecDecisiones del motor de detección de CrowdSec
cscliDecisiones manuales mediante cscli decisions add
CAPIBlocklists comunitarias de la Central API de CrowdSec
lists:*Orígenes de listas con nombre, como lists:<name>
# Solo decisiones locales (sin blocklists comunitarias)
crowdsec:
origins: ["crowdsec", "cscli"]

Cuando se define como variable de entorno, CROWDSEC_ORIGINS se separa con espacios:

Ventana de terminal
CROWDSEC_ORIGINS="crowdsec cscli"

Dejar origins vacío acepta todos los orígenes, incluidos CAPI y los orígenes de listas con nombre. Usa lists:* como patrón comodín para las entradas lists:<name> al definir origins o CROWDSEC_ORIGINS. Consulta Blocklists de CAPI para las recomendaciones de escala y dimensionamiento del router.

Env: CROWDSEC_SCOPES · Por defecto: ["ip", "range"]

Ámbitos de decisión a procesar. Valores admitidos: ip, range.

crowdsec.supported_decisions_types Opcional

Sección titulada «crowdsec.supported_decisions_types »

Env: CROWDSEC_DECISIONS_TYPES · Por defecto: ["ban"]

Solo se procesan las decisiones de estos tipos.

crowdsec.scenarios_containing Opcional

Sección titulada «crowdsec.scenarios_containing »

Env: CROWDSEC_SCENARIOS_CONTAINING · Por defecto: [] (sin filtro)

Solo se procesan las decisiones de escenarios cuyo nombre contenga una de estas subcadenas literales. Vacío significa que no hay filtrado de inclusión.

crowdsec:
scenarios_containing: ["ssh", "http"]

Por ejemplo, "ssh" coincide con crowdsecurity/ssh-bf y con cualquier otro nombre de escenario que contenga ssh.

crowdsec.scenarios_not_containing Opcional

Sección titulada «crowdsec.scenarios_not_containing »

Env: CROWDSEC_SCENARIOS_NOT_CONTAINING · Por defecto: [] (sin filtro)

Excluye las decisiones de escenarios cuyo nombre contenga una de estas subcadenas literales.

crowdsec:
scenarios_not_containing: ["test", "honeypot"]

Usa los filtros de inclusión y exclusión juntos cuando quieras un subconjunto reducido de decisiones. Si no aparece ninguna decisión, comprueba primero que las subcadenas coinciden con los nombres de escenario que muestra cscli decisions list -o json.

Para la autenticación TLS mutua con la LAPI:

Env: CROWDSEC_CERT_PATH · Por defecto:

Ruta al certificado TLS de cliente (formato PEM).

Env: CROWDSEC_KEY_PATH · Por defecto:

Ruta a la clave TLS de cliente (formato PEM).

crowdsec.ca_cert_path Opcional

Sección titulada «crowdsec.ca_cert_path »

Env: CROWDSEC_CA_CERT_PATH · Por defecto:

Ruta al certificado de la CA (formato PEM) para verificar el certificado del servidor LAPI.

crowdsec.insecure_skip_verify Opcional

Sección titulada «crowdsec.insecure_skip_verify »

Env: CROWDSEC_INSECURE_SKIP_VERIFY · Por defecto: false

Omite la verificación del certificado TLS en las conexiones a la LAPI.