Plugin Crowdsec¶
CrowdSec est un outil de cybersécurité open source qui protège les serveurs et applications contre les attaques automatiques (bruteforce SSH, scans, bots, DDoS, etc.).
Le principe est simple :
- CrowdSec analyse les logs des vos services (Nginx, nextcloud, jellyfin etc.)
- Détecte les comportements suspects
- Bloque automatiquement les IP malveillantes
- Partage anonymement ces IP avec la communauté CrowdSec
1 - Fichier docker compose¶
services:
swag:
image: lscr.io/linuxserver/swag:latest
container_name: swag
cap_add:
- NET_ADMIN
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
- URL=exemple.fr
- SUBDOMAINS=wildcard
- VALIDATION=dns
- DNSPLUGIN=ovh
volumes:
- /home/docker/appdata/swag/config:/config
ports:
- 443:443
networks:
swag_net:
ipv4_address: 172.25.0.5
restart: unless-stopped
crowdsec:
container_name: crowdsec
image: crowdsecurity/crowdsec
restart: unless-stopped
environment:
- COLLECTIONS=crowdsecurity/nginx crowdsecurity/http-cve crowdsecurity/whitelist-good-actors # (1)
- GID=1000
depends_on:
- swag
volumes:
- /home/docker/appdata/crowdsec/config:/etc/crowdsec:rw
- /home/docker/appdata/crowdsec/data:/var/lib/crowdsec/data:rw
- /home/docker/appdata/swag/config/log/nginx:/var/log/nginx:ro
- /var/log:/var/log/host:ro
security_opt:
- no-new-privileges=true
networks:
crowdsec_net:
ipv4_address: 172.25.0.10
networks:
swag_net:
driver: bridge
ipam:
driver: default
config:
- subnet: 172.25.0.0/16
gateway: 172.25.0.1
- Liste des collections disponible : app.crowdsec.net/hub/collections
2 - Configuration¶
Configuration du Bouncer sur SWAG¶
Pour ajouter un "bouncers" à notre conteneur crowdsec, il faut executer cette commande :
Cela va génerer une clé API à ajouter dans les paramètres d'environnement de SWAG.
Dans le champs "environnement:" de votre docker compose, nous allons devoirs rajouter 3 paramètres suivants :
- DOCKER_MODS=linuxserver/mods:swag-crowdsec
- CROWDSEC_API_KEY=hg45a7235458c69c46f59574334sk11p
- CROWDSEC_LAPI_URL=http://crowdsec:8080
Information Importante
Si vous avez déjà un mods, il sufit d'ajouter : | entre vos mods exemple : linuxserver/mods:swag-dbip|linuxserver/mods:swag-crowdsec
Attention
la valeur : hg45a7235458c69c46f59574334sk11p de la variable CROWDSEC_API_KEY est a remplacer par l'apikey que vous a donner la commande au début de ce paraphaphe.
Ensuite il faut vous faut modifier le fichier acquis.yaml présent dans /crowdsec/config/ :
Après avoir redémarrer votre conteneur, verifier dans les log si les fichiers d'acquisition ont bien été pris en compte par crowdsec :
time="2026-04-23T12:19:02Z" level=info msg="loading acquisition file : /etc/crowdsec/acquis.yaml"
time="2026-04-23T12:19:02Z" level=info msg="Configuring datasource" module=acquisition.file type=file
time="2026-04-23T12:19:02Z" level=info msg="Adding file /var/log/nginx/access.log to datasources" module=acquisition.file type=file
time="2026-04-23T12:19:02Z" level=info msg="Adding file /var/log/nginx/error.log to datasources" module=acquisition.file type=file
Lier son instance à l'app Crowdsec¶
Tout d'abord, Aller sur le site app.crowdsec.net/ et créer un compte. On vous proposera ensuite d'enregistrer une instance à l'aide d'une commande :
Retourner ensuite le site et cliquer sur "accept" pour enregistrer l'instance.3 - Commandes utiles¶
Voir la liste de "decisions" en cours :Purger la liste de "decisions" en cours :
Supprimer les "decisions" sur une ip ( ici 1.2.3.0 ) :Sources¶
- github.com/linuxserver/docker-mods/tree/swag-dbip
- github.com/linuxserver/docker-mods/tree/swag-crowdsec