Ir al contenido

Inicio rápido

Para instalar cs-routeros-bouncer, registra el bouncer en CrowdSec (cscli bouncers add), crea un usuario dedicado de la API de RouterOS y despliega el bouncer con Docker Compose o como binario con systemd. La instalación lleva unos 5 minutos; al terminar, las decisiones de ban de CrowdSec aparecen automáticamente como reglas de firewall en MikroTik.

  • CrowdSec 1.5+ con la Local API (LAPI) accesible desde el host del bouncer
  • MikroTik RouterOS 7.x con el servicio API habilitado (puerto 8728, u 8729 para TLS)
  • Un host Linux (o Docker) donde ejecutar el bouncer
  1. Registra el bouncer en CrowdSec

    Los bouncers se autentican ante la LAPI de CrowdSec con una API key (consulta la documentación de bouncers de CrowdSec). En la máquina donde se ejecuta CrowdSec:

    Ventana de terminal
    sudo cscli bouncers add cs-routeros-bouncer
  2. Crea un usuario de la API de RouterOS

    Conéctate a tu router MikroTik (vía SSH, Winbox o WebFig) y crea un usuario dedicado:

    /user group add name=crowdsec policy=read,write,api,sensitive,!ftp,!local,!ssh,!reboot,!policy,!test,!password,!sniff,!romon,!rest-api
    /user add name=crowdsec group=crowdsec password=YOUR_SECURE_PASSWORD

    Para más detalles, consulta Configuración del router.

  3. Despliega el bouncer

    Elige un método de despliegue.

    Docker Compose

    services:
    cs-routeros-bouncer:
    image: ghcr.io/jmrplens/cs-routeros-bouncer:latest
    container_name: cs-routeros-bouncer
    restart: unless-stopped
    ports:
    - "2112:2112" # Métricas de Prometheus (opcional)
    environment:
    CROWDSEC_URL: "http://crowdsec:8080/"
    CROWDSEC_BOUNCER_API_KEY: "your-bouncer-api-key"
    MIKROTIK_HOST: "192.168.0.1:8728"
    MIKROTIK_USER: "crowdsec"
    MIKROTIK_PASS: "your-password"
    Ventana de terminal
    docker compose up -d

    Binario + systemd

    Ventana de terminal
    # Descarga (sustituye por tu arquitectura: amd64, arm64, armv7)
    wget https://github.com/jmrplens/cs-routeros-bouncer/releases/latest/download/cs-routeros-bouncer_linux_amd64.tar.gz
    tar xzf cs-routeros-bouncer_linux_amd64.tar.gz
    # Instalación automatizada
    sudo ./cs-routeros-bouncer setup
    # Edita la configuración
    sudo nano /etc/cs-routeros-bouncer/cs-routeros-bouncer.yaml
    # Reinicia tras editar la configuración
    sudo systemctl restart cs-routeros-bouncer
  4. Verifica que funciona

    Ventana de terminal
    # Comprueba el endpoint de salud
    curl http://localhost:2112/health
    # {"status":"ok","routeros_connected":true,"version":"vX.Y.Z"}
    # Comprueba los logs
    sudo journalctl -u cs-routeros-bouncer -f

    En el router, deberías ver nuevas reglas de firewall y entradas en las listas de direcciones:

    /ip/firewall/filter/print where comment~"crowdsec"
    /ip/firewall/address-list/print where list=crowdsec-banned