Sécuriser un serveur Windows avec CrowdSec

par Korben -

– En partenariat avec CrowdSec –

Régulièrement, j’aime bien vous donner des nouvelles de CrowdSec et une fois encore, ils viennent de sortir du très très lourd. Pour ceux qui étaient en hibernation ces derniers mois, CrowdSec est un service à déployer sur votre serveur qui permet de détecter et bloquer les adresses IP dangereuses en les mutualisant entre tous les utilisateurs de CrowdSec.

C’est très simple à mettre en place et je vous ai même fait plusieurs contenus sur le sujet.

Techniquement, CrowdSec parse vos logs et peut même les enrichir avec plus d’informations. Ces logs ainsi traités font ensuite l’objet de scénarios que vous avez déterminé. Si le scénario est déclenché, CrowdSec produit alors une alerte et prend une décision grâce à un bouncer autonome que vous pouvez télécharger ici ou écrire vous-même.

Cette décision peut être un blocage d’IP, la demande d’un captcha…etc. Et tout cela est ensuite stocké dans la base de données de CrowdSec grâce à l’API Local.

Jusqu’à récemment, l’agent CrowdSec s’installait uniquement sur des machines Linux / FreeBSD, mais depuis quelques semaines, ils ont sorti leur agent Windows. Cet agent est pour le moment en version alpha et repose sur la release 1.3.0 de Crowdsec et pas encore la dernière.

L’agent Windows est très important, car il va permettre de sécuriser également vos machines sous Windows. Alors pour le moment, contrairement à la version Linux, l’agent Windows ne supporte pas encore la configuration automatique lors de son installation.

Par défaut, il est capable de détecter les attaques par brute force contre les services RDP, SMB. Avec une petite config manuelle, vous pourrez aussi détecter les attaques contre SQL Server, mais également les attaques HTTP contre IIS.

Crowdsec pour Windows pourra aussi détecter les analyses de réseau qui tenteraient de passer au-delà du pare-feu de Windows.

Presque tous les types de services supportés sous Linux devraient être supportés sous Windows, tant que les logs ne sont pas au format syslog. Apache ou MySQL pourront ainsi être surveillés mais pas SSH par exemple.

Installer l’agent Windows de CrowdSec

Pour installer cet agent Windows sur votre serveur, rendez-vous ici pour récupérer la dernière version du MSI de CrowdSec.

Une fois installé, vous trouverez les binaires crowdsec.exe et l’interface en ligne de commande cscli.exe dans le répertoire “C:\Program Files\CrowdSec”.

![](https://korben.info/app/uploads/2022/03/fc5cjRWS1WMCCsTyBQxEbacZbXKOZU2w.webp)
À l'intérieur de ce dossier, vous trouverez également le dossier "config" qui contient l'ensemble des fichiers de configuration. Puis un peu plus tard, lorsque CrowdSec fonctionnera, apparaitront le dossier "log" qui contient tous les logs liés à CrowdSec et à ses bouncers ainsi qu'un dossier "data" contenant la base de données (sqlite) de CrowdSec et un dossier "hub" qui contient les données liées au hub.
![](https://korben.info/app/uploads/2022/03/sx6WAjBMKPzvIzvLxRfAJLzHGmggpsBi.webp)
L'installation de cet agent intègre également l'installation automatique de [collection Windows](https://hub.crowdsec.net/author/crowdsecurity/collections/windows) qui contient le parseur de base pour le journal des événements de Windows, un scénario pour détecter les brute forces de connexion et les fichiers MMDB nécessaires à l'enrichissement géo-IP.
![](https://korben.info/app/uploads/2022/03/KdtlAN5EjDph7RrAUCZXtJjjAnj6KohR.webp)
Maintenant, je vous propose que l’on configure tout ça.

Relancer le service CrowdSec

Une fois que c’est fait, il faudra stopper et relancer le service CrowdSec :

net stop crowdsec
net start crowdsec

Analyse des logs du Firewall Windows

Pour brancher CrowdSec avec les logs sur Firewall Windows, vous devrez commencer par installer la collection Windows-Firewall.

cscli.exe collections install crowdsecurity/windows-firewall

Pensez également à activer la journalisation avancée de Windows Firewall comme indiqué ici. Veuillez noter que le pare-feu de Windows fonctionne en mode furtif par défaut. Ainsi tous les paquets droppés (ignorés) par le firewall ne seront pas enregistrés. Seuls ceux destinés au port sur lequel un service écoute seront pris en compte par CrowdSec. Cela signifie que CrowdSec ne sera pas en mesure de détecter l’ensemble des scans réseau. Toutefois, ce n’est pas une raison suffisante pour désactiver le mode furtif de Windows Firewall. Cela est fortement déconseillé par Microsoft pour des questions de sécurité.

Éditez ensuite le fichier de config suivant :

C:\Program Files\CrowdSec\config\acquis.yaml

Et indiquez dedans le chemin à suivre pour récupérer les logs du firewall :

---
filenames:
- C:\Windows\System32\LogFiles\Firewall\pfirewall.log
labels:
type: windows-firewall
![](https://korben.info/app/uploads/2022/03/gotKvQ6V0wephC3YWYqwph89BntyC0Vv.webp)
Relancez le service CrowdSec comme expliqué plus haut et voilà !

Analyse des logs IIS (HTTP)

Pour tout ce qui est parsing de logs IIS, il faudra installer la collection IIS. Cette collection contient un parseur pour les logs mais également une collection de scénarios défensifs permettant de gérer différentes attaques comme les crawls agressifs, le scanning/probing, les mauvais user-agent, les attaques de type Path Transversal ou encore les injections SQL et les tentatives d’accès aux données sensibles.

Pour déployer cette collection :

cscli.exe collections install crowdsecurity/iis

Et ajouter dans le fichier :

C:\Program Files\CrowdSec\config\acquis.yaml

Les informations suivantes. Notez que le paramètre “use_time_machine” est très important, car par défaut, IIS écrit ses logs d’un seul bloc toutes les minutes. CrowdSec a donc besoin de lire le timestamp de chaque ligne dans les logs IIS pour se repérer sur la chronologie des événements.

---
use_time_machine: true
filenames:
- C:\inetpub\logs\LogFiles\*\*.log
labels:
type: iis

Redémarrez ensuite CrowdSec.

Analyse des logs de SQL Server

Enfin, pour ceux qui veulent surveiller SQL Server, même chose en installant la collection mssql :

cscli.exe collections install crowdsecurity/mssql

Et ajouter les paramètres suivants dans le fichier de conf “C:\Program Files\CrowdSec\config\acquis.yaml” :

---
source: wineventlog
event_channel: Application
event_ids:
- 18456
event_level: information
labels:
type: eventlog

Et on redémarre le service CrowdSec.

Mise en place du Bouncer Windows Firewall

Maintenant que tous les parseurs sont en place, il va falloir brancher CrowdSec avec le firewall Windows pour lui demander de bloquer les IPs ( ou plages IP ) détectées par CrowdSec. Pour cela, vous aurez besoin du bouncer Windows Firewall disponible ici.

Attention : Ce bouncer a besoin du runtime .NET 6.0 qui doit être installé manuellement avant.

![](https://korben.info/app/uploads/2022/03/N0FXknLCFaUINEPN5eXURs8STrdekzav.webp)
Vous l'installez en double cliquant sur le fichier MSI et de nouvelles règles de filtrage apparaitront alors côté Windows Firewall. Ces règles propres à CrowdSec commenceront toutes par la mention "crowdsec-blocklist".

Vous ne pourrez pas les modifier ou les supprimer, par contre, lorsque vous stopperez le bouncer, elles seront automatiquement supprimées et seront recréées au lancement de ce dernier.

![](https://korben.info/app/uploads/2022/03/uNYrewJjIOoDDRlKmKxwuY47LkET20PJ.webp)
Une attaque de type bruteforce avec Kali sur le RDP d'un Windows Server sera bloqué par détectée et bloquéer par Crowdsec et ne débouchera sur rien.
![](https://korben.info/app/uploads/2022/03/4EUyQ2ylDCNWExnrV90uOf15Gm2BTou2.webp)
Vous pouvez voir ci-dessous que mon bruteforce lancé à 5h24m05 secondes a fait l'objet d'une règle de blocage 1 seconde après.

Image par défaut pour l'article

Voilà pour les détails relatifs à l’agent Windows de CrowdSec. Avec le cscli.exe, vous pourrez ensuite manipuler les scénarios et les règles comme je l’ai déjà décrit ici ou comme indiqué dans la documentation de CrowdSec.

Que faire après le bac quand on est passionné de cybersécurité ?
Contenu partenaire
Logo de l'école de Cybersécurité Guardia
Tracking Matomo Guardia

Entièrement dédiée à la cybersécurité, l'école Guardia est accessible soit directement après le bac (post-bac), soit après un bac+2 ou bac+3. En rejoignant l'école Guardia, vous deviendrez développeur informatique option cybersécurité (Bac+3) ou expert en cybersécurité (Bac+5).

Cliquez ici pour en savoir plus