Dans cet article, je vous propose un scénario anti brute-force pour protéger Guacamole derrière un reverse proxy Nginx avec Crowdsec.
Voici le code du fichier yaml :
Lien du dépôt : RDR-IT / Crowndsec · GitLab
Prérequis au fonctionnement du scénario
Le scénario a été testé et valider dans l’environnement suivant :
- Guacamole sur un serveur dédié
- Crowdsec installé sur un serveur dédié faisant office de reverse proxy avec Nginx.
Installation
Pour utiliser le scénario, créer un fichier yaml dans le dossier /etc/crowdsec/scenarios
sur votre serveur et coller le code dedans.
Recharger Crowdsec pour la prise en compte :
sudo systemctl reload crowdsec
Vérifier la prise en compte du scénario avec la commande :
sudo cscli scenarios list
Fonctionnement du scénario
À chaque chargement de page, un appel à l’API de Guacamole est effectué avec la méthode POST et ceci même lors du chargement du formulaire d’authentification.
Le scénario analyse ces requêtes pour voir le résultat (code de retour) de la requête à l’API, si l’utilisateur n’est pas authentifié, le code est 403.
Le ban de l’adresse IP a lieu après 10 erreurs 403 sur une durée de 60 secondes.