1. Installer #
Paquets Linux ou Docker.
Sur Linux #
curl -s https://install.crowdsec.net | sudo sh
sudo apt install crowdsec
sudo systemctl status crowdsec
sudo cscli version
sudo cscli collections list
sudo cscli lapi status
sudo cscli capi statusÀ l'installation, CrowdSec détecte les services présents et installe les collections correspondantes. Lisez le script avant de l'exécuter si votre politique de sécurité l'exige.
Docker #
services:
crowdsec:
image: crowdsecurity/crowdsec:v1.8.2
restart: unless-stopped
environment:
COLLECTIONS: "crowdsecurity/linux crowdsecurity/traefik"
TZ: Europe/Paris
volumes:
- ./acquis.d:/etc/crowdsec/acquis.d:ro
- crowdsec-config:/etc/crowdsec
- crowdsec-data:/var/lib/crowdsec/data # obligatoire : sans ce volume, le conteneur refuse de démarrer
- /var/log/auth.log:/logs/auth.log:ro
volumes:
crowdsec-config:
crowdsec-data:Déclarez les logs dans ./acquis.d/ssh.yaml. Le chemin est celui vu dans le conteneur :
filenames:
- /logs/auth.log
labels:
type: syslogdocker compose up -d
docker compose exec crowdsec cscli collections list
docker compose exec crowdsec cscli metrics| Variable | Rôle |
|---|---|
COLLECTIONS | Collections à installer, séparées par des espaces |
BOUNCER_KEY_<nom> | Déclare un bouncer et sa clé |
DISABLE_ONLINE_API | Coupe la communication avec la CAPI |
ENROLL_KEY | Enrôle l’instance dans la console |
USE_WAL | Active le mode WAL de SQLite |
2. Les fichiers #
Où se trouve chaque réglage.
L’arborescence #
/etc/crowdsec/
├── config.yaml # configuration générale
├── acquis.yaml et acquis.d/ # quels logs lire
├── profiles.yaml # de l'alerte à la décision
├── simulation.yaml # scénarios en simulation
├── parsers/ scenarios/ collections/ postoverflows/
├── notifications/ # slack.yaml, email.yaml, http.yaml…
├── bouncers/ # configuration des bouncers
├── local_api_credentials.yaml # accès à la LAPI
└── online_api_credentials.yaml # accès à la CAPI
/var/lib/crowdsec/data/crowdsec.db # base SQLite par défaut
/var/log/crowdsec.log et /var/log/crowdsec_api.logAprès une modification, rechargez le service : sudo systemctl reload crowdsec.
Déclarer les logs : l’acquisition #
L'acquisition dit quels logs lire et avec quel parser. Préférez un fichier par source dans /etc/crowdsec/acquis.d/.
filenames:
- /var/log/auth.log
labels:
type: syslogLe champ labels.type oriente vers le bon parser. Utilisez syslog pour les logs au format syslog, et le type indiqué par la collection sinon (nginx, traefik…). D'autres sources existent : journalctl, docker, kubernetes, syslog, loki, kafka.
Vérifiez toujours. Un log non déclaré ne produit aucune erreur : il n'est simplement jamais analysé. Contrôlez avec cscli metrics show acquisition. CrowdSec lit les nouvelles lignes : ce qui existait avant le démarrage n'est pas analysé.3. Console et plusieurs serveurs #
Superviser et partager les décisions.
La console #
La console app.crowdsec.net offre une vue web de vos instances. Récupérez une clé dans la console, puis :
sudo cscli console enroll VOTRE_CLE
# Acceptez l'instance dans la console, puis :
sudo systemctl reload crowdsecUne LAPI pour plusieurs serveurs #
Sur chaque agent, enregistrez-vous auprès de la LAPI, puis validez la machine côté LAPI :
# Sur l'agent
sudo cscli lapi register --url http://10.0.0.10:8080
# Sur le serveur LAPI
sudo cscli machines list
sudo cscli machines validate NOM_DE_LA_MACHINESur l'agent, désactivez ensuite la LAPI locale (section api.server.enable: false de config.yaml). Pour de gros volumes, remplacez SQLite par PostgreSQL ou MySQL.
Sources #
Mon suivi
Connectez-vous pour suivre votre progression et prendre des notes. Se connecter
Articles recommandés
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...
Les plugins Traefik : l'exemple de CrowdSec pour bloquer les attaques
Étendre Traefik avec des plugins (catalogue officiel, interpréteur Yaegi), puis protéger ses appl...
Installation de HAProxy
Guide complet pour installer HAProxy sur les serveurs Linux (Debian, RedHat) et via des environne...
Traefik : les logs (journaux applicatifs et access logs)
Configurer les deux journaux de Traefik : le journal de fonctionnement (niveaux, format) et les a...
Traefik : vue d'ensemble, architecture et premier déploiement
Découvrir Traefik : reverse proxy et load balancer cloud-native, entrypoints, routers, services, ...
Installer Grafana Loki (Docker Compose, binaire et Helm)
Installer et valider Grafana Loki : configuration minimale, Docker Compose avec Grafana et Alloy,...
Protection des Applications
Découvrez comment sécuriser vos backends contre les abus et les attaques courantes. Guide pratiqu...
Installer l'agent Datadog et configurer les intégrations
Installer l'agent Datadog sur Linux, Docker et Kubernetes (Datadog Operator), comprendre datadog....
Installer Grafana Tempo (Docker Compose, binaire et Helm)
Installer Grafana Tempo : configuration tempo.yaml, Docker Compose avec Grafana et Prometheus, po...