Tableaux de bord avec Crowdsec: Metabase ou Prometheus avec Grafana

Dans cet article, nous allons examiner deux options pour suivre notre infrastructure Crowdsec, Nous aurons deux options, Un peu simple, Un conteneur Docker prêt à l’emploi. Ou, Pourquoi pas, profiter de la vie et l’intégrer dans Prométhée et la visualiser avec Grafana!

Si nous voulons connaître l’état de nos machines avec Crowdsec, la meilleure chose à faire est de le faire via l’interface graphique et d’avoir quelques tableaux de bord déjà créés par la communauté pour nous aider, Comme je l’ai dit, Nous avons deux options, a utiliser un conteneur Docker avec Metabase déjà préconfiguré pour se connecter au LAPI local, quelque chose de simple et de basique qui peut être utile. Ou nous pouvons envoyer une métrique Prometheus de nos agents, puis la visualiser dans Grafana, Au goût.

Métabase,

Nous aurons besoin de Docker, si nous ne l’avons pas déjà installé:

sudo apt install docker.io -y

Et en exécutant la configuration du tableau de bord 'sudo cscli –Écouter 0.0.0.0’ Nous le déploierons:

Configuration du tableau de bord sudo cscli --listen 0.0.0.0
    ? Metabase nécessite 1 à 2 Go de RAM, Votre système n’est pas conforme à cette exigence Continuer ? Oui
    ? For metabase docker to be able to access SQLite file we need to add a new group called 'crowdsec' to the system, Est-ce que cela vous convient ? (O/n) Y INFO[12-11-2022 05:09:02 PM] Extraction de l’image docker metabase/metabase:v0.41.5 (en anglais)
    .............................................................................................................................................
    INFO[12-11-2022 05:09:32 PM] creating container 'crowdsec-metabase'
    INFO[12-11-2022 05:09:38 PM] En attendant que la métabase soit en place (peut prendre jusqu’à une minute)
    ..............................
    INFO[12-11-2022 05:11:50 PM] La métabase est prête URL       : 'http://0.0.0.0:3000'
        username  : 'Cr******@cr******.net'
        password  : '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, et 3 Panneaux, con la lista de las decisiones activas, Un histórico de las alertas o un dashboard general.

Dashboard de CS – Liste des décisions actives,

Dashboard de CS – Historique des alertes,

Dashboard de CS – Tableau de bord principal.

Luego el Dashboard podremos pararlo, Déchirez-le ou supprimez-le:

Sudo CSCli Dashboard Stop sudo CSCLI Dashboard Démarrer sudo CSCLI Dashboard Remove --Force

Prométhée + Grafana,

Dans chaque agent Crowdsec, dans votre fichier de configuration '/etc/crowdsec/config.yaml', nous devrons activer Prometheus, Nous indiquerons un port d’écoute par lequel nous proposerons les métriques, Quelque chose comme ça:

Prométhée:
  Activé: niveau réel: Pleine listen_addr: 0.0.0.0
  listen_port: 6060

Et nous rechargeons Crowdsec pour appliquer les modifications ci-dessus:

sudo systemctl restart crowdsec

Pour prouver que cela fonctionne, Nous pouvons lancer une boucle à ce port, à partir de la machine elle-même ou d’une machine distante, Depuis Shell, nous exécutons 'curl http://DIRECCION_IP:6060/Métrique’ pour valider:

Boucle HTTP://192.168.x.xxx:6060/Métrique
    # AIDE cs_active_decisions Nombre de décisions actives.
    # TYPE cs_active_decisions jauge cs_active_decisions{action="Interdiction",origine="CFPI",raison="crowdsecurity/CVE-2022-xxxxx"} 16
    cs_active_decisions{action="Interdiction",origine="CFPI",raison="crowdsecurity/CVE-2022-xxxxx"} 2
    cs_active_decisions{action="Interdiction",origine="CFPI",raison="crowdsecurity/CVE-2022-xxxxx"} 2
    cs_active_decisions{action="Interdiction",origine="CFPI",raison="crowdsecurity/CVE-2022-xxxxx"} 669
    cs_active_decisions{action="Interdiction",origine="CFPI",raison="Crowdsecurity/apache_log4j2_cve-xxxxx"} 11
    cs_active_decisions{action="Interdiction",origine="CFPI",raison="Crowdsecurity/Fortinet-CVE-XXXX"} 237
    cs_active_decisions{action="Interdiction",origine="CFPI",raison="Crowdsecurity/grafana-CVE-XXXXX"} 27
    cs_active_decisions{action="Interdiction",origine="CFPI",raison="crowdsecurity/http-backdoors-attempts"} 101
    cs_active_decisions{action="Interdiction",origine="CFPI",raison="crowdsecurity/http-bad-user-agent"} 3632
...

Maintenant, sur notre serveur Prometheus, nous allons pouvoir ajouter les métriques de chaque agent Crowdsec, Dans son fichier de configuration, nous indiquons '/usr/local/bin/prometheus/prometheus.yml’

...
scrape_configs:
...
  - job_name: 'crowdsec_OS-GRA-04'
    static_configs:
    - Cibles: ['192.168.x.xxx:6060']
      Étiquettes:
        machine: 'OS-GRA-04'

  - job_name: 'crowdsec_OS-JITSI-05'
    static_configs:
    - Cibles: ['192.168.x.xxx:6060']
      Étiquettes:
        machine: 'OS-JITSI-05'
...

Et nous redémarrerions Prometheus pour qu’il puisse déjà lire les données de notre Crowdsec!

sudo service prometheus restart

Si nous n’avons pas le connecteur contre le Prometheus de Grafana, Nous le faisons, nous créons la source de données.

Nous pourrons télécharger à partir de https://github.com/crowdsecurity/grafana-dashboards Tableaux de bord préconfigurés, il nous suffit donc de télécharger le fichier JSON et de l’importer dans Grafana. Il s’agit du tableau de bord avec les détails par agent ou « Détails Crowdsec par machine ».

Dashboard de Crowdsec Insight, Un bref coup d’œil.

Et ce dernier 'Crowdsec Overview’ En guise de résumé,

Puits, Eh bien, j’espère que vous avez trouvé intéressant ou du moins curieux la manière simple de connaître l’état de nos machines avec Crowdsec.

Un câlin!

Articles recommandés

Auteur

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, N’hésitez pas à me contacter, J’essaierai de vous aider chaque fois que je le pourrai, Partager, c’est vivre ;) . Profiter des documents!!!