Threat Intelligence : protégez-vous des adresses IP malveillantes avec CrowdSec
Sommaire
I. Présentation
Dans cet article, nous allons découvrir les fonctionnalités gratuites de la CrowdSec Console, qui se présente comme une solution de Threat Intelligence complète et simple d'utilisation accessible avec un tableau de bord en ligne.
Cette solution va, d'une part, nous permettre d'en savoir plus sur la réputation des adresses IP grâce à la Threat Intelligence. D'autre part, elle offre une vue d'ensemble sur les activités malveillantes détectées et bloquées par vos éventuelles instances CrowdSec protégées par cet IDS/IPS. Lisez la suite de cet article pour en savoir plus et effectuer une prise en main complète de cette console !
Avant de commencer, voici nos précédents articles au sujet de CrowdSec :
- Installer CrowdSec sur un pare-feu PfSense pour protéger son réseau
- Comment mettre en place une installation multiserveur de CrowdSec ?
- Comment protéger son serveur Linux des attaques avec CrowdSec ?
- Bloquer les attaques sur son serveur Web (Apache + PHP) avec CrowdSec
- Comment protéger son site WordPress avec CrowdSec ?
- Comment sécuriser un serveur Windows avec CrowdSec ?
II. Les fonctionnalités gratuites de la console CrowdSec
A. Créer un compte
La première étape consiste à créer un compte CrowdSec Console : vous avez seulement besoin d'une adresse e-mail valide. Pour accéder directement à la page d'inscription, suivez ce lien :
Après avoir indiqué une adresse e-mail et un mot de passe, cliquez sur "Sign up" afin de recevoir un e-mail avec un lien de validation.
Dès que c'est fait, vous avez accès à la console CrowdSec à partir de votre nouveau compte ! Lors de la première connexion, on vous posera deux questions : le type de votre organisation et le nombre de salariés. Rien de plus.
B. Les fonctionnalités principales
Avant de créer un compte sur la Console CrowdSec, vous souhaitez probablement en savoir plus sur les fonctionnalités offertes par cette console ! Nous allons évoquer les fonctionnalités gratuites et accessibles à tous. Au-delà d'avoir une vue d'ensemble sur vos serveurs où CrowdSec est déployé, ce compte vous donne accès à la Cyber Threat Intelligence de CrowdSec, ainsi qu'à diverses listes d'adresses IP malveillantes que vous pouvez pousser vers vos instances CrowdSec.
👉 Voici un récapitulatif :
- Surveiller les serveurs où CrowdSec est déployé et inscrits à la console
Vous pouvez obtenir l'état et la version du moteur CrowdSec sur le serveur, obtenir la liste des scénarios actifs, ainsi que la liste des bouncers actifs sur ce serveur. Vous avez également accès à différentes métriques telles que le nombre d'alertes.
- Synthèse des alertes sur l'ensemble de vos instances CrowdSec
La Console CrowdSec indique le nombre d'alertes par instance et donne accès à un ensemble de statistiques et graphes. Il est possible de visualiser les informations pour une instance ou plusieurs instances, sur une période plus ou moins longue, grâce à un système de filtres. La version gratuite donne accès aux données sur les 7 derniers jours (et 500 alertes).
Ainsi, vous pouvez en apprendre davantage sur le profil des attaquants : adresses IP, pays d'origine, fournisseurs de service, niveau d'agressivité, type d'attaques, etc. Ceci étant lié à la Threat Intelligence évoquée ci-dessous.
- CrowdSec Threat Intelligence
La Console CrowdSec donne accès aux informations de la Cyber Threat Intelligence (CTI) de CrowdSec, appelée judicieusement CrowdSec Threat Intelligence. Ceci permet d'en savoir beaucoup plus sur les adresses IP malveillantes, grâce aux signaux collectés à partir des serveurs de CrowdSec et des milliers d'instances déployées par la communauté.
Ces informations sont précieuses et elles permettent de répondre à différentes questions. Par exemple : si une adresse IP s'attaque à votre serveur depuis plusieurs heures ou jours, s'agit-il d'une attaque ciblée à l'encontre de mon organisation ou tout simplement une adresse IP agressive à la recherche d'une opportunité ? Il pourrait s'agir d'une adresse IP qui effectue un scan constant d'Internet à la recherche de serveurs exposés et pas suffisamment sécurisés. Dans la CTI, si l'adresse IP est déjà connue, elle sera catégorie et vous pourrez en savoir plus à son sujet.
Il y a deux manières d'accéder à ces informations : effectuer une recherche sur l'adresse IP de votre choix, grâce à une zone de recherche, ou cliquer sur l'adresse IP associée à une alerte sur votre instance CrowdSec.
- Les blocklists d'adresses IP
Quand vous installez CrowdSec, vos instances bénéficient des listes noires d'adresses IP détectées par la communauté CrowdSec. Ceci protège vos serveurs équipés de CrowdSec, mais bien que continuellement mises à jour, ces listes ne sont pas exhaustives. Aucune liste n'est exhaustive de toute façon, d'où l'intérêt de combiner plusieurs sources. C'est là que les blocklists tierces proposées par CrowdSec interviennent en complément de quelques blocklists estampillées "CrowdSec Premium" (réservées aux utilisateurs de la version Enterprise).
Avec la version gratuite, vous pouvez vous abonner à trois blocklists et les affecter à vos instances CrowdSec.
C. Quels sont les plus de la version Enterprise ?
Sans surprise, la version Enterprise fait sauter un ensemble de brides associées à la version gratuite. Nous pouvons citer quelques exemples : elle donne accès à la rétention des données sur 1 an au lieu de 7 jours, autorise la création de plusieurs utilisateurs et organisations, et permet de s'abonner à un nombre illimité de blocklists. De plus, vous avez accès à un support professionnel, en direct, et n'êtes pas limité au serveur Discord de la communauté CrowdSec.
Autre avantage de cette version payante, c'est qu'elle vous permet de gérer les décisions de vos instances à partir de la console CrowdSec. Ainsi, vous pouvez ajouter une adresse IP à la console CrowdSec pour pousser vers vos instances afin qu'elle soit bloquée. À l'inverse, vous pouvez supprimer une décision (c'est-à-dire le ban sur une adresse IP, par exemple), à partir de la console CrowdSec.
Pour comparer les différentes offres de CrowdSec et en savoir plus sur les tarifs, consultez cette page :
III. Les avantages de connecter ses instances CrowdSec à la console
Dans cette partie de l'article, nous allons déployer CrowdSec sur une machine Windows Server 2022 puis nous allons inscrire cette instance dans la Console CrowdSec pour voir quels bénéfices nous pouvons en tirer.
A. Déployer CrowdSec sur Windows Server 2022
Si vous n'avez jamais déployé CrowdSec, la Console est un bon point de départ, car elle vous guide dans ce déploiement qui s'effectue en trois étapes :
1 - Installer CrowdSec "Security Engine" sur le serveur (composant principal).
2 - Installer le "Bouncer" pour permettre le blocage des adresses IP.
3 - Enregistrer l'instance CrowdSec dans la console.
La console CrowdSec contient différents liens pour vous orienter dans la documentation.
Sur le serveur Windows Server 2022, nous allons installer CrowdSec après l'avoir téléchargé à partir du GitHub officiel. L'installation s'effectue en quelques clics.
Suite à l'installation, la configuration de CrowdSec sera accessible dans le répertoire suivant :
C:\ProgramData\CrowdSec
Ensuite, nous devons installer le bouncer "Windows Firewall", ce qui va permettre de bloquer les adresses IP malveillantes grâce à des règles de refus créées dans le pare-feu Windows Defender. Il a besoin du Runtime .NET en version 6 pour fonctionner.
Nous allons télécharger le fichier "cs_windows_firewall_installer_bundle.exe" dans sa dernière version, pour ensuite effectuer l'installation. Ce fichier, qui contient le mot "bundle", englobe à la fois le bouncer et le Runtime .NET. L'installation s'effectue en quelques clics.
Deux nouveaux services sont désormais présents sur la machine Windows :
B. Inscrire l'hôte à la console CrowdSec
Pour enregistrer la nouvelle instance dans la console CrowdSec, nous devons exécuter la commande fournie sur l'interface de la console :
cscli console enroll clv3tfwqb001fjv083qftmaxd
Sachez que vous pouvez compléter cette commande, notamment en précisant le nom sous lequel vous souhaitez effectuer cet enregistrement. Sinon, elle va remonter avec un nom aléatoire, ce qui peut être gênant si vous envisagez d'inscrire plusieurs instances. Néanmoins, sachez que le nom peut être changé à tout moment, comme nous le verrons par la suite.
cscli console enroll clv3tfwqb001fjv083qftmaxd --name "WS-2022-IIS"
Une fois que c'est fait, relancez le service CrowdSec :
Restart-Service CrowdSec
Voici un exemple :
Du côté de la console CrowdSec, nous devons approuver cette demande d'inscription via le bouton "Accept enroll".
Désormais, l'instance CrowdSec déployée sur le serveur Windows Server est inscrite dans la console. Nous pourrions en ajouter d'autres sur le même principe.
Le nom de l'instance n'étant pas très évocateur, nous allons le modifier en choisissant "Edit name or tags" après avoir cliqué sur le widget de l'instance.
Ici, nous allons choisir le nom "WS-2022-IIS" car c'est le nom d'hôte du serveur. Puis, nous pouvons ajouter des tags. Cette fonctionnalité est pratique pour catégoriser vos instances selon différents critères : système d'exploitation, rôle, etc.... Vous pouvez nommer ces tags comme vous le souhaitez. Dans l'exemple ci-dessous, je crée 2 tags : "OS" et "Type".
Il ne reste plus qu'à cliquer sur "Update" pour valider. C'est plus propre, désormais :
C. S'abonner à une blocklist d'adresses IP malveillantes
La prochaine étape va consister à nous abonner à une blocklist supplémentaire afin de bloquer des adresses IP malveillantes connues, avant même qu'elles aient une chance de s'en prendre à notre serveur. Après avoir cliqué sur l'instance, nous cliquer sur "Browse available blocklists" pour accéder à la liste des blocklists.
Ici, nous retrouvons une liste de blocklists, avec une description associée à chacune d'elles. Il y a également des statistiques intéressantes : le nombre total d'adresses IP dans cette blocklist et le nombre actuel d'abonnés, ce qui indique la popularité de cette blocklist.
Nous allons cliquer sur le bouton "Subscribe" au niveau de la blocklist nommée "Firehol cybercrime tracker list". Elle contient des adresses IP malveillantes associées à des serveurs de Command and Control (C2) utilisés par des attaquants.
Le fait de cliquer sur "Subscribe" nous donne accès à différents insights très intéressants au sujet de cette blocklist !
- False positives : la liste est fiable, car il n'y a eu aucun faux positif signalé.
- Already reported IPs : le pourcentage d'adresses IP présentes dans cette blocklist et déjà identifiée par des utilisateurs de CrowdSec.
- Exclusivity : le pourcentage d'exclusivité, c'est-à-dire le pourcentage d'adresses IP présentes uniquement dans cette blocklist. Ici, c'est très élevé, donc nous avons tout intérêt à l'utiliser pour renforcer la protection de notre serveur.
- Top behaviors / Top classifications : le top des attaques effectuées par les adresses IP présentes dans cette liste, et dans quel but.
Ces indicateurs permettent d'évaluer la pertinence d'une blocklist vis-à-vis d'une autre et ajoutent de la transparence à la Console CrowdSec.
Tout en bas de la page, nous allons cliquer sur le bouton "Add Security Engine(s)" puis sélectionner notre instance. Nous devons également choisir un type d'action à appliquer à ces adresses IP : "Ban" permet de bannir les adresses IP de cette blocklist. Une fois que c'est fait, il ne reste plus qu'à valider.
Voilà, notre serveur "WS-2022-IIS" est désormais abonné à cette blocklist ! Au passage, l'image ci-dessous nous permet de voir quels sont les pays les plus ciblés par les adresses IP contenues dans cette liste.
IV. Analyser une adresse IP avec CrowdSec Threat Intelligence
Au quotidien, la Console CrowdSec vous permettra d'avoir un œil sur les attaques et les scans identifiés et bloqués par vos serveurs. La liste des décisions et des alertes est accessible en mode console (via le jeu de commandes "cscli") mais aussi via l'interface de la console.
Dans l'exemple ci-dessous, nous pouvons constater que l'adresse IP "52.186.17.219" a été bannie par CrowdSec, car elle a effectué des actions suspectes sur le service Web de mon serveur, en plus d'un brute force sur le service RDP.
Pour en savoir plus sur cette adresse IP et notamment savoir "A quoi elle correspond" et si elle est connue pour effectuer de nombreuses attaques, il suffit de cliquer dessus. Autrement dit, nous allons pouvoir en apprendre plus sur la réputation de cette adresse IP.
Nous sommes directement redirigés vers la Threat Intelligence de CrowdSec où nous pouvons visualiser un ensemble d'insights associés à cette adresse IP. Ici, l'adresse IP apparaît comme inconnue et nous n'apprenons pas grand-chose à son sujet : c'est normal, j'ai effectué ce scan du service web à partir d'un serveur que je contrôle et cette adresse IP n'est pas utilisée à des fins malveillantes, sauf pour cette démonstration.
Néanmoins, dans un cas réel, cela ne veut pas dire que ce n'est pas une adresse IP dangereuse : si l'adresse IP en question remonte souvent dans les alertes et qu'elle semble cibler votre serveur en particulier, il pourrait s'agir d'une attaque ciblée. Méfiance, donc.
Les choses ont évoluées au bout de plusieurs heures. Après avoir effectué plusieurs tests de scans de port et tentatives de brute force, depuis cette adresse IP et à destination de mon serveur "WS-2022-IIS". Comme le montre l'image ci-dessous, nous pouvons voir que la Threat Intelligence de CrowdSec commence à dresser le profil de cette adresse IP. Par exemple, l'adresse IP est désormais connue pour effectuer des attaques par brute force.
Sans parler des alertes et décisions de notre instance, nous pouvons solliciter la Threat Intelligence de CrowdSec pour obtenir des informations sur une adresse IP. Prenons l'exemple de l'adresse IP suivante : "193.142.146[.]226".
Nous allons cliquer sur "CrowdSec Threat Intelligence" dans le menu, saisir cette adresse IP et cliquer sur le bouton "Search" pour lancer une recherche à son sujet. Dans ce nouvel exemple, nous utilisons l'interface Web de la console CrowdSec, mais il y a également une API et des intégrations avec d'autres solutions (OpenCTI, Splunk SIEM, TheHive, etc.).
Sur le même principe que pour l'exemple précédent, nous obtenons un ensemble d'indicateurs. Sauf qu'ici, il s'agit d'une adresse IP malveillante avec une très mauvaise réputation. Nous avons des informations plus précises et un historique très complet sur les activités malveillantes initiées depuis cette adresse IP.
Nous pouvons constater que cette adresse IP est très active et agressive depuis plusieurs mois. De plus, nous pouvons constater qu'elle est déjà référencée dans la blocklist "Firehol cybercrime tracker list" à laquelle notre serveur est abonné ! C'est une bonne nouvelle, puisque cela veut dire que cette adresse IP est déjà bloquée sur notre serveur grâce au fait qu'il soit abonné à cette liste.
Sachez que même si vous ne déployez pas CrowdSec sur vos serveurs, vous pouvez tout de même créer un compte CrowdSec Console pour solliciter la "CrowdSec Threat Intelligence" afin d'obtenir des renseignements sur une adresse IP. Vous pouvez effectuer 10 requêtes par cycle de 2 heures.
V. Conclusion
Suite à la lecture de cet article, vous avez une vue d'ensemble des principales fonctionnalités offertes par la CrowdSec Console ! Grâce à la Threat Intelligence, elle a une réelle valeur ajoutée dans le suivi des menaces et sur l'activité associée à chaque adresse IP publique. Que vous soyez ou non utilisateur de la solution CrowdSec Security Engine, elle peut vous être utile !
Cet article contient une communication commerciale.