README: Stack dokumentiert, Verweis auf TraefikConfig-Repo
Die Traefik-Konfiguration unter /srv/TRAEFIK/etc/traefik ist jetzt in einem eigenen Repo (lutz/TraefikConfig) versioniert; hier steht, wie die beiden Repos zusammenspielen und was wo liegt. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
66
README.md
Normal file
66
README.md
Normal file
@@ -0,0 +1,66 @@
|
||||
# Traefik-Stack (pi5-1)
|
||||
|
||||
Compose-Stack fuer den Reverse Proxy und die davor haengende CrowdSec-Abwehr.
|
||||
|
||||
| Service | Image | Aufgabe |
|
||||
|---|---|---|
|
||||
| `traefik` | `traefik:v3.7` | Reverse Proxy, TLS-Terminierung, ACME |
|
||||
| `crowdsec` | `crowdsecurity/crowdsec:v1.7.8` | Erkennung aus Traefik-Access-Log + Synology-Syslog |
|
||||
| `crowdsec-mikrotik-bouncer` | `ghcr.io/funkolab/cs-mikrotik-bouncer` | spiegelt Decisions als Drop-Regel auf die AX3 (Edge) |
|
||||
|
||||
Zusaetzlich haengt der **Traefik-Bouncer-Plugin** (`crowdsec@file`-Middleware)
|
||||
direkt im Request-Pfad; die MikroTik-Seite blockt zusaetzlich auf Firewall-Ebene,
|
||||
also auch VPN und SSH.
|
||||
|
||||
## Zwei Repos
|
||||
|
||||
Die **statische und dynamische Traefik-Konfiguration liegt NICHT hier**, sondern
|
||||
unter `/srv/TRAEFIK/etc/traefik` (root-owned, in den Container als `/etc/traefik`
|
||||
gemountet) und wird von einem eigenen Repo versioniert:
|
||||
|
||||
> **[`~/Projects/TraefikConfig`](http://192.168.0.234:8765/lutz/TraefikConfig)**
|
||||
> – `traefik.yml`, `traefik.d/*`, TLS-Inventar, Sync-/Deploy-Skripte, Disaster Recovery
|
||||
|
||||
Hier im Repo liegt alles, was den *Stack* beschreibt:
|
||||
|
||||
```
|
||||
docker-compose.yml Services, Ports, Volumes
|
||||
crowdsec/acquis.yaml Acquisition: Traefik-Access-Log
|
||||
crowdsec/acquis-synology.yaml Acquisition: Syslog-Listener (fids/fids2)
|
||||
crowdsec/parsers/famfihome-synology-connection.yaml lokaler Parser: DSM-7-Anmeldefehler
|
||||
crowdsec/profiles.yaml eskalierende Ban-Dauer (count+1)*12h, max 168h
|
||||
crowdsec/famfi-ca-bundle.pem OpenBAO-CA (fuer RouterOS api-ssl)
|
||||
scripts/sync-synology-certs.sh holt die Synology-LE-Certs nach Traefik
|
||||
```
|
||||
|
||||
Alles unter `crowdsec/` wird per Bind-Mount ins Image gelegt, damit es ein
|
||||
Zuruecksetzen der Named Volumes ueberlebt – die Dateien lagen frueher nur im
|
||||
`crowdsec-config`-Volume und waren damit nicht gesichert.
|
||||
|
||||
## Bedienung
|
||||
|
||||
```bash
|
||||
docker compose up -d # Stack starten
|
||||
docker compose up -d crowdsec # nur CrowdSec neu erzeugen (nach Config-Aenderung)
|
||||
|
||||
docker exec crowdsec cscli metrics show acquisition # kommen Logs an?
|
||||
docker exec crowdsec cscli decisions list # aktuelle Bans
|
||||
docker exec crowdsec cscli bouncers list # ziehen die Bouncer?
|
||||
```
|
||||
|
||||
Datenquellen pruefen: Traefik schreibt sein Access-Log ins geteilte Volume
|
||||
`traefik-logs`, CrowdSec liest es read-only. Die Synologies senden per
|
||||
DSM *Log Center → Log Sending* an `192.168.0.142:5514/udp`.
|
||||
|
||||
## Secrets
|
||||
|
||||
`.mikrotik.env` (RouterOS-Passwort + Bouncer-API-Key) ist git-ignoriert und
|
||||
root-only. Der LAPI-Key der Traefik-Middleware liegt in
|
||||
`/srv/TRAEFIK/etc/traefik/traefik.d/crowdsec.yml` und ist ebenfalls bewusst
|
||||
nicht versioniert – siehe TraefikConfig-README.
|
||||
|
||||
## Verwandt
|
||||
|
||||
- `~/Projects/TraefikConfig` – Traefik-Konfiguration (`/srv`), Restore-Prozedur
|
||||
- `~/Projects/OpenBAO` – PKI und Credential-Helper
|
||||
- `~/Projects/ClaudeAdmin` – 4-stuendlicher Healthcheck ueber den Stack
|
||||
Reference in New Issue
Block a user