Proxmox Mail Gateway DMARC / Postqueue

Jul 3, 2023
3
0
1
Hallo zusammen,

ich habe momentan das Proxmox Mail Gateway in der Version 7.3-6 im Einsatz.
Zudem habe ich opendkim und opendmarc installiert und an Postfix angeschlossen.
Soweit funktioniert auch alles.
Jedoch habe ich im opendmarc Daemon eingestellt, dass die DMARC-Policy ausgewertet werden soll, also bei einem DKIM oder SPF Fail soll die Nachricht anhand des DMARC-Eintrags der Senderdomain gehandhabt werden.
Dies scheint auch zu funktionieren.
Jedoch sehe ich in der Postfix Queue
Bash:
postqueue -j
viele Nachrichten, die in der Queue hängen.
In der PMG UI Administration -> Queue sehe ich nur ein paar der Mails, die in der Queue hängen. Die Mail die ich nicht in der UI sehe sind Mails, die den SPF oder DKIM test nicht bestanden haben. Ich sehe in der UI lediglich Mails mit falschem Empfänger, z.B. gmail.de / googelmail.de etc.
Ich sehe die Mails auch nicht im Tracking Center oder in den Spam Queues.

Gibt es eine Möglichkeit die komplette Queue auf der UI darzustellen? Momentan muss ich mir die Nachrichten mit postcat händisch ansehen und danach mit postqueue löschen.


Ich hoffe die Informationen sind ausreichend.

Vielen Dank im Voraus
Viele Grüße
Niko :)
 
Bitte mal die logs zu einer derartigen mail teilen - vielleicht sehen wir da was das Thema ist - aber es klingt so als müsste vielleicht die opendkim/opendmarc Konfiguration etwas angepasst werden....
 
  • Like
Reactions: kauf
Hallo,

vielen Dank für die schnelle Antwort.
Hier sind zwei Beispiele von Mails, die in der Queue hängen und in der Proxmox UI nicht angezeigt werden:

Beispiel 1:
Postcat Ausgabe:

Code:
*** ENVELOPE RECORDS hold/280A6C50AD ***
message_size:            1421             812               1               0            1421               0
message_arrival_time: Mon Jul  3 07:55:32 2023
create_time: Mon Jul  3 07:55:33 2023
content_filter: scan:127.0.0.1:10024
named_attribute: log_ident=280A6C50AD
named_attribute: rewrite_context=remote
sender: test@domain.org
named_attribute: encoding=7bit
named_attribute: log_client_name=mx.domain.ro
named_attribute: log_client_address=1.2.3.4
named_attribute: log_client_port=39258
named_attribute: log_message_origin=mx.domain.ro[1.2.3.4]
named_attribute: log_helo_name=mail.domain.org
named_attribute: log_protocol_name=ESMTP
named_attribute: client_name=mx.domain.ro
named_attribute: reverse_client_name=mx.domain.ro
named_attribute: client_address=1.2.3.4
named_attribute: client_port=39258
named_attribute: server_address=10.128.1.2
named_attribute: server_port=25
named_attribute: helo_name=mail.domain.org
named_attribute: protocol_name=ESMTP
named_attribute: client_address_type=2
warning_message_time: Mon Jul  3 11:55:32 2023
named_attribute: dsn_orig_rcpt=rfc822;user@receiver.de
original_recipient: user@receiver.de
recipient: user@receiver.de
*** MESSAGE CONTENTS hold/280A6C50AD ***
Received-SPF: softfail (domain.org: Sender is not authorized by default to use 'test@domain.org' in 'mfrom' identity, however domain is not currently prepared for false failures (mechanism '~all' matched)) receiver=mymailserver.de; identity=mailfrom; envelope-from="test@domain.org"; helo=mail.domain.org; client-ip=1.2.3.4
Authentication-Results: OpenDMARC; dmarc=fail (p=quarantine dis=quarantine) header.from=domain.org
Received: from mail.domain.org (mx.domain.ro [1.2.3.4])
        by mymailserver.de (Proxmox) with ESMTPS id 280A6C50AD
        for <user@receiver.de>; Mon,  3 Jul 2023 07:55:32 +0200 (CEST)
X-Virus-Scanned: amavisd-new at mail.domain.org
Received: from [5.6.7.8] (unknown [5.6.7.8])
        by mail.domain.org (Postfix) with ESMTPSA id 1C57915FE80;
        Sun,  2 Jul 2023 22:26:58 +0000 (UTC)
Content-Type: text/plain; charset="iso-8859-1"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Description: Mail message body
Subject: Re: Spende
To: Recipients <test@domain.org>
From: "Firstname Lastname" <test@domain.org>
Date: Sun, 02 Jul 2023 15:27:00 -0700
Reply-To: someuser@gmail.com
Message-Id: <20230702222658.1C57915FE80@mail.domain.org>

Sie haben eine Spende von 4.500.000,00 $ von Firstname Lastname erhalten,=
 die 426.000.000,00 $ aus dem Powerball-Jackpot gewonnen hat. Antworten Sie=
 zur=FCck, um weitere Informationen zum Erhalt Ihres Anspruchs zu erhalten.=
 Danke sch=F6n!
*** HEADER EXTRACTED hold/280A6C50AD ***
named_attribute: encoding=7bit
*** MESSAGE FILE END hold/280A6C50AD ***

Postfix Logs:

Code:
/var/log/mail.info:Jul  3 07:55:33 mailgw1 postfix/smtpd[75713]: 280A6C50AD: client=mx.domain.ro[1.2.3.4]
/var/log/mail.info:Jul  3 07:55:33 mailgw1 postfix/cleanup[75760]: 280A6C50AD: message-id=<20230702222658.1C57915FE80@mail.domain.org>
/var/log/mail.info:Jul  3 07:55:33 mailgw1 opendmarc[25678]: 280A6C50AD: domain.org fail
/var/log/mail.info:Jul  3 07:55:33 mailgw1 postfix/cleanup[75760]: 280A6C50AD: milter-hold: END-OF-MESSAGE from mx.domain.ro[1.2.3.4]: milter triggers HOLD action; from=<test@domain.org> to=<user@receiver.de> proto=ESMTP helo=<mail.domain.org>
/var/log/mail.log:Jul  3 07:55:33 mailgw1 postfix/smtpd[75713]: 280A6C50AD: client=mx.domain.ro[1.2.3.4]
/var/log/mail.log:Jul  3 07:55:33 mailgw1 postfix/cleanup[75760]: 280A6C50AD: message-id=<20230702222658.1C57915FE80@mail.domain.org>
/var/log/mail.log:Jul  3 07:55:33 mailgw1 opendmarc[25678]: 280A6C50AD: domain.org fail
/var/log/mail.log:Jul  3 07:55:33 mailgw1 postfix/cleanup[75760]: 280A6C50AD: milter-hold: END-OF-MESSAGE from mx.domain.ro[1.2.3.4]: milter triggers HOLD action; from=<test@domain.org> to=<user@receiver.de> proto=ESMTP helo=<mail.domain.org>


Beispiel 2:
Postcat Ausgabe:

Code:
*** ENVELOPE RECORDS hold/424F2C00DA ***
message_size:          311242             722               1               0          311242               2
message_arrival_time: Fri Jun 30 13:23:47 2023
create_time: Fri Jun 30 13:23:49 2023
content_filter: scan:127.0.0.1:10024
named_attribute: log_ident=424F2C00DA
named_attribute: rewrite_context=remote
sender: webmaster@sender.de
named_attribute: log_client_name=unknown
named_attribute: log_client_address=1.2.3.4
named_attribute: log_client_port=39690
named_attribute: log_message_origin=unknown[1.2.3.4]
named_attribute: log_helo_name=mail.sender.de
named_attribute: log_protocol_name=ESMTP
named_attribute: client_name=unknown
named_attribute: reverse_client_name=unknown
named_attribute: client_address=1.2.3.4
named_attribute: client_port=39690
named_attribute: server_address=10.128.1.2
named_attribute: server_port=25
named_attribute: helo_name=mail.sender.de
named_attribute: protocol_name=ESMTP
named_attribute: client_address_type=2
warning_message_time: Fri Jun 30 17:23:47 2023
named_attribute: dsn_orig_rcpt=rfc822;info@receiver.de
original_recipient: info@receiver.de
recipient: info@receiver.de
*** MESSAGE CONTENTS hold/424F2C00DA ***
Received-SPF: softfail (sender.de: Sender is not authorized by default to use 'webmaster@sender.de' in 'mfrom' identity, however domain is not currently prepared for false failures (mechanism '~all' matched)) receiver=mymailserver.de; identity=mailfrom; envelope-from="webmaster@sender.de"; helo=mail.sender.de; client-ip=1.2.3.4
Authentication-Results: OpenDMARC; dmarc=fail (p=quarantine dis=quarantine) header.from=sender.de
Received: from mail.sender.de (unknown [1.2.3.4])
        by mymailserver.de (Proxmox) with ESMTP id 424F2C00DA
        for <info@receiver.de>; Fri, 30 Jun 2023 13:23:47 +0200 (CEST)
Received: from User (unknown [5.6.7.8])
        by mail.sender.de (Postfix) with ESMTPA id 8701F485A26;
        Thu, 29 Jun 2023 08:27:17 +0800 (CST)
Reply-To: <someuser2@gmail.com>
From: "R<E9>f/15062023UN/ESEU023"<webmaster@sender.de>
Subject: R<E9>f/15062023UN/ESEU023
Date: Wed, 28 Jun 2023 17:24:56 -0700
MIME-Version: 1.0
Content-Type: multipart/mixed;
        boundary="----=_NextPart_000_00C8_01C2A9A6.4D34B5EC"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2600.0000
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000

This is a multi-part message in MIME format.

------=_NextPart_000_00C8_01C2A9A6.4D34B5EC
Content-Type: text/plain;
        charset="Windows-1251"
Content-Transfer-Encoding: 7bit


Postfix Logs:

Code:
/var/log/mail.info.1:Jun 30 13:23:49 mailgw1 postfix/smtpd[1969]: 424F2C00DA: client=unknown[1.2.3.4]
/var/log/mail.info.1:Jun 30 13:23:49 mailgw1 postfix/cleanup[1973]: 424F2C00DA: message-id=<>
/var/log/mail.info.1:Jun 30 13:23:50 mailgw1 opendmarc[633]: 424F2C00DA: sender.de fail
/var/log/mail.info.1:Jun 30 13:23:50 mailgw1 postfix/cleanup[1973]: 424F2C00DA: milter-hold: END-OF-MESSAGE from unknown[1.2.3.4]: milter triggers HOLD action; from=<webmaster@sender.de> to=<info@receiver.de> proto=ESMTP helo=<mail.sender.de>
/var/log/mail.log.1:Jun 30 13:23:49 mailgw1 postfix/smtpd[1969]: 424F2C00DA: client=unknown[1.2.3.4]
/var/log/mail.log.1:Jun 30 13:23:49 mailgw1 postfix/cleanup[1973]: 424F2C00DA: message-id=<>
/var/log/mail.log.1:Jun 30 13:23:50 mailgw1 opendmarc[633]: 424F2C00DA: sender.de fail
/var/log/mail.log.1:Jun 30 13:23:50 mailgw1 postfix/cleanup[1973]: 424F2C00DA: milter-hold: END-OF-MESSAGE from unknown[1.2.3.4]: milter triggers HOLD action; from=<webmaster@sender.de> to=<info@receiver.de> proto=ESMTP helo=<mail.sender.de>


Viele Grüße
Niko :)
 
  • Like
Reactions: kauf
Hallo,


danke für die Rückmeldung.
Ich habe nun in der opendmarc.conf konfiguriert, dass die E-Mails bei einem fehlgeschlagenen Check nicht Rejected werden. Jetzt müssten sie nur im Header "dmarc=fail" haben. Dazu habe ich eine SpamAssassin Rule erstellt, welche den Header nach "dmarc=fail" checked und ihm einen custom score gibt.
Ich werde die Queues in den nächsten Tagen weiter überprüfen und hoffe, dass die Mails jetzt nicht mehr in der Hold Queue stecken bleiben.
Vielen Dank für die Erklärung mit der Hold-Queue.


Viele Grüße
Niko
 
naja, da würde ich überlegen ob opendmarc dann überhaupt noch gebraucht wird - SpamAssassin hat an und für sich Regeln, die DMARC policy auswerten und dementsprechend Punkte vergeben - vielleicht ist es um einiges einfacher einfach da die Scores in der GUI anzupassen.

ein match auf einen string im header alleine - hat das Potential, dass jemand das absichtlich in die mail einschleust... (oder irgend ein anderer host auf dem Weg der mail einen falsch konfigurierten dmarc-check hat...)


Ich hoffe das hilft!
 
  • Like
Reactions: kauf

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!