Spam via Google Groups-Mailinglisten

Carsten Rosenberg cr at ncxs.de
Mo Nov 11 14:55:17 CET 2024


Hallo Achim,

On 11/10/24 3:09 PM, Achim Lammerts via Postfixbuch-users wrote:
> Das Problem ist auch die wirklich suboptimale Dokumentation von rspamd, 
> an der ich ebenso immer wieder scheitere.

Was ist für dich suboptimal? 95% der Doku schreibt der Entwickler 
selbst. Da hat man schon mal nen Tunnelblick.

> Aktuell versuche ich gerade zu verstehen, wie man die /etc/rspamd/ 
> local.d/regexp.conf nutzt. Die in der Doku gezeigten Beispiele 
> funktionieren nicht.

Die Regex-Regeln sind sehr mächtig, aber warm geworden bin ich mit denen 
auch nie geworden. Ich mag eher generische Regeln oder nutze wenn die 
Multimaps. Bei den mitgelieferten Regeln kann man sich aber schöne 
Beispiele angucken:

https://github.com/rspamd/rspamd/tree/master/rules/regexp

> 
> Außerdem bekomme ich es noch nicht gebacken, die Symbole (z. B. 
> SPFBL_WHITELIST_SERVER_PUBLIC_SERVICE und RWL_AMI_LASTHOP), die einen 
> Score wieder reduzieren, im Falle eines anderen Symbols (z. B. 
> X_FORWARDED) zu deaktivieren. Wo macht man das wie?
> 

Das macht man alles im Composites.

MY_SYMBOL {
  expression "^SPFBL_WHITELIST_SERVER_PUBLIC_SERVICE & ^RWL_AMI_LASTHOP 
&  -X_FORWARDED";
}

https://rspamd.com/doc/configuration/composites.html

Das entfernt die ersten beiden Symbole und läßt X_FORWARDED 
unangetastet. Ich habs persönlich aber lieber wenn die alten Scores und 
Symbole noch sichtbar bleiben. Daher würde ich das so bauen:

MY_SYMBOL {
  expression "SPFBL_WHITELIST_SERVER_PUBLIC_SERVICE & RWL_AMI_LASTHOP & 
X_FORWARDED";
  score = 2.0;
}


> Wie kann ich fallbezogene Reject-Messages ausgeben? Wie kann ich den 
> Wert (z. B. "googlegroups") aus dem Symbol MAILLIST auslesen und 
> fallbezogen behandeln?
> 

In den Force Actions. Die können leider aber nicht auf die Options 
("googlegroups") zugreifen. Daher könntest du die in composites ein 
Symbol daraus bauen und in den Force Actions mit Custom Message verwenden:

Composite

MAILLIST_GOOGLEGROUPS {
  expression = "MAILLIST[googlegroups]"
}

Force Actions

   VIRUS_REJECT {
     action = "reject";
     expression = "MAILLIST_GOOGLEGROUPS";
     message = "REJECT - your message (support-id: 
${queueid}-${uid.substring(1, 6)})";
     require_action = ["no action", "greylist", "reject", "add header", 
"soft reject", "rewrite subject", "discard", "quarantine"];
   }

Das Require Action ist ein Trick damit diese Force Action erst als 
Postfilter läuft. Sonst ist das MAILLIST_GOOGLEGROUPS Symbol noch nicht da.

> Bzgl. diesem Problem hier habe ich mir heute Morgen noch eine andere 
> Lösung gebastelt:
> 
> /etc/rspamd/local.d/multimap.conf:
> 
> X_FORWARDED {
>      type = "header";
>      header = "X-Forwarded-Encrypted";
>      map = "${LOCAL_CONFDIR}/local.d/maps.d/x-forwarded.map";
>      description = "Weiterleitungen aus Maillists";
>      symbol = "X_FORWARDED";
>      score = 4.0;
>      regexp = true;
>      multi = true;
>      rules {
>          SPFBL_WHITELIST_SERVER_PUBLIC_SERVICE = {
>              score = 0;
>              }
>          RWL_AMI_LASTHOP = {
>              score = 0;
>              }
>          }
>      }

Die rules Sektion in Multimap kenne ich nur von den combined Maps, also 
dem abhängigen matchen mehrerer Maps. Andere rules gibt es meines 
Wissens hier nicht.

> Der Abschnitt "rules" funktioniert wohl so nicht, die Scores der Symbole 
> bleiben negativ. Die /etc/rspamd/local.d/maps.d/x-forwarded.map enthält 
> bei mir gerade nur "/.*/"
> 

Viele Grüße

Carsten


Mehr Informationen über die Mailingliste Postfixbuch-users