Files
crowdsec-parserwhitelist-ma…/docs/installation.md
2026-03-11 20:27:19 +01:00

3.1 KiB

Installation & Konfiguration

Voraussetzungen

  • CrowdSec (als Docker-Container oder nativ installiert)
  • NPMplus als Reverse Proxy mit aktiviertem Logging

Installation

1. Whitelist-Datei kopieren

Die YAML-Datei muss in das CrowdSec Parser-Verzeichnis s02-enrich kopiert werden:

cp 01-matrix-whitelist.yaml /etc/crowdsec/parsers/s02-enrich/01-matrix-whitelist.yaml

Hinweis: Bei einer Docker-Installation liegt das Verzeichnis im gemappten Volume, z. B.
./data/crowdsec/config/parsers/s02-enrich/

2. CrowdSec neu starten

Damit die Whitelist geladen wird, muss CrowdSec neu gestartet werden:

docker restart crowdsec

Überprüfung

Parser testen

Mit cscli explain kann geprüft werden, ob die Whitelist auf eine echte Log-Zeile greift:

grep '/_matrix/' /home/docker-projekte/npmplus/data/npmplus/nginx/logs/access.log \
  | tail -n 1 \
  | docker exec -i crowdsec cscli explain -f- --type npmplus

In der Ausgabe sollte die Whitelist als Treffer erscheinen, z. B.:

 ├ s02-enrich
 |   ├ ☑ crowdsecurity/whitelists
 |   ├ ☑ my/matrix-whitelist ✅  (whitelisted)

Metriken prüfen

Die Wirkung ist in den CrowdSec-Metriken sichtbar:

docker exec crowdsec cscli metrics

Beispielausgabe:

+--------------------------------------------------------------------------------------------+
| Whitelist Metrics                                                                          |
+------------------------------------+----------------------------------+------+-------------+
| Whitelist                          | Reason                           | Hits | Whitelisted |
+------------------------------------+----------------------------------+------+-------------+
| my/matrix-whitelist                | Matrix federation/client traffic | 6085 | 5746        |
+------------------------------------+----------------------------------+------+-------------+

Die Spalte Whitelisted zeigt an, wie viele Log-Zeilen durch die Whitelist herausgefiltert wurden.

Funktionsweise

Die Whitelist arbeitet als CrowdSec-Parser in der Stufe s02-enrich. Sie prüft eingehende Log-Events anhand folgender Kriterien:

Filter: Nur HTTP-Logs (Access- und Error-Logs) werden berücksichtigt.

Whitelist-Regeln: Anfragen an folgende Pfade werden als legitim eingestuft:

Pfad-Muster Zweck
/_matrix/ Matrix Federation API & Client-Server API (Nachrichten, Räume, Sync, …)
/_synapse/ Synapse-spezifische Endpunkte (Admin API, interne Routen)
/.well-known/matrix/ Matrix Server-Discovery (andere Server finden den Homeserver hierüber)

Anpassung

Die Datei kann bei Bedarf um eigene Pfade erweitert werden. Dazu einfach weitere Einträge unter expression hinzufügen:

whitelist:
  reason: "Matrix federation/client traffic"
  expression:
    - "evt.Meta.http_path startsWith '/_matrix/'"
    - "evt.Meta.http_path startsWith '/_synapse/'"
    - "evt.Meta.http_path startsWith '/.well-known/matrix/'"
    - "evt.Meta.http_path startsWith '/eigener-pfad/'"

Nach jeder Änderung muss CrowdSec neu gestartet werden.