La correction est intégrée au TP (Voir les encadrés de couleur vert)
Ce que vous allez apprendre dans ce TP
- Comprendre une ligne avec explain
- Écrire un scénario leaky
- Utiliser la simulation
- Protéger une IP de confiance
Introduction #
Ce que vous allez apprendre dans cette section
- Comprendre une ligne avec explain
- Écrire un scénario leaky
- Utiliser la simulation
- Protéger une IP de confiance
Contexte. Votre application renvoie 401 sur /login en cas d'échec. Vous voulez une règle sur mesure, testée avant de bloquer.
Prérequis : le TP 1 · Durée estimée : 40 min
Mise en place #
Étapes guidées, avec leur correction.
1. Comprendre une ligne
Suivez le trajet d’une ligne Nginx.
Voir la correction
docker compose exec crowdsec cscli explain --type nginx --log "198.51.100.7 - - [$(LC_ALL=C date '+%d/%b/%Y:%H:%M:%S %z')] \"POST /login HTTP/1.1\" 401 12 \"-\" \"curl/8\""2. Écrire le scénario
Pourquoi ? Quatre échecs en rafale, c'est une attaque ; un échec de temps en temps, une erreur humaine.
Ajoutez le fichier au conteneur, puis redémarrez.Voir la correction
type: leaky name: local/login-bf description: "Détecte le brute force sur le formulaire de connexion" filter: "evt.Meta.service == 'http' && evt.Parsed.verb == 'POST' && evt.Meta.http_path == '/login' && evt.Meta.http_status == '401'" groupby: evt.Meta.source_ip capacity: 4 leakspeed: 10s blackhole: 1m labels: remediation: true service: http behavior: http:bruteforce label: "Brute force sur /login"docker compose cp local-login-bf.yaml crowdsec:/etc/crowdsec/scenarios/local-login-bf.yaml docker compose restart crowdsec docker compose exec crowdsec cscli scenarios list | grep local3. Passer en simulation
Déclenchez le scénario en simulation.
Voir la correction
docker compose exec crowdsec cscli simulation enable local/login-bf docker compose restart crowdsec for i in $(seq 1 8); do echo "198.51.100.7 - - [$(LC_ALL=C date '+%d/%b/%Y:%H:%M:%S %z')] \"POST /login HTTP/1.1\" 401 12 \"-\" \"curl/8\"" >> logs/access.log done sleep 5 docker compose exec crowdsec cscli alerts list docker compose exec crowdsec cscli decisions listRésultat attendu : une décision
(simul)banpourlocal/login-bf. Le scénario du HubLePresidente/http-generic-401-bfse déclenche aussi, avec un vrai ban.4. Protéger une IP de confiance
Ajoutez la plage à une allowlist et constatez la suppression des décisions.
Voir la correction
docker compose exec crowdsec cscli allowlists create bureau -d "IP de confiance" docker compose exec crowdsec cscli allowlists add bureau 198.51.100.0/24 docker compose exec crowdsec cscli allowlists check 198.51.100.7 docker compose exec crowdsec cscli decisions list docker compose exec crowdsec cscli simulation disable local/login-bf
Niveau de difficulté : ●●○○○ (2/5)
Mon suivi
Connectez-vous pour suivre votre progression et prendre des notes. Se connecter
Articles recommandés
Collections, parsers et scénarios CrowdSec
Le Hub, les collections, le pipeline des parsers et les scénarios : installer, comprendre avec cs...
Décisions, profils, allowlists et AppSec dans CrowdSec
Gérer les décisions avec cscli, adapter la durée et le type de blocage avec les profils, éviter l...
CrowdSec : comprendre le pare-feu collaboratif
Ce qu'est CrowdSec, comment il détecte et bloque les attaques : Security Engine, parsers, scénari...
CrowdSec en production : bonnes pratiques
Les réflexes pour exploiter CrowdSec en production : LAPI, clés, faux positifs, base de données, ...
Protection des Applications
Découvrez comment sécuriser vos backends contre les abus et les attaques courantes. Guide pratiqu...
Bouncers CrowdSec : Cloudflare, équipements réseau, Kubernetes et bouncer sur mesure
Bloquer au CDN avec Cloudflare Workers, alimenter pfSense ou MikroTik avec Blocklist Mirror, prot...
Installer et configurer CrowdSec : paquets, Docker, acquisition
Installer CrowdSec avec les paquets ou Docker, comprendre ses fichiers, déclarer les logs à lire,...
Les bouncers CrowdSec : principes et bouncer pare-feu
Comprendre les bouncers CrowdSec : où bloquer, modes live et stream, clés d'API, API des décision...
CrowdSec ou Fail2ban : quelles différences ?
Comparaison de CrowdSec et Fail2ban : détection, blocage, partage, performances, multi-serveurs, ...