Dashboards con Crowdsec: Metabase o Prometheus con Grafana

Post honetan Crowdsecre gure azpiegitura nola jarraitu ditzakegun bi aukera erakutsiko ditugu, bi aukera izango ditugu, bat sinple bat, Docker edukiontzi bat dena prest duena. EDO, zergatik ez, bizitza gozatu eta Prometheusen integratu eta Grafanarekin bistaratzea!

Gure makinaren egoera Crowdsecekin ezagutu nahi badugu, onena da GUI bidez egitea eta komunitateak egindako dashboard batzuk lagungarri izatea, esandakoa, tenemos dos opciones, bata Docker edukiontzi bat erabiltzea Metabase aurrez konfiguratuarekin LAPI lokalarekin konektatzeko, zerbait sinple eta oinarrizko hori erabilgarria izan daiteke. EDO Prometheus-era bidal diezaiokegune gure agenteen metriken datuak eta gero Grafanarekin bistaratzea, al gusto.

Metabase,

Docker beharko dugu, aurrez instalatu ez badugu:

sudo apt install docker.io -y

Y ejecutando 'sudo cscli dashboard setup –listen 0.0.0.0’ lo desplegaremos:

sudo cscli dashboard setup --listen 0.0.0.0
    ? Metabase-k 1-2GB RAM eskatzen du, zure sistema eskakizun honen azpitik continue ? Yes
    ? Metabase docker-ek SQLite fitxategia atzitu ahal izateko, 'crowdsec' izeneko talde berri bat gehitu behar diogu sistemari, Zuretzat ondo ? (Y/n) Y
 INFO[12-11-2022 05:09:02 PM] Docker irudia metabase/metabase:v0.41.5
    .............................................................................................................................................
    INFO[12-11-2022 05:09:32 PM] edukiontzia sortzea 'crowdsec-metabase'
 INFO[12-11-2022 05:09:38 PM] metabase martxan egoteko zain (minutu bat iraun dezake)
    ..............................
    INFO[12-11-2022 05:11:50 PM] Metabase prest
 URL       : 'http://0.0.0.0:3000'
 erabiltzaile-izena  : 'cr******@******ec.net'
 pasahitza  : 'xxxxxxxxxxxxxxxx'

Cuando arranque el contenedor de Metabase, ya podremos abrir un navegador a http://DIRECCION_IP:3000

Este sería el Home, donde directamente ya vemos la conexión a Crowdsec, eta 3 paneles, erabaki aktiboen zerrendarekin, alerten historia edo panel nagusi orokorra.

CS panela – Erabaki Aktiboen Zerrenda,

CS panela – Alerta Historia,

CS panela – Panel Nagusia.

Ondoren panela gelditu ahal izango dugu, abiatu edo ezabatu:

sudo cscli dashboard stop
sudo cscli dashboard start
sudo cscli dashboard remove --force

Prometheus + Grafana,

Crowdsec agente bakoitzean, bere konfigurazio fitxategian '/etc/crowdsec/config.yaml', Prometheus gaitzea gomendatzen da, metrikak eskaintzeko entzuten den ataka bat adieraziko dugu, honela geratuko da:

prometheus:
  enabled: true
  level: full
  listen_addr: 0.0.0.0
  listen_port: 6060

Eta Crowdsec berrkargatzen dugu aurreko aldaketak aplikatzeko:

sudo systemctl restart crowdsec

Hau funtzionatzen duen ikusteko, curl bat bidali dezakegu ataka horretan, makina beretik edo urrunetik, shell-etik exekutatzen dugu 'curl http://DIRECCION_IP:6060/metrics’ baliozkotzeko:

curl http://192.168.x.xxx:6060/metrics
    # HELP cs_active_decisions Erabaki aktibo kopurua.
    # TYPE cs_active_decisions gauge
 cs_active_decisions{action="ban",origin="CAPI",reason="crowdsecurity/CVE-2022-xxxxx"} 16
    cs_active_decisions{action="ban",origin="CAPI",reason="crowdsecurity/CVE-2022-xxxxx"} 2
    cs_active_decisions{action="ban",origin="CAPI",reason="crowdsecurity/CVE-2022-xxxxx"} 2
    cs_active_decisions{action="ban",origin="CAPI",reason="crowdsecurity/CVE-2022-xxxxx"} 669
    cs_active_decisions{action="ban",origin="CAPI",reason="crowdsecurity/apache_log4j2_cve-xxxxx"} 11
    cs_active_decisions{action="ban",origin="CAPI",reason="crowdsecurity/fortinet-cve-xxxxx"} 237
    cs_active_decisions{action="ban",origin="CAPI",reason="crowdsecurity/grafana-cve-xxxxx"} 27
    cs_active_decisions{action="ban",origin="CAPI",reason="crowdsecurity/http-backdoors-attempts"} 101
    cs_active_decisions{action="ban",origin="CAPI",reason="crowdsecurity/http-bad-user-agent"} 3632
...

Ahora ya en nuestro servidor de Prometheus ya podremos añadir las métricas de cada agente de Crowdsec, en su fichero de configuración lo indicamos '/usr/local/bin/prometheus/prometheus.yml’

...
scrape_configs:
...
  - job_name: 'crowdsec_OS-GRA-04'
 static_configs:
    - targets: ['192.168.x.xxx:6060']
      labels:
        machine: 'OS-GRA-04'

  - job_name: 'crowdsec_OS-JITSI-05'
 static_configs:
    - targets: ['192.168.x.xxx:6060']
      labels:
        machine: 'OS-JITSI-05'
...

Y reiniciaríamos Prometheus para que pueda leer ya los datos de nuestros Crowdsec!

sudo service prometheus restart

Si no tenemos el conector contra el Prometheus desde Grafana, lo hacemos, creamos el Data Source.

Podremos descargar de https://github.com/crowdsecurity/grafana-dashboards unos dashboards ya preconfigurados, así que simplemente descargamos el fichero JSON y lo importamos en Grafana. Este sería el dashboard con los detalles por máquina agente o 'Crowdsec Details per Machine'.

Dashboard de Crowdsec Insight, un vistazo breve.

Y este último 'Crowdsec Overview’ a modo resumen,

Onena, pues espero que os haya resultado interesante o al menos curiosa la manera tan simple de conocer el estado de nuestras máquinas con Crowdsec.

Muxu bat!

Izenburuko mezuak

Egilea

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, ez zalantzarik izan nirekin harremanetan jartzeko, ahal duzun guztietan laguntzen saiatuko naiz, partekatu ahal dudan guztietan ;) . Dokumentuez gozatu!!!