New update: Use updated Crowdsec method (see pinned comment on video)

This commit is contained in:
Imran Remtulla
2025-11-18 19:04:48 -05:00
parent fa192864cb
commit f9a98c6474
3 changed files with 20 additions and 21 deletions

View File

@@ -1,4 +1,12 @@
filenames: filenames:
- /var/log/traefik/* - /var/log/traefik/*
labels: labels:
type: traefik type: traefik
---
listen_addr: 0.0.0.0:7422
appsec_config: crowdsecurity/virtual-patching
name: myAppSecComponent
source: appsec
labels:
type: appsec

View File

@@ -130,9 +130,8 @@ services:
container_name: crowdsec container_name: crowdsec
environment: environment:
GID: "${GID-1000}" GID: "${GID-1000}"
COLLECTIONS: "crowdsecurity/linux crowdsecurity/traefik" COLLECTIONS: "crowdsecurity/linux crowdsecurity/traefik crowdsecurity/appsec-virtual-patching crowdsecurity/appsec-generic-rules"
depends_on: BOUNCER_KEY_TRAEFIK: "yRoByFyKf8q/mRg/gedtxE4XqJn+QdTBcSRsGLVx9b8"
- traefik
volumes: volumes:
- ./crowdsec_config/acquis.yaml:/etc/crowdsec/acquis.yaml:ro - ./crowdsec_config/acquis.yaml:/etc/crowdsec/acquis.yaml:ro
- ./crowdsec_config/profiles.yaml:/etc/crowdsec/profiles.yaml:ro - ./crowdsec_config/profiles.yaml:/etc/crowdsec/profiles.yaml:ro
@@ -142,23 +141,12 @@ services:
- traefik - traefik
restart: unless-stopped restart: unless-stopped
logging: *logging logging: *logging
crowdsec-bouncer:
image: docker.io/fbonalair/traefik-crowdsec-bouncer:latest
container_name: crowdsec-bouncer
environment:
CROWDSEC_BOUNCER_API_KEY: "yRoByFyKf8q/mRg/gedtxE4XqJn+QdTBcSRsGLVx9b8" # cscli bouncers add crowdsecBouncer
CROWDSEC_AGENT_HOST: crowdsec:8080
networks:
- traefik
depends_on:
- crowdsec
restart: unless-stopped
logging: *logging
crowdsec-dashboard: crowdsec-dashboard:
image: metabase/metabase # crowdsec@crowdsec.net !!Cr0wdS3c_M3t4b4s3?? image: metabase/metabase # crowdsec@crowdsec.net !!Cr0wdS3c_M3t4b4s3??
container_name: crowdsec-dashboard container_name: crowdsec-dashboard
depends_on: depends_on:
- crowdsec - crowdsec
- traefik
restart: unless-stopped restart: unless-stopped
environment: environment:
MB_DB_FILE: /data/metabase.db MB_DB_FILE: /data/metabase.db
@@ -184,6 +172,7 @@ services:
depends_on: depends_on:
- authelia - authelia
- dockerproxy - dockerproxy
- crowdsec
command: command:
- "--api=true" - "--api=true"
- "--api.dashboard=true" - "--api.dashboard=true"
@@ -208,9 +197,11 @@ services:
- "--accesslog=true" - "--accesslog=true"
- "--accesslog.filePath=/var/log/traefik/access.log" - "--accesslog.filePath=/var/log/traefik/access.log"
- "--providers.file.filename=/etc/traefik/dynamic-configuration.yaml" - "--providers.file.filename=/etc/traefik/dynamic-configuration.yaml"
- "--entryPoints.websecure.http.middlewares=crowdsec-bouncer@file" - "--entryPoints.websecure.http.middlewares=crowdsec@docker"
- "--experimental.plugins.geoblock.modulename=github.com/PascalMinder/geoblock" - "--experimental.plugins.geoblock.modulename=github.com/PascalMinder/geoblock"
- "--experimental.plugins.geoblock.version=v0.3.3" - "--experimental.plugins.geoblock.version=v0.3.3"
- "--experimental.plugins.bouncer.modulename=github.com/maxlerebourg/crowdsec-bouncer-traefik-plugin"
- "--experimental.plugins.bouncer.version=v1.4.6"
ports: ports:
- "80:80" - "80:80"
- "443:443" - "443:443"
@@ -227,6 +218,10 @@ services:
- "traefik.http.routers.api.tls=true" - "traefik.http.routers.api.tls=true"
- "traefik.http.routers.api.tls.certresolver=le" - "traefik.http.routers.api.tls.certresolver=le"
- "traefik.http.routers.api.middlewares=authelia@docker,geoblock@file" - "traefik.http.routers.api.middlewares=authelia@docker,geoblock@file"
- "traefik.http.middlewares.crowdsec.plugin.bouncer.enabled=true"
- "traefik.http.middlewares.crowdsec.plugin.bouncer.crowdseclapikey=yRoByFyKf8q/mRg/gedtxE4XqJn+QdTBcSRsGLVx9b8"
- "traefik.http.middlewares.crowdsec.plugin.bouncer.crowdsecappsecenabled=true"
- "traefik.http.middlewares.crowdsec.plugin.bouncer.forwardedheaderstrustedips=172.19.0.1"
restart: unless-stopped restart: unless-stopped
networks: networks:
- traefik - traefik

View File

@@ -1,9 +1,5 @@
http: http:
middlewares: middlewares:
crowdsec-bouncer:
forwardauth:
address: http://crowdsec-bouncer:8080/api/v1/forwardAuth
trustForwardHeader: true
geoblock: geoblock:
plugin: plugin:
geoblock: geoblock: