
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!