RousselTMLEARNING

Article · Traefik : de la découverte à l'expertise

Les plugins - exemple avec crowdsec

1. Les plugins Traefik #

Ajouter des middlewares et des providers.

Fonctionnement #

Les plugins Traefik sont écrits en Go et exécutés par l'interpréteur Yaegi intégré : pas besoin de recompiler Traefik. Ils sont publiés dans le Plugin Catalog et déclarés dans la configuration statique, puis utilisés comme des middlewares.

# configuration statique
experimental:
  plugins:
    crowdsec:
      moduleName: github.com/maxlerebourg/crowdsec-bouncer-traefik-plugin
      version: v1.3.5        # fixez une version testée
Erreur Courante : Un plugin s'exécute dans le processus Traefik : choisissez des plugins maintenus, fixez leur version et testez-les avant la production.

2. CrowdSec #

Une détection collaborative.

Architecture #

Traefik et CrowdSec
Le blocage se fait dans Traefik, avant que la requête n'atteigne l'application.
  1. Traefik écrit ses access logs dans un fichier partagé.
  2. L'agent CrowdSec les analyse avec des scénarios (force brute, scans, exploitation de vulnérabilités connues) et envoie des alertes.
  3. L'API locale crée des décisions (bannir une IP pendant 4 h) et reçoit aussi les listes partagées par la communauté.
  4. Le plugin bouncer interroge l'API locale et répond 403 aux IP bannies.

3. Mise en place avec Docker Compose #

Les éléments essentiels.

Configuration #

services:
  crowdsec:
    image: crowdsecurity/crowdsec
    environment:
      COLLECTIONS: "crowdsecurity/traefik crowdsecurity/http-cve"
    volumes:
      - ./acquis.yaml:/etc/crowdsec/acquis.yaml:ro
      - traefik-logs:/var/log/traefik:ro
  traefik:
    image: traefik:v3
    command:
      - --accesslog.filepath=/var/log/traefik/access.log
      - --experimental.plugins.crowdsec.modulename=github.com/maxlerebourg/crowdsec-bouncer-traefik-plugin
      - --experimental.plugins.crowdsec.version=v1.3.5
    volumes: [traefik-logs:/var/log/traefik]
# middleware dynamique : crowdsecLapiKey = clé créée par « cscli bouncers add traefik »
docker compose exec crowdsec cscli bouncers add traefik   # clé pour le plugin
docker compose exec crowdsec cscli metrics                 # lignes lues, scénarios déclenchés
docker compose exec crowdsec cscli decisions list          # IP bloquées
docker compose exec crowdsec cscli decisions add --ip 203.0.113.7 --duration 1h   # test
Bonne Pratique : Ajoutez vos propres adresses (supervision, bureaux) dans une liste blanche CrowdSec pour ne jamais vous bloquer vous-même.

📄 Les plugins Traefik : l'exemple de CrowdSec pour bloquer les attaques →

Mon suivi

  • ⏱ Durée estimée : ≈ 6 min

Connectez-vous pour suivre votre progression et prendre des notes. Se connecter

💬 Questions sur cette leçon

Aucune question pour l'instant : soyez le premier à demander de l'aide ou à partager votre configuration.

Poser une question sur cette leçon →

Articles recommandés

Protéger Traefik avec CrowdSec : le plugin bouncer

Mettre en place le bouncer CrowdSec dans Traefik : plugin, middleware, modes stream et live, IP r...

Traefik : les providers (Docker, Kubernetes, Nomad, Consul, fichiers, clés-valeurs)

Les providers alimentent la configuration dynamique de Traefik : découverte des services Docker, ...

Traefik : sécuriser et transformer les requêtes avec les middlewares (BasicAuth, ForwardAuth…)

Les middlewares Traefik modifient les requêtes et réponses entre le routeur et le service : authe...

Traefik comme Ingress Controller pour Kubernetes (Helm, IngressRoute, Gateway API)

Installer Traefik dans Kubernetes avec Helm et publier des applications avec Ingress, les CRD Ing...

L'API de Traefik : inspecter la configuration et sécuriser le tableau de bord

Utiliser l'API REST de Traefik pour inspecter routeurs, services, middlewares et entrypoints, l'e...

Traefik : les logs (journaux applicatifs et access logs)

Configurer les deux journaux de Traefik : le journal de fonctionnement (niveaux, format) et les a...

Traefik : les métriques avec Prometheus et OpenTelemetry

Exposer les métriques de Traefik (Prometheus ou OTLP), comprendre les séries par entrypoint, rout...

Traefik : vue d'ensemble, architecture et premier déploiement

Découvrir Traefik : reverse proxy et load balancer cloud-native, entrypoints, routers, services, ...

Bonnes pratiques Traefik : sécurité, haute disponibilité et observabilité

Bonnes pratiques Traefik : sécurisation du dashboard et du socket Docker, TLS moderne, middleware...

Soutenir

♥ SOUTENIR

Soutenez RousselTM Learning

Les formations, articles, TP et attestations restent gratuits et sans publicité intrusive. Une contribution libre, du montant de votre choix, finance l’hébergement, les environnements de TP et l’écriture de nouveaux contenus.

Contribuer avec PayPal Montant libre · carte bancaire ou compte PayPalEn savoir plus
QR code PayPal
Ou scannez ce QR code avec votre téléphone

Merci, chaque contribution compte !