Frage, rspamd white- und blacklists

Domi83

Rear Admiral
Registriert
Feb. 2010
Beiträge
5.444
Moin Leute, ich habe mal eine Frage an die Server Leute die den 'rspamd' bei sich einsetzen.

Ich habe mich durch die Manuals geschlagen, Google abgesucht und das eine oder andere selbst gut hinbekommen. Unter anderem wird die Annahme von bestimmten Dateiendungen (z.B. exe etc.) verweigert und gleich mit einem "reject" abgelehnt. Was mich jetzt aber noch ein wenig wurmt / fuchst... Server Interne Mails (avm@meine-domain.tld -> ich@meine-domain.tld) werden wie ganz normale Mails behandelt die von einem externen Server kommen und gerne im Subject als Spam deklariert.

Nun möchte ich nicht nur bestimmte E-Mail Adressen whitelisten, sondern am liebsten alles was lokal ist, whitelisten. Das heißt, wenn ein Kumpel von mir von seiner eigenen Domain (auf meinem Server) zu mir schreibt, soll auch dieses whitelistet sein. Hat das jemand von euch gelöst und wie habt ihr das gelöst?! Habt ihr in der multimap.conf einen "type = from" und "filter = email:domain" hinterlegt und die Domains in einer Map eingetragen, oder habt ihr das anders erledigt?! Mir geht es nämlich auch darum, wenn eine Spam Schleuder als "from" eine meiner Domains einträgt, kommt die ja (wenn es doof kommt) durch.

Gruß, Domi
 
Gegen den letzten Punkt hilft schon die Verwendung von DKIM und SPF, dann dürfen nur dort entsprechend konfigurierte Mailserver mit deiner Absende-Domain senden. Bei ersterem bin ich leider raus.
 
Nabend und schon mal vielen Dank für die Idee... Ich habe vor ein paar Wochen mit einer Versicherung Kontakt gehabt, und die haben wohl eine "Whitelist" in Kombination mit DKIM. An so etwas hab ich auch schon gedacht... Generell gibt rspamd einer Domain mit verifiziertem DKIM ein scoring von "-0.2", was ja schon mal ganz cool ist.

Das Prinzip von der Versicherung würde würde mich ja in ähnlicher Variante interessieren... sprich, DKIM + Whitelist dann scoring "-1.0" oder so etwas. Aber da hab ich noch nicht so das korrekte Beispiel gefunden.

Was mich auch ein wenig verwundert (hab blöderweise die Mails gelöscht), aber wenn sich die FritzBox via SMTP anmeldet, wird die dkim signatur in der E-Mail nicht hinzugefügt und wenn sich das PHP Skript anmeldet, ist die Signatur drin. Glaube so herum war das... aber hab noch nicht verstanden wieso... gibt es dafür vielleicht eine Idee woran das liegen könnte?
 
DKIM Signaturen werden afaik nicht vom Mail sendenden Client angehangen sondern vom versendenden Mailserver.
 
Jop, dass war mir bewusst... vielleicht kam meine Aussage falsch rüber. Ich muss ja auch im Server die DKIM Daten erstellen und dann beim DNS den Eintrag hinterlegen. Das ist auch schon alles erledigt... allerdings hängt der Server nicht immer die DKIM Signatur dran und das ist für mich etwas irritierend... ich packe mal meine Config dazu, vielleicht hab ich auch etwas falsch verstanden und somit falsch eingestellt.
Code:
# local.d/dkim_signing.conf
# If false, messages with empty envelope from are not signed
allow_envfrom_empty = true;

# If true, envelope/header domain mismatch is ignored
allow_hdrfrom_mismatch = false;

# If true, multiple from headers are allowed (but only first is used)
allow_hdrfrom_multiple = false;

# If true, username does not need to contain matching domain
allow_username_mismatch = true;

# Default selector to use
selector = "default";

# If false, messages from authenticated users are not selected for signing
#sign_authenticated = true;

# If false, messages from local networks are not selected for signing
sign_local = true;

# Map file of IP addresses/subnets to consider for signing
# sign_networks = "/some/file"; # or url

# Symbol to add when message is signed
symbol = "DKIM_SIGNED";

# Whether to fallback to global config
try_fallback = false;

# Domain to use for DKIM signing: can be "header" (MIME From), "envelope" (SMTP From) or "auth" (SMTP username)
use_domain = "header";

# Domain to use for DKIM signing when sender is in sign_networks ("header"/"envelope"/"auth")
#use_domain_sign_networks = "header";

# Domain to use for DKIM signing when sender is a local IP ("header"/"envelope"/"auth")
#use_domain_sign_local = "header";

# Whether to normalise domains to eSLD
use_esld = false;

# Whether to get keys from Redis
use_redis = false;

# Hash for DKIM keys in Redis
key_prefix = "DKIM_KEYS";

# map of domains -> names of selectors (since rspamd 1.5.3)
selector_map = "/etc/rspamd/local.d/dkim_selectors.map";

# map of domains -> paths to keys (since rspamd 1.5.3)
path_map = "/etc/rspamd/local.d/dkim_domains.map";

# If `true` get pubkey from DNS record and check if it matches private key
check_pubkey = false;

# Set to `false` if you want to skip signing if public and private keys mismatch
allow_pubkey_mismatch = true;

Ich muss dann nur mal mit der multimap.conf herumexperimentieren und schauen ob und wie ich E-Mails aus meiner Whitelist + DKIM Signatur einem guten Scoring verpassen kann.

Gruß, Domi
 
Nabend... ich mache mal einen Post hinter Post... normalerweise editiere ich ja, aber ich hab ein paar neue Informationen und vielleicht interessiert dies den einen oder anderen Server Betreiber, Hobby-Admin etc. :)

Ich kann mich nun mit irgend einem Account anmelden, irgendeine meiner Domains als Absender hinterlegen und der Server trägt den DKIM Wert ein, so wie im ersten Post angesprochen. Das klappt nun auch und sieht wie folgt aus.
Code:
# If true, username does not need to contain matching domain
allow_username_mismatch = true;

# Default selector to use
selector = "default";

# Whether to fallback to global config
try_fallback = false;

# Domain to use for DKIM signing: can be "header" (MIME From), "envelope" (SMTP From) or "auth" (SMTP username)
use_domain = "header";

# Domain to use for DKIM signing when sender is in sign_networks ("header"/"envelope"/"auth")
#use_domain_sign_networks = "header";

# Domain to use for DKIM signing when sender is a local IP ("header"/"envelope"/"auth")
#use_domain_sign_local = "header";

# Whether to normalise domains to eSLD
use_esld = false;

# map of domains -> names of selectors (since rspamd 1.5.3)
selector_map = "/etc/rspamd/local.d/dkim_selectors.map";

# map of domains -> paths to keys (since rspamd 1.5.3)
path_map = "/etc/rspamd/local.d/dkim_domains.map";

# If `true` get pubkey from DNS record and check if it matches private key
check_pubkey = true;

# Set to `false` if you want to skip signing if public and private keys mismatch
allow_pubkey_mismatch = false;

Dann wäre ja noch das Phänomen das ich gerne die eigenen Domains auf dem Server, oder dem "Authed-User" ein besseres Scoring verpassen möchte. Dieses habe ich aktuell wie folgt erledigt.

rspamd.conf.local
Code:
symbols = {
    "SMTP_AUTH" {
        weight = -4.1;
        description = "Authenticated user";
    }
}
local.d/users.local.conf
Code:
authenticated-smtp {
    priority = 50;
    authenticated = yes;
    apply "default" {
        symbols_disabled = ["WHITELIST_SENDER_DOMAIN"];
    }
    symbols ["SMTP_AUTH"]
}
Ich hatte es erst mit einer "priority = 10" versucht, war aber scheinbar zu gering damit meine Regel überhaupt verwendet wird. Natürlich kann man das immer anpassen oder erweitern und verbessern, aber zumindest hätte ich jetzt eine (für mich) passende kleine Lösung :)

Gruß, Domi
 
  • Gefällt mir
Reaktionen: snaxilian
Zurück
Oben