PMG Gateway-Config für Wordpress

dRei

Member
Oct 15, 2021
10
1
8
37
Hallo zusammen,

leider habe ich gerade gefühlt seit ein paar Tagen ein Brett vorm Kopf. Folgendes Szenario:

Früher habe ich RSPAMd genutzt, welches ich nun durch das Proxmox MG abgelöst habe. Es funktioniert auch alles reibungslos nur habe ich aktuell ein paar Probleme die Konfiguration perfekt zu bekommen.

Ich betreibe in meinem eigenen IPv4 Subnetz zusätzlich einen Web-Server, welcher mehrere Wordpress Instanzen hostet. Früher habe ich die Mails vom Wordpress direkt an den Mail-Server gegeben. Hier ist dann RSpamd aktiv geworden, hat gefiltert und dann ggf. die Mail in das Postfach gelegt. Um diesen zustand nun wieder zu bekommen, habe ich anstelle dem Mail-Server direkt hier wieder das mein Gateway als Server eingetragen. Wenn nun Wordpress versucht eine Mail an eine Interne Domaine zu senden klappt das wunderbar (Kontaktformular-Anfragen z.B.).

Problematisch wird es nun wenn die Wordpress-Instanz versucht eine Mail an eine Externe Domain zu senden. Hier lehnt das PMG logischerweise die Mail ab mit dem Hinweis, dass Relay-Access nicht erlaubt ist. Wenn ich nun wieder meinen Mail-Server direkt als Mail-Handler eintrage klappt zwar das senden von Mails an extern wieder, da das PMG auch alle ausgehenden Mails meines Mail-Servers als Relay erhält, aber alle über das Kontaktformular eingehenden Spams landen ungefiltert beim Empfänger.

Wenn ich nun im WP den internen Relay-Port eintrage (26) klappen zwar ausgehende Mails und eingehende Mails, aber es findet irgendwie keine Filterung statt. Selbst wenn ich eine Mail die vorher vom PMG gefiltert wurde 1:1 über das Kontaktformular eintrage und absende landet diese trotzdem ungefiltert beim Empfänger. Muss ich noch weitere Einstellungen vornehmen, damit auch auf dem Port 26 genauso gefiltert wird wie auf 25?

Beste Grüße,
Michael
 
Ohne das Setup genauer zu kennen etwas schwierig eine treffsichere Aussage zu machen - aber ich glaube das dein letztes Setup (WP sendet an den internen Port des PMG) schon der richtige Weg ist - Du musst aber eine Regel machen, welche Outbound mails auf Spam untersucht, und ab einem bestimmten Schwellenwert blockiert (oder in die Quarantäne verschiebt).. - siehe:
https://pmg.proxmox.com/pmg-docs/pmg-admin-guide.html#chapter_mailfilter

Eine Andere Frage ist, warum eine WP Seite an beliebige Adressen im Netz Mails schicken muss?

Ich hoffe das hilft!
 
Vielen Dank für die Antwort.
So habe ich es nun auch gemacht. Leider ist das im Moment nicht 100% zufriedenstellend, da bei der Spam-Prüfung ja auch dann DKIM/SPF geprüft werden und der sendende Server dann natürlich theoretisch ein "nicht autorisierter" Server ist. Somit haben einfach grundsätzlich alle Mails die an interne Adressen gehen einen hohen Score. Musste jetzt mit Grenzwerten um 8 herum spielen, um ein einigermaßen akzeptables Ergebnis zu erzielen. Außerdem musste ich die Regel noch erweitern, dass die Quarantäne nur für meine Relay-Domains greift und nicht auch für Externe. Hierfür habe ich ein neues WER? Objekt mit den internen Domains angelegt. Wäre cool, wenn es eine solche Verknüpfung direkt geben könnte, so müsste man nicht zwei Listen Pflegen.

Eine Andere Frage ist, warum eine WP Seite an beliebige Adressen im Netz Mails schicken muss?
Relativ einfach zu beantworten: WooCommerce wird auf den Seiten als Shop-Lösung eingesetzt. Natürlich muss der Shop den Kunden dann auch Bestellbestätigungen etc. senden können. Ferner gibt es ja auch einige Wordpress-Seiten die Benutzer-Registrierungen erlauben. So ein Setup ist also garnicht so ungewöhnlich m.E..
 
Somit haben einfach grundsätzlich alle Mails die an interne Adressen gehen einen hohen Score.
Die Scores für fehlendes/falsches SPF und DKIM sind in der SpamAssassin standardconfig normalerweise sehr niedrig (0.01 ) - insofern würde ich mal schauen welche Regeln sonst noch greifen. - Ansonsten kann auch ein interner DNS-Server verwendet werden, welcher die IPs der Wordpress Seiten im SPF record hat (im Gegensatz zum Public DNS).

Hierfür habe ich ein neues WER? Objekt mit den internen Domains angelegt.
Klingt soweit gut.

Relativ einfach zu beantworten: WooCommerce wird auf den Seiten als Shop-Lösung eingesetzt. Natürlich muss der Shop den Kunden dann auch Bestellbestätigungen etc. senden können. Ferner gibt es ja auch einige Wordpress-Seiten die Benutzer-Registrierungen erlauben. So ein Setup ist also garnicht so ungewöhnlich m.E..
Ist natürlich ein legitimer use-case - alternativ kenne ich auch Configs, bei der die Wordpress die mails über 587 mit SMTP-Auth an den internen Mailserver schicken (der dann über PMG weiterrelayed)
 
Ist natürlich ein legitimer use-case - alternativ kenne ich auch Configs, bei der die Wordpress die mails über 587 mit SMTP-Auth an den internen Mailserver schicken (der dann über PMG weiterrelayed)
Natürlich mit dem Nachteil, dass Nachrichten des Kontaktformulars ungefiltert und direkt in die Inboxen der Benutzer gelangen.
Die Scores für fehlendes/falsches SPF und DKIM sind in der SpamAssassin standardconfig normalerweise sehr niedrig (0.01 ) - insofern würde ich mal schauen welche Regeln sonst noch greifen. - Ansonsten kann auch ein interner DNS-Server verwendet werden, welcher die IPs der Wordpress Seiten im SPF record hat (im Gegensatz zum Public DNS).
Ansich schon richtig. Wenn man aber ein DMARC reject gesetzt hat, macht das schon einen massiven Unterschied:
1634561624479.png
Bei dieser Mail handelt es sich um eine legitime Bestellbestätigung, welche an den Händler gesendet werden soll. FREEMAIL_FORGED_REPLYTO ist eine Komfort-Funktion des Web-Shops. Wenn der Händler auf diese Mail Antwortet geht die Antwort direkt an den Kunden (was ja auch Sinn ergibt).
Der einzige Parameter an dem ich selbst noch schrauben könnte ist m.E. RDNS_NONE. Aber selbst wenn ich das behebe bleibe ich bei einem extrem hohen Spam-Score trotz legitimer Nachricht.
 
Gibt es aktuell nur die Idee des eigenen internen DNS-Servers? Das ist irgendwie wenig zufriedenstellend. Gibt es eine Möglichkeit, wie ich das Spam-Level abhängig von Absender/Empfänger selbst modifizieren kann? Bislang habe ich nur die generelle Möglichkeit gefunden SpamScores für alle Mails anzupassen. Super wäre natürlich auch, wenn sowas als Aktions-Objekt möglich ist, damit man bei Mails von der eigenen Domaine zumindestens die DMARC_Reject Policy runter setzen kann. In dem Moment hätte ich die Mail ja in korrekter weise behandelt und ich müste nicht mit so hohen Spam-Scores arbeiten.
Beispiel:
Regel für Ausgehende Mails:
AKTIONS-OBJEKT: Reduce Spam level (-5)
AN: Relay-Domains
VON: Relay-Domains
 
. Gibt es eine Möglichkeit, wie ich das Spam-Level abhängig von Absender/Empfänger selbst modifizieren kann?
In dem Fall kann potentiell eine custom SpamAssassin Config helfen - siehe
https://pmg.proxmox.com/pmg-docs/pmg-admin-guide.html#_custom_spamassassin_configuration
https://cwiki.apache.org/confluence/display/SPAMASSASSIN/TrustedRelays
https://spamassassin.apache.org/full/3.4.x/doc/Mail_SpamAssassin_Conf.html

(die Wordpress als trusted relay einfügen).

Super wäre natürlich auch, wenn sowas als Aktions-Objekt möglich ist, damit man bei Mails von der eigenen Domaine zumindestens die DMARC_Reject Policy runter setzen kann.
pmg-smtp-filter hat jeweils nur eine SpamAssassin config geladen (alles andere wäre aus performancegründen nicht möglich) - sprich eine per mail policy ist so nicht machbar.

Eine weitere Option wäre es eine 2. PMG instanz für diese spezifischen Clients aufzusetzen (trusted IPs, but can also send spam)

Ich hoffe das hilft!
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!