URL: https://linuxfr.org/news/crowdsec-la-cybersecurite-collaborative-open-source-et-gratuite-pour-linux Title: CrowdSec : la cybersécurité collaborative, open source et gratuite pour Linux Authors: CrowdSec Davy Defaud, bubar et Pierre Jarillon Date: 2020-11-09T10:18:12+01:00 License: CC By-SA Tags: linux, cybersécurité, opensource et communauté Score: 5 CrowdSec est un nouveau projet de sécurité conçu pour protéger les serveurs, services, conteneurs ou machines virtuelles exposés sur Internet. Par certains aspects, c’est un descendant de Fail2Ban, projet né il y a seize ans. Cependan, il propose une approche plus moderne, collaborative et ses propres fondamentaux techniques afin de répondre aux contextes modernes. L’outil est _open source_ (sous licence MIT) et gratuit, disponible pour GNU/Linux (macOS et Windows figurent sur la feuille de route) car notre but est de rendre la sécurité accessible au plus grand nombre. CrowdSec, écrit en Golang, est un moteur d’automatisation de la sécurité, qui repose à la fois sur le comportement et sur la réputation des adresses IP. Le logiciel détecte localement les comportements, gère les menaces et collabore également au niveau mondial avec son réseau d’utilisateurs en partageant les adresses IP détectées. Ceci permet alors à chacun de les bloquer de manière préventive. L’objectif est de bâtir une immense base de données de réputation IP et d’en garantir un usage gratuit à ceux participant à son enrichissement. [Documentation complète du projet ici.](https://doc.crowdsec.net/) ---- ---- ![Comment CrowdSec fonctionne](https://i1.wp.com/crowdsec.net/wp-content/uploads/2020/11/Comment-fonctionne-CrowdSec.png?resize=1024%2C405&ssl=1) # Philosophie technique L’objectif est de déployer le logiciel dans autant d’environnements que possible. Donc, pour le rendre portable, nous avons choisi de l’écrire en Golang. Son exécution rapide, sa compatibilité avec les conteneurs, sa facilité d’utilisation dans les environnements Cloud ainsi que sa capacité à fonctionner sur des écosystèmes UNIX, macOS ou Windows : tout cela nous permet d’adresser tout le marché. Pour faciliter les contributions, nous avons décidé d’utiliser une grammaire très simple et efficace basée sur [[YAML]]. Les analyseurs, quant à eux, utilisent des [[expressions rationnelles]] Grok, pour faciliter l’écriture de connecteurs de données. Globalement, le traitement de l’information ressemble à ceci : ![Comment CrowdSec traite l’information](https://i2.wp.com/crowdsec.net/wp-content/uploads/2020/11/Comment-CrowdSec-traite-linformation.png?resize=768%2C379&ssl=1) # Moteur d’analyse comportementale C’est la première couche de protection. Il utilise le scénario défini par YAML pour corréler les événements entrant dans un _leaky bucket_ et en extraire un signal si le _bucket_ déborde. Vous pouvez ensuite appliquer la réponse de votre choix avec des _bouncers_. Les _bouncers_ sont des moyens de répondre à une adresse IP agressive. Si vous utilisez le _bouncer_ NGINX, il peut interrompre la connexion, en renvoyer une erreur HTTP 403, un [[CAPTCHA]] ou limiter l’accès aux sous‑dossiers. L’approche découplée a du sens car, dans l’architecture moderne, vous voudrez peut‑être envoyer tous les journaux dans un SIEM, un logstash, du _Cloud trail_ ou encore en Syslogd, mais répondre sur votre pare‑feu, votre serveur Web ou même au sein d’une application, au niveau métier. # Moteur de réputation Le moteur de réputation est un principe très simple, mais difficile à mettre en place. Fondamentalement, chacune des installations CrowdSec peut bénéficier d’une liste noire d’adresses IP organisée, distribuée par notre API centrale. Elle est créée sur mesure en fonction de votre empreinte technologique. Si vous utilisez du [LAMP](https://fr.wikipedia.org/wiki/LAMP), vous n’avez pas besoin des adresses IP qui attaquent d’autres piles techniques comme Windows, par exemple. Cette base de données est alimentée par toutes les instances CrowdSec, dont les signaux sont filtrés et traités en central par notre API. Donc, fondamentalement, vous êtes récompensé par une liste d’adresses IP bloquées, car vous contribuez à les élaborer avec votre instance locale. Les faux positifs et les tentatives d’usurpation de la part de pirates sont un réel enjeu, d’où ce besoin de traitement des signaux qui remontent des installations CrowdSec. Nous pensons avoir une recette assez solide pour y parvenir, que nous appelons le consensus. Cela implique diverses techniques, telles que la vérification des signaux par d’autres membres de confiance, notre propre réseau de leurres ([_honeypots_](https://fr.wikipedia.org/wiki/Honeypot)), des listes de canaris (une liste blanche d’adresses IP), etc. Notre but est de distribuer uniquement des listes fiables à 100 %. De plus, identifier qui est dangereux et à quel moment dépend fortement d’un contexte et d’une période temporelle précise. Par exemple, une adresse IP jugée propre hier peut être compromise aujourd’hui et nettoyée par les administrateurs le lendemain. Une adresse IP à la recherche de SSH n’est pas dangereuse pour votre TSE, etc. # Visualisation Le logiciel comprend un [système de visualisation local et léger](https://doc.crowdsec.net/observability/overview/), basé sur Metabase. CrowdSec est également équipé de [Prometheus](https://fr.wikipedia.org/wiki/Prometheus_(logiciel)), pour offrir une observabilité et des capacités d’alerte faciles à nos amis _Ops_. Nous pensons que cette partie bénéficiera à la fois d’investissements de notre côté et de développements communautaires, car la sécurité est meilleure lorsqu’elle est visible, compréhensible et fournit des signaux et rapports utilisables. Le moteur de réputation a, actuellement, plus de 103 000 adresses IP sous « consensus » (qui ont passé le contrôle de _poisoning_ et anti‑faux positif) mais nous n’en diffusons qu’environ 10 % jusqu’à présent, celles qui sont corrompues sans l’ombre d’un doute. Nous travaillons sur le consensus et l’API, ce qui va permettre des requêtes externes, faites sans l’agent, seulement avec des bibliothèques (PHP, JavaScript, Python, Arduino, etc.). À ce jour, les membres de la communauté viennent de plus cinquante pays répartis sur six continents. ![Carte de la communauté mondiale CrowdSec](https://i2.wp.com/crowdsec.net/wp-content/uploads/2020/10/CrowdSec-watcher-map-Nov-2020.png?resize=768%2C534&ssl=1) Nous sommes à la recherche d’utilisateurs, contributeurs et ambassadeurs et serions ravis de connaître votre avis sur cet outil. N’hésitez pas à nous contacter via notre [site Web](https://crowdsec.net/), [GitHub](https://github.com/crowdsecurity/crowdsec), [Discourse](https://discourse.crowdsec.net/) ou [Gitter](https://gitter.im/crowdsec-project/community), nous sommes à votre disposition pour échanger. L’équipe CrowdSec