Rspamd: Spamfilter besser trainieren?

Allgemeine Diskussionen rund um KeyHelp.
tab-kh
Posts: 564
Joined: Thu 22. Apr 2021, 23:06

Re: Rspamd: Spamfilter besser trainieren?

Post by tab-kh »

Installieren von systemd-resolved hilft da nichts. Letztlich werden dann doch irgendwelche in der Konfiguration eingetragene Resolver verwendet. Bei dir sehr wahrscheinlich die von netcup, wenn du nicht selbst etwas anderes eingeragen hast. Die von netcup sind noch relativ besser als die von Google oder Cloudflare. Das meine ich nicht im Hinblick auf Zuverlässigkeit ud Geschwindigkeit, sondern nur im Hinblick auf die Abfrage von Blocklisten. Je weniger Abfragen an die Blockliste über den Resolver laufen , desto besser. Insofern ist ein Resolver auf dem Server selbst natürlich die beste Lösung. Aber auch ein oder zwei (wegen Redundanz) kleine Serverchen (1C/1GB) die nur als Resolver für einige Keyhelp-Server dienen, werden kaum das Rate Limit der Listen erreichen.
KeksDipp
Posts: 71
Joined: Sun 17. Jan 2021, 18:03

Re: Rspamd: Spamfilter besser trainieren?

Post by KeksDipp »

tab-kh wrote: Sat 25. Jan 2025, 14:18 Installieren von systemd-resolved hilft da nichts. Letztlich werden dann doch irgendwelche in der Konfiguration eingetragene Resolver verwendet. Bei dir sehr wahrscheinlich die von netcup, wenn du nicht selbst etwas anderes eingeragen hast. Die von netcup sind noch relativ besser als die von Google oder Cloudflare. Das meine ich nicht im Hinblick auf Zuverlässigkeit ud Geschwindigkeit, sondern nur im Hinblick auf die Abfrage von Blocklisten. Je weniger Abfragen an die Blockliste über den Resolver laufen , desto besser. Insofern ist ein Resolver auf dem Server selbst natürlich die beste Lösung. Aber auch ein oder zwei (wegen Redundanz) kleine Serverchen (1C/1GB) die nur als Resolver für einige Keyhelp-Server dienen, werden kaum das Rate Limit der Listen erreichen.
Vielen Dank für die Erklärung. Ich habe Bind9 auf meinem Keyhelp Server jetzt deaktiviert und Unbound installiert. Ich bekomme auch IP Adressen von Unbound aufgelöst. Sobald ich Unbound beende bekomme ich keine Auflösung mehr.

In der resolv.conf ist aktuell nur 127.0.0.1.
Zu 100% verstanden habe ich das Thema bis jetzt leider nicht. Es ist für mich noch ein wenig undurchsichtig wie jetzt der Abfrage weg läuft wenn ich z.B. google.de aufrufen möchte.

Wenn ich Unbound verwende geht mein Server direkt zum Google Nameserver und fragt dort nach der passenden IP Adresse?
Und wenn ich z.B. Cloudflare als resolver verwende Fragt mein Server bei Cloudflare und Cloudflare fragt dann bei Google nach der passenden Adresse?

Und gibt es empfehlungen welche Backup DNS Resolver ich verwenden sollte? Oder würdet ihr empfehlen weitere Server mit Unbound zu installieren und diese als Backup Resolver zu verwenden?

Vielen Dank schonmal.
Mit besten Grüßen
Alex
otto58
Posts: 79
Joined: Thu 29. Jul 2021, 13:20

Re: Rspamd: Spamfilter besser trainieren?

Post by otto58 »

Warum wird eigentlich hier eine rewrite (Parameter ist 9) gemacht. Russe?
Ich verstehe es nicht. Es geht zudem um E-Mail Sicherheit und das könnte auch Rspamd wissen.
Unbenannt.png
User avatar
mhagge
Community Moderator
Posts: 563
Joined: Wed 8. Aug 2018, 15:19

Re: Rspamd: Spamfilter besser trainieren?

Post by mhagge »

Da steht was von force_actions.

Irgendwas hast Du in der Konfiguration stehen, dass beim auftreten eines bestimmten Merkmales immer add_header durchgeführt wird, unabhängig vom Score ( https://rspamd.com/doc/modules/force_actions.html )

Die angesprochene force_actions.conf sieht bei mir so aus

Code: Select all

❯ sudo cat /etc/rspamd/local.d/force_actions.conf
# Created by KeyHelp.
#
# DO NOT CHANGE ANYTHING IN THIS FILE,
# CHANGES WILL BE LOST ON NEXT UPDATE!

rules {
    VIRUS {
        action = "rewrite subject";
        expression = "CLAM_VIRUS";
        subject = "***VIRUS*** %s";
    }
    VIRUS_FAIL {
        action = "rewrite subject";
        expression = "CLAM_VIRUS_FAIL";
        subject = "***UNCHECKED*** %s";
    }
}
Der Betreff wird also nur bei einem erkannten Virus umgeschrieben. Hast Du da evtl. noch andere (manuelle) Konfigurationen oder diese mal irgendwo überschrieben (oder ist tatsächlich ein Virus an der Mail, welche sich nur als RUA tarnt?) Oder ist der Viruscheck warum auch immer fehlgeschlagen? Wie wurde der Betreff denn tatsächlich verändert?
otto58
Posts: 79
Joined: Thu 29. Jul 2021, 13:20

Re: Rspamd: Spamfilter besser trainieren?

Post by otto58 »

Danke, das ist die Ursache. Manuell angepasst habe ich nichts. Das gibt mir erstmal die Sicherheit, dass es sinnlos ist, weiter an den Parametern von Rspamd zu spielen, um dies wegzubekommen.

Der Zusatz ist bei mir bisher nur " ***UNCHECKED*** ", d.h. doch, dass der Virustest versagt hat.
Ich habe nochmal im Papierkorb nachgeguckt. Da habe ich diese Ergänzung bei:
- den russischen Domain Reports ( Anhang .xml.gz )
- einmal bei einem Domain Report von Google ( Anhang .zip )
- zweimal bei Hetzner Rechnungen ( Anhang .pdf ) gefunden.

Bei anderen .pdf habe ich das bisher nicht beobachtet.

Hier noch der russische Domain Report von heute im rspamd.log

Code: Select all

2025-01-27 04:08:44 #1774(rspamd_proxy) <a9f63e>; proxy; proxy_accept_socket: accepted milter connection from ::1 port 49576
2025-01-27 04:08:45 #1774(rspamd_proxy) <a9f63e>; milter; rspamd_milter_process_command: got connection from 89.221.237.233:45634
2025-01-27 04:08:45 #1776(normal) <851171>; task; rspamd_worker_body_handler: accepted connection from 127.0.0.1 port 33104, task ptr: 00007F15DBF59898
2025-01-27 04:08:45 #1776(normal) <6612A3>; task; rspamd_message_parse: loaded message; id: <dmarc-1737947323@corp.mail.ru>; queue-id: <6612A3EEEA>; size: 4456; checksum: <2d1026e50e49223bd2aec561b2cc7083>
2025-01-27 04:08:45 #1776(normal) <6612A3>; task; dkim_module_key_handler: stored DKIM key for mail4._domainkey.corp.mail.ru in LRU cache for 3081 seconds, 114/2000 elements in the cache
2025-01-27 04:08:45 #1776(normal) <6612A3>; task; rspamd_spf_record_postprocess: increasing ttl from 227 to 300 as it lower than a limit
2025-01-27 04:08:45 #1776(normal) <6612A3>; task; rspamd_spf_maybe_return: stored SPF record for corp.mail.ru (0x1bdad551b69c2340) in LRU cache for 300 seconds, 53/2000 elements in the cache
2025-01-27 04:08:45 #1776(normal) <6612A3>; lua; clamav.lua:117: clamav: failed to scan, maximum retransmits exceed
2025-01-27 04:08:45 #1776(normal) <6612A3>; lua; common.lua:113: clamav: result - FAILED with error: "failed to scan and retransmits exceed - score: 0"
2025-01-27 04:08:45 #1776(normal) <6612A3>; task; rspamd_add_passthrough_result: <dmarc-1737947323@corp.mail.ru>: set pre-result to 'rewrite subject' (no score): 'unknown reason' from force_actions(0)
2025-01-27 04:08:46 #1776(normal) <6612A3>; task; rspamd_task_write_log: id: <dmarc-1737947323@corp.mail.ru>, qid: <6612A3EEEA>, ip: 89.221.237.233, from: <noreply-dmarc-reporting@corp.mail.ru>, (default: T (rewrite subject): [0.40/15.00] [MIME_BASE64_TEXT_BOGUS(1.00){},DMARC_POLICY_ALLOW(-0.50){corp.mail.ru;reject;},FORGED_SENDER(0.30){dmarc_support@corp.mail.ru;noreply-dmarc-reporting@corp.mail.ru;},R_DKIM_ALLOW(-0.20){corp.mail.ru:s=mail4;},R_SPF_ALLOW(-0.20){+ip4:89.221.237.128/25;},MIME_BASE64_TEXT(0.10){},MIME_GOOD(-0.10){multipart/mixed;text/plain;},ARC_NA(0.00){},ASN(0.00){asn:47764, ipnet:89.221.236.0/22, country:RU;},CLAM_VIRUS_FAIL(0.00){failed to scan and retransmits exceed;},DKIM_TRACE(0.00){corp.mail.ru:+;},FORCE_ACTION_VIRUS_FAIL(0.00){rewrite subject;},FROM_NEQ_ENVFROM(0.00){dmarc_support@corp.mail.ru;noreply-dmarc-reporting@corp.mail.ru;},FROM_NO_DN(0.00){},HAS_ATTACHMENT(0.00){},MID_RHS_MATCH_FROM(0.00){},MIME_TRACE(0.00){0:+;1:+;2:~;},MISSING_XM_UA(0.00){},RCPT_COUNT_ONE(0.00){1;},RCVD_COUNT_ONE(0.00){1;},RCVD_TLS_LAST(0.00){},RCVD_VIA_SMTP_AUTH(0.00){},TO_DN_NONE(0.00){},TO_MATCH_ENVRCPT_ALL(0.00){}]), len: 4456, time: 596.204ms, dns req: 24, digest: <2d1026e50e49223bd2aec561b2cc7083>, rcpts: <rua.aggregated@abcdef.com>, mime_rcpts: <rua.aggregated@abcdef.com>, forced: rewrite subject "unknown reason"; score=nan (set by force_actions)
2025-01-27 04:08:46 #1776(normal) <6612A3>; task; rspamd_protocol_http_reply: regexp statistics: 0 pcre regexps scanned, 2 regexps matched, 179 regexps total, 61 regexps cached, 0B scanned using pcre, 1.10KiB scanned total
2025-01-27 04:08:46 #1774(rspamd_proxy) <c716d9>; proxy; proxy_milter_finish_handler: finished milter connection
otto58
Posts: 79
Joined: Thu 29. Jul 2021, 13:20

Re: Rspamd: Spamfilter besser trainieren?

Post by otto58 »

Ich will noch was ergänzen, weil ich langsam die Sache zu verstehen glaube.

Es geht grundsätzlich um die admin E-Mail-Adresse, die nur an @t-online.de weitergeleitet wird, kein Postfach hat und deshalb in Keyhelp weder "Spam" noch "Virus" Schutz aktiviert hat. Die jetzt betroffenen E-Mail-Adressen sind alle "Catch-All".
Der Virus Check von Rspamd ist dennoch bei Weiterleitung inclusive Catch-All aktiv.

Ich sage mal, 50 % der E-Mails mit Anhang machen Probleme. Warum der Rest nicht??? Die E-Mails die Rspamd nicht testen kann, kommen alle problemlos durch den T-Online Virusscan durch.

Ließe sich der Rspamd Virusscan bei Weiterleitung deaktivieren?
KeksDipp
Posts: 71
Joined: Sun 17. Jan 2021, 18:03

Re: Rspamd: Spamfilter besser trainieren?

Post by KeksDipp »

Vielleicht erbarmt sich nochmal jemand mir zu helfen bzw. mich aufzuklären.

Nach den erklärungen hier habe ich für meine DNSBL Listen jetzt ein Unbound Server. Und dieser löst auch fleißig die DNS anfragen meines Keyhelp Servers auf laut Log und Tests mit dig.

Am ersten Tag haben die DNSBL Listen auch funktioniert. Und nun werden meine DNSBL anfragen wieder geblockt zumindest bekomme ich keine erwartet Antwort von den Listen laut Rspamd Log.

Rspamd Log:

Code: Select all

2025-01-28 20:48:04 #128131(controller) <k4k3se>; monitored; rspamd_monitored_dns_cb: DNS reply returned 'no error' for bl.score.senderscore.com while 'no records with this name' was expected when querying for '1.0.0.127.bl.score.senderscore.com'(likely DNS spoofing or BL internal issues)

2025-01-28 21:03:13 #128131(controller) <k4k3se>; monitored; rspamd_monitored_dns_cb: DNS reply returned 'no error' for bl.score.senderscore.com while 'no records with this name' was expected when querying for '1.0.0.127.bl.score.senderscore.com'(likely DNS spoofing or BL internal issues)

2025-01-28 21:03:52 #128131(controller) <1ccygw>; monitored; rspamd_monitored_dns_cb: DNS reply returned 'no error' for dwl.dnswl.org while 'no records with this name' was expected when querying for 'pHuJlFCra_EZ7-aw7.dwl.dnswl.org'(likely DNS spoofing or BL internal issues)

Zum Abgleich der Log von Unbound:

Code: Select all

Jan 28 20:48:04 xxx unbound[131987]: [1738093684] unbound[131987:0] info: 127.0.0.1 1.0.0.127.bl.score.senderscore.com. A IN

Jan 28 21:03:13 xxx unbound[132379]: [1738094593] unbound[132379:0] info: 127.0.0.1 1.0.0.127.bl.score.senderscore.com. A IN

Jan 28 21:03:52 xxx unbound[132379]: [1738094632] unbound[132379:0] info: 127.0.0.1 pHuJlFCra_EZ7-aw7.dwl.dnswl.org. A IN
Stelle ich mit einem kleinem Server und ca. 300 Mails am Tag so viele Anfragen das ich das Rate Limit erreiche? Oder wird ggf. das Netz von meinem Hosting anbieter Limitiert?

Vielleicht kann mir dabei jemand weiterhelfen.

Vielen Dank im vorraus.
Mit besten Grüßen
Alex
Blubby
Posts: 70
Joined: Tue 5. Mar 2024, 13:10

Re: Rspamd: Spamfilter besser trainieren?

Post by Blubby »

KeksDipp wrote: Tue 28. Jan 2025, 21:11 Vielleicht erbarmt sich nochmal jemand mir zu helfen bzw. mich aufzuklären.


Stelle ich mit einem kleinem Server und ca. 300 Mails am Tag so viele Anfragen das ich das Rate Limit erreiche? Oder wird ggf. das Netz von meinem Hosting anbieter Limitiert?
Was da genau schief läuft kann ich dir leider auch nicht sagen. Bei mir läuft das mit Unbound reibungslos und 300 Anfragen sollten auf keinen Fall für das Rate Limit reichen insbesondere weil unbound ja auch noch cacht.
tab-kh
Posts: 564
Joined: Thu 22. Apr 2021, 23:06

Re: Rspamd: Spamfilter besser trainieren?

Post by tab-kh »

Naja, Unbound cacht, aber die TTLs sind bei den Listen in der Regel eher kurz. Bis die nächste Mail dran ist muss er wohl meist eine neue Anfrage starten. Trotzdem sollten 300 Anfragen doch eigentlich nicht mal in die Nähe eines Rate Limit kommen.

Ich frag mich ja sowieso schon eine Weile, warum der rspamd den Senderscore von localhost abfragt? Oder auch andere Listen. Weil da Mail intern auf dem Server verschoben wird und er den Absender überprüft? Das wäre ja wohl sehr sinnig :roll:. Oder welchen tieferen Sinn hat das? Ersetzt die Liste die 127.0.0.1 dann durch die IP, von der die Anfrage kommt? Da hätte sie ja viel zu tun. Bisher ist rspamd noch nicht mein allerbester Freund, die genaue Funktionsweise habe ich noch nicht durchschaut. Insbesondere eben auch das mit den Listenabfragen für 127.0.0.1, die habe ich auch reichlich in den Unbound Logs.
Post Reply