CrowdSec – Comment mettre une adresse IP en liste blanche ?
I. Présentation
Dans ce tutoriel, nous allons apprendre à configurer une liste blanche d'adresses IP dans CrowdSec. Une astuce bien utile dans certains cas, notamment lorsque l'on effectue une action suspecte depuis une adresse IP de confiance. Par exemple, si l'on a besoin d'effectuer un scan sur un serveur à partir d'une adresse IP publique de confiance, cela évitera d'être banni à chaque fois.
II. Créer une whitelist d'adresses IP
Par défaut, CrowdSec est livré avec un fichier qui permet de mettre en liste blanche les adresses IP privées (comme tout le réseau 192.168.0.0/16, par exemple), ainsi que l'adresse de boucle locale (127.0.0.1). Il s'agit du fichier suivant sur une instance Linux :
/etc/crowdsec/parsers/s02-enrich/whitelists.yaml
On pourrait modifier ce fichier pour ajouter nos adresses IP publiques à mettre en liste blanche. Toutefois, comme il s'agit d'adresses IP publiques et que c'est une liste personnalisée, il me semble préférable de créer un autre fichier. On va créer le fichier "whitelist-ippub.yaml" et l'éditer :
nano /etc/crowdsec/parsers/s02-enrich/whitelist-ippub.yaml
Ce fichier aura une syntaxe similaire à celui proposé par CrowdSec par défaut. On aurait même pu en faire une copie pour partir d'une base.
Voici le contenu à insérer dans ce fichier :
name: crowdsecurity/whitelists-ippub description: "Whitelist des adresses IP publiques connues" whitelist: reason: "IP publiques de confiance" ip: - "X.X.X.X" - "Y.Y.Y.Y"
Ici, la liste blanche se nomme "crowdsecurity/whitelists-ippub" et elle permet d'autoriser deux adresses IP : X.X.X.X et Y.Y.Y.Y. Bien sûr, ces valeurs ne sont pas correctes et doivent être remplacées par vos adresses IP. En respectant ce format, on peut ajouter autant que de lignes que l'on souhaite. On pourrait aussi spécifier un ensemble d'adresses IP (au format CIDR).
Les adresses IP listées dans ce fichier ne seront jamais bannies, car elles sont en liste blanche donc c'est à utiliser avec parcimonie.
Après avoir terminé l'édition de ce fichier, il suffit de le sauvegarder et de recharger CrowdSec :
systemctl reload crowdsec
Voilà, la liste blanche est en place !
Note : il est possible d'effectuer des listes blanches basées sur un autre critère que l'adresse IP. Par exemple, une liste blanche qui autorise un user-agent spécifique, peu importe l'adresse IP source.
III. Conclusion
Nous venons de voir comment créer une liste blanche d'adresses IP dans CrowdSec ! S'il y a déjà une décision en cours sur l'adresse IP en liste blanche, pensez à effectuer la suppression de la décision correspondante pour l'adresse IP ne soit plus bannie.
cscli decisions delete --ip X.X.X.X