Hallo Forum,
ich habe bei einem Kunden im internen Netz einen Exchange-Mailserver stehen. Der Kunde hatte vorher eine SOPHOS-UTM und nun eine OPNsense. Bei der SOPHOS habe ich das Mailfiltering aktiv gehabt.
Nun klagt der Kunde über ein stark gestiegenes SPAM-Aufkommen und dass einige seiner Kunden ihm keine Mails mehr schreiben können.
Ich habe das Mailgateway bei der OPNsense gemäß der Onlinehilfe postfix, clamav, rspamd und redis aufgesetzt und auf Standardeinstellungen gelassen.
Nun habe ich zwei Fragen dazu:
a) Was kann ich in den o.g. Plugins noch einstellen, damit weniger SPAM ankommt? Greylisting, DMARC, SPF usw. lassen sich ja nirgends einstellen.
b) Das einige seiner Kunden keine Mails schicken können, könnte vielleicht an einem fehlenden HELO oder so liegen? Oder fällt Euch da was Anderes zu ein?
Oder sollte ich pauschal eine VM (dort läuft auch Proxmox) mit dem Proxmox Mail-Gateway aufsetzen? Wobei ich die Lösung in der Firewall charmanter finde...
Vielen Dank im Voraus.
Gruß
Christoph
Wir haben im RZ rspamd im Einsatz und der kann eine Menge von dem, was du geschrieben hast. Ich hatte ihn noch nicht auf der Sense im Betrieb, aber das rspamd UI sollte doch getrennt erreichbar sein? So wie bei AdGuard Home z.B. auch.
Hallo Patrick,
vielen Dank für die Nachricht. Auf der Sense hat rspamd kein eigenes UI, außer den Einstellungen über das UI der Sense selber. Das gibt aber nicht viel her. Wie gesagt, habe ich z.B. nicht mal Greylisting gefunden.
Mach auf LAN (oder deinem dedizierten Admin-Netz falls vorhanden) ein Port-Forward für TCP Port 11334 nach 127.0.0.1.
Admin-Passwort setzen mit
rspamadm configwizard
per SSH.
Jetzt war ich mal neugierig - das OPNsense UI bietet doch auch schon eine ganze Menge?
Uups,
ich habe die Pulldown-Menüs übersehen. Da ist ja noch mehr :-). Dann werde ich mir mal die Doku von rspamd reinziehen und schauen, wie die Scores zu setzen sind.
Danke für's Augenöffnen :-).
Ich greife das Thema nochmal auf, da der Kunde über "tonnenweise" SPAM-E-Mails klagt, seit wir die Sophos gegen die Sense getauscht haben.
Kann mir jemand mit vernünftigen Parametern für rspamd aushelfen, die gut funktionieren? Und ggfs. für die anderen Plugins, die für den Gateway-Betrieb notwendig sind (redis, postfix. clamav).
Besten Dank im Voraus.
Vielleicht besser die rspamd Community finden und dort fragen?
Dazu fällt mir gerade noch ein: die einzige Installation in meiner Nähe, bei der ich aber auch nicht "schnell" besorgen kann, wie die konfiguriert ist, markiert Spam nur und blockiert keine Mails. Wegsortieren tun die Anwender das mit Regeln selbst.
Weiß nicht, ob das der Default oder der einzige Modus von rspamd ist.
Pauschal ist das immer schwer zu sagen, weil es ja sehr unterschiedliche Anforderungen gibt.
1. Ne gute Blocklist in der Firewall hilft schonmal als erstes. Mindestens Spamhaus Drop / Emerging Threats.
2. Wenn kleiner Server mit überschaubarem Nutzerkreis: Geoblocking auf die üblichen Verdächtigen, wenn dorthin keine Kontakte, hilft jede Menge.
3. Postfix: DNS streng prüfen. Kein korrekten reverse DNS > kein Einlieferung hilft gegen all die gekaperten Kisten, wo der Spammer den reverse DNS nicht kontrolliert. Auf jeden Fall postfix.log lesen, um zu sehen was so passiert.
4. Rspamd WebUI ist eigentlich ganz gut. In der History kann man zu jeder Mail die Scores angucken, danach entscheiden, was warum wie gefiltert werden muß, oder nicht erkannt wurde.
5. Einige Rspamd Filter müssen trainiert werden, solange da nicht genug vorliegt arbeiten die nicht.
Hoffe das hilft ein bißchen, chris
Quote from: Patrick M. Hausen on June 11, 2025, 07:11:34 PMMach auf LAN (oder deinem dedizierten Admin-Netz falls vorhanden) ein Port-Forward für TCP Port 11334 nach 127.0.0.1.
Meinst Du So:
Und dann im Browser http://127.0.0.1:11334 aufrufen ?
Im Browser IP-Adresse der OPNsense plus Portnummer, nicht 127.0.0.1.
Associated Firewall Rule in der NAT Regel auf Pass stellen.
Ich habe mir den rspamd gerade mal angeschaut - der unterstützt ein paar Dinge, die ich auch nutze, wie Greylisting, SPF und DKIM. Die Hauptfunktion ist aber Content Scanning, was nach meiner Erfahrung gar nicht so viel bringt.
Ich nutze tatsächlich das Proxmox Mail Gateway, weil es zwei Mechanismen unterstützt, die extrem viel Mist a priori wegfiltern können, nämlich Blacklists und vor allem Receiver Verification (https://pmg.proxmox.com/pmg-docs/pmg-admin-guide.html#pmgconfig_mailproxy_options). Es ist ja ein Unterschied, ob man zufällig erzeugte Adressen gleich vorab ausfiltern kann oder nicht (setzt natürlich voraus, dass man keine "Catch-All"-Adressen verwendet). Beim rspamd habe ich diese Funktion nicht gefunden.
Bei Blacklists nehme ich dnswl.org als Whitelist und ZEN Blocklist (nicht alle Typen) und Nordspam als Blacklists, die Kombination ist für Deutschland ziemlich effektiv ohne zu viele fehlerhafte Abweisungen.
Die DNSBL-Einstellung im PMG ist: list.dnswl.org*-9 zen.spamhaus.org=127.0.0.[2..11]*1 bl.nordspam.com*1
bei einem Threshold von 1.
Quote from: meyergru on June 15, 2025, 06:07:34 PMvor allem Receiver Verification (https://pmg.proxmox.com/pmg-docs/pmg-admin-guide.html#pmgconfig_mailproxy_options)
Wie funktioniert das denn auf dem Gateway, woher bekommt das die Empfänger Datenbank? An sich macht das postfix direkt, aber wenn man ein Gateway davor hat, muß das Gwateway das alles wissen? Ich weiß nicht genau wie das Opnsense Gateway das macht, das ist einer der Gründe, warum ich nicht so ein Freund von Mail Gateways auf der Firewall bin, sondern lieber postfix direkt nehme. Aber wenn man exchange braucht, kommt man wohl nicht drumrum.
Quote from: meyergru on June 15, 2025, 06:07:34 PMix.dnsbl.manitu.net
Existiert leider nicht mehr. https://nixspam.net/ (https://nixspam.net/) und insbesondere https://nixspam.net/help/administrator/ (https://nixspam.net/help/administrator/).
Ist wirklich schade.
Grüße, chris
Quote from: chrs on June 15, 2025, 07:11:44 PMWie funktioniert das denn auf dem Gateway, woher bekommt das die Empfänger Datenbank?
Es macht während des SMTP-Dialogs mit dem sendenden Server für jedes RCPT TO, bei dem die Domain mal prinzipiell in Ordnung ist, über eine zweiter Verbindung ein VRFY mit dem tatsächlichen Ziel-Server.
Alles vorgesehen im Protokoll.
Quote from: chrs on June 15, 2025, 07:11:44 PMQuote from: meyergru on June 15, 2025, 06:07:34 PMvor allem Receiver Verification (https://pmg.proxmox.com/pmg-docs/pmg-admin-guide.html#pmgconfig_mailproxy_options)
Wie funktioniert das denn auf dem Gateway, woher bekommt das die Empfänger Datenbank? An sich macht das postfix direkt, aber wenn man ein Gateway davor hat, muß das Gwateway das alles wissen? Ich weiß nicht genau wie das Opnsense Gateway das macht, das ist einer der Gründe, warum ich nicht so ein Freund von Mail Gateways auf der Firewall bin, sondern lieber postfix direkt nehme. Aber wenn man exchange braucht, kommt man wohl nicht drumrum.
Quote from: meyergru on June 15, 2025, 06:07:34 PMix.dnsbl.manitu.net
Existiert leider nicht mehr. https://nixspam.net/ (https://nixspam.net/) und insbesondere https://nixspam.net/help/administrator/ (https://nixspam.net/help/administrator/).
Ist wirklich schade.
Grüße, chris
Aha, wusste ich nicht, hab's gerade rausgenommen und oben geändert. Die anderen funktionieren aber ohne Probleme, es gibt auch noch Alternativen...
Und wie Patrick gesagt hat: VRFY, es nutzt aber auch einen Datenbank-Cache nach dem ersten Mal. Intern nutzt PMG übrigens Postfix. Wenn man es auch als Outbound SMTP Relay nutzen will, muss man ggf. noch ein bisschen händisch was tun für Authentication. Ich betreibe das Ding natürlich bei einem Hoster, nicht über eine dynamische Einwahlleitung. Damit bekommt man dann auch die feste IP, die zum Versenden unabdingbar ist. Und für die Weiterleitung an die Downstream-Server kann man eben die Postfix Transports verwenden. Wenn dann ein Endpunkt mal offline ist, wird eben gepuffert.
Quote from: meyergru on June 15, 2025, 08:38:16 PMWenn man es auch als Outbound SMTP Relay nutzen will, muss man ggf. noch ein bisschen händisch was tun für Authentication.
Muss? Nein. Läuft bei mir ootb auf Port 26. Vielleicht sollte ich das aber ändern?
Bei PMG ist der Versand eigentlich nicht vorgesehen, denn es ist eher ein eingehendes Gateway. Wenn man PMG also auch für ausgehende E-Mail verwenden möchte, sollte man von seiner Einwahl-Site (Downstream Postfix) aus ja irgendeine Authentifizierung machen, um zu verhindern, dass jedermann darüber versenden kann und es keine andere Möglichkeit für die Zugangskontrolle gibt (z.B. Firewall-Regel mit fester IP).
Ich habe also das Template /etc/pmg/templates/master.cf.in so angepasst:
# UMG
[% pmg.mail.int_port %] inet n - - - [% pmg.mail.max_smtpd_out %]
smtpd
[% IF pmg.mail.before_queue_filtering -%]
-o smtpd_proxy_filter=127.0.0.1:10023
-o smtpd_proxy_options=speed_adjust
-o smtpd_client_connection_count_limit=[% pmg.mail.conn_count_limit div 5 %]
[%- ELSE -%]
-o content_filter=scan:127.0.0.1:10023
[%- END %]
-o { smtpd_recipient_restrictions=permit_mynetworks,check_sasl_access texthash:/etc/post
fix/sasl_access,permit_sasl_authenticated,reject_unauth_destination }
-o smtpd_helo_restrictions=
-o smtpd_client_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_data_restrictions=
-o smtpd_forbid_bare_newline=no
-o smtpd_sasl_auth_enable=yes
-o broken_sasl_auth_clients=yes
-o smtpd_sasl_security_options=noanonymous
-o smtpd_tls_auth_only=yes
Entsprechend können die Downstream-Server per SASL authentifiziert werden.
Quote from: meyergru on June 15, 2025, 09:55:40 PMBei PMG ist der Versand eigentlich nicht vorgesehen
Da kann ich nicht mitgehen. Er ist vorgesehen, sogar out of the box, auf Port 26. Gleichwohl ist es natürlich klüger, das abzusichern. Hab das jetzt mal auf IP-Ebene gemacht, mit so einer ominösen, ausgehenden Floating Rule auf dem PMG-Interface, welche bis auf meine Ausnahmen alles auf Port 26 rejected. Also trotzdem Danke @meyergru. Deine Lösung war mir zu professionell, da nur ein Homeuser.
Quote from: Patrick M. Hausen on June 15, 2025, 07:41:29 PMQuote from: chrs on June 15, 2025, 07:11:44 PMWie funktioniert das denn auf dem Gateway, woher bekommt das die Empfänger Datenbank?
Es macht während des SMTP-Dialogs mit dem sendenden Server für jedes RCPT TO, bei dem die Domain mal prinzipiell in Ordnung ist, über eine zweiter Verbindung ein VRFY mit dem tatsächlichen Ziel-Server.
Alles vorgesehen im Protokoll.
Das funktioniert mit Exchange nicht, ich habe da vor einiger Zeit mal was für den Eigengebrauch gebastelt, das sich die Empfänger aus dem LDAP holt.
https://github.com/bimbar/os-ldap2postfix
Kann noch funktionieren, muss aber nicht.