From 36c122bf53dff074595996931ee22233eec09bec Mon Sep 17 00:00:00 2001 From: Andreas Knuth Date: Thu, 19 Mar 2026 18:18:42 -0500 Subject: [PATCH] new spam config --- .../rspamd/override.d/docker_whitelist.map | 9 ---- .../config/rspamd/override.d/multimap.conf | 15 +++--- .../dms/config/rspamd/override.d/scores.conf | 11 ++++ DMS/docker-data/dms/config/user-patches.sh | 50 +++++++++++++------ 4 files changed, 54 insertions(+), 31 deletions(-) create mode 100644 DMS/docker-data/dms/config/rspamd/override.d/scores.conf diff --git a/DMS/docker-data/dms/config/rspamd/override.d/docker_whitelist.map b/DMS/docker-data/dms/config/rspamd/override.d/docker_whitelist.map index 7a5d779..e69de29 100644 --- a/DMS/docker-data/dms/config/rspamd/override.d/docker_whitelist.map +++ b/DMS/docker-data/dms/config/rspamd/override.d/docker_whitelist.map @@ -1,9 +0,0 @@ -bayarea-cc.com -ruehrgedoens.de -annavillesda.org -bizmatch.net -biz-match.com -qrmaster.net -nqsltd.com -iitwelders.com -# Weitere Domains hier eintragen \ No newline at end of file diff --git a/DMS/docker-data/dms/config/rspamd/override.d/multimap.conf b/DMS/docker-data/dms/config/rspamd/override.d/multimap.conf index 8055a78..5664217 100644 --- a/DMS/docker-data/dms/config/rspamd/override.d/multimap.conf +++ b/DMS/docker-data/dms/config/rspamd/override.d/multimap.conf @@ -1,14 +1,15 @@ DOCKER_WL { - # ÄNDERUNG: Wir prüfen jetzt den Absender (Envelope From) + # Pruefe den Absender (Envelope From) gegen die Domain-Whitelist type = "from"; filter = "email:domain"; - - # Pfad bleibt gleich + + # Pfad zur Whitelist-Datei mit eigenen Domains map = "/etc/rspamd/override.d/docker_whitelist.map"; - + symbol = "DOCKER_WHITELIST"; - score = -50.0; description = "Whitelist fuer eigene Domains"; - prefilter = true; - action = "accept"; + + # WICHTIG: KEIN prefilter und KEIN action! + # prefilter = true + action = "accept" ueberspringt die Score-Vergabe komplett. + # Der Score wird ueber scores.conf separat definiert. } \ No newline at end of file diff --git a/DMS/docker-data/dms/config/rspamd/override.d/scores.conf b/DMS/docker-data/dms/config/rspamd/override.d/scores.conf new file mode 100644 index 0000000..ae3a33e --- /dev/null +++ b/DMS/docker-data/dms/config/rspamd/override.d/scores.conf @@ -0,0 +1,11 @@ +# scores.conf - Score-Definitionen fuer custom Symbole +# Rspamd ignoriert den "score" Parameter in multimap.conf in neueren Versionen. +# Der Score MUSS hier separat definiert werden. + +symbols { + "DOCKER_WHITELIST" { + weight = -50.0; + description = "Whitelist fuer eigene Domains - reduziert Score um 50 Punkte"; + group = "local_whitelist"; + } +} \ No newline at end of file diff --git a/DMS/docker-data/dms/config/user-patches.sh b/DMS/docker-data/dms/config/user-patches.sh index a84b070..52f40bc 100755 --- a/DMS/docker-data/dms/config/user-patches.sh +++ b/DMS/docker-data/dms/config/user-patches.sh @@ -1,21 +1,41 @@ #!/bin/bash -# user-patches.sh läuft bei jedem Start von DMS automatisch +# user-patches.sh laeuft bei jedem Start von DMS automatisch ACCOUNTS_FILE="/tmp/docker-mailserver/postfix-accounts.cf" WHITELIST_FILE="/etc/rspamd/override.d/docker_whitelist.map" -echo "Patching: Generiere Rspamd Whitelist aus Accounts..." +# Statische Domains, die IMMER in der Whitelist sein sollen +# (auch wenn sie keinen Account im DMS haben) +STATIC_DOMAINS=( + "bayarea-cc.com" + "ruehrgedoens.de" + "annavillesda.org" + "bizmatch.net" + "biz-match.com" + "qrmaster.net" + "nqsltd.com" + "iitwelders.com" +) -if [ -f "$ACCOUNTS_FILE" ]; then - # Whitelist generieren - awk -F'|' '{print $1}' "$ACCOUNTS_FILE" | cut -d'@' -f2 | sort | uniq > "$WHITELIST_FILE" - - # Berechtigungen korrigieren - chmod 644 "$WHITELIST_FILE" - chown _rspamd:_rspamd "$WHITELIST_FILE" 2>/dev/null || true - - echo "Whitelist erfolgreich erstellt:" - cat "$WHITELIST_FILE" -else - echo "FEHLER: $ACCOUNTS_FILE wurde nicht gefunden!" -fi \ No newline at end of file +echo "Patching: Generiere Rspamd Whitelist aus Accounts + statischen Domains..." + +{ + # 1. Statische Domains ausgeben + for domain in "${STATIC_DOMAINS[@]}"; do + echo "$domain" + done + + # 2. Dynamische Domains aus Accounts hinzufuegen (falls vorhanden) + if [ -f "$ACCOUNTS_FILE" ]; then + awk -F'|' '{print $1}' "$ACCOUNTS_FILE" | cut -d'@' -f2 + else + echo "WARNUNG: $ACCOUNTS_FILE nicht gefunden!" >&2 + fi +} | sort | uniq > "$WHITELIST_FILE" + +# Berechtigungen korrigieren +chmod 644 "$WHITELIST_FILE" +chown _rspamd:_rspamd "$WHITELIST_FILE" 2>/dev/null || true + +echo "Whitelist erfolgreich erstellt:" +cat "$WHITELIST_FILE" \ No newline at end of file