为什么 OpenDMARC 使用我的(收件人)配置来接收邮件?

为什么 OpenDMARC 使用我的(收件人)配置来接收邮件?

最近,我的邮件服务器拒绝了一些来信,原因是 DMARC 检查失败。仔细检查后,我注意到日志提到拒绝是因为 OpenDMARC 应用了我的策略而不是发件人的策略。以下是失败的 Exchange 发送邮件的示例(略作删节[email protected][email protected]

postfix/smtpd[19698]: connect from mail-eopbgr80052.outbound.protection.outlook.com[40.107.8.52]
postfix/smtpd[19698]: Anonymous TLS connection established from mail-eopbgr80052.outbound.protection.outlook.com[40.107.8.52]: TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)
policyd-spf[19706]: Pass; identity=helo; client-ip=40.107.8.52; helo=eur04-vi1-obe.outbound.protection.outlook.com; [email protected]; [email protected]
policyd-spf[19706]: Pass; identity=mailfrom; client-ip=40.107.8.52; helo=eur04-vi1-obe.outbound.protection.outlook.com; [email protected]; [email protected]
postfix/smtpd[19698]: 3578F66A0006: client=mail-eopbgr80052.outbound.protection.outlook.com[40.107.8.52]
postfix/cleanup[19707]: 3578F66A0006: message-id=<AM5PR0201MB22602B5B4998B49514A63C76B2540@AM5PR0201MB2260.eurprd02.prod.outlook.com>
opendkim[598]: 3578F66A0006: mail-eopbgr80052.outbound.protection.outlook.com [40.107.8.52] not internal
opendkim[598]: 3578F66A0006: not authenticated
opendkim[598]: 3578F66A0006: failed to parse Authentication-Results: header field
opendkim[598]: 3578F66A0006: DKIM verification successful
opendkim[598]: 3578F66A0006: s=selector1-random.tld d=random.onmicrosoft.com SSL
opendmarc[605]: implicit authentication service: mail.mydomain.tld
opendmarc[605]: 3578F66A0006 ignoring Authentication-Results at 1 from vps.mydomain.tld
opendmarc[605]: 3578F66A0006: mydomain.tld fail
postfix/cleanup[19707]: 3578F66A0006: milter-reject: END-OF-MESSAGE from mail-eopbgr80052.outbound.protection.outlook.com[40.107.8.52]: 5.7.1 rejected by DMARC policy for mydomain.tld; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<EUR04-VI1-obe.outbound.protection.outlook.com>
postfix/smtpd[19698]: disconnect from mail-eopbgr80052.outbound.protection.outlook.com[40.107.8.52] ehlo=2 starttls=1 mail=1 rcpt=1 data=0/1 quit=1 commands=6/7

注意倒数第三行。在此特定情况下,发件人没有自己的 DMARC 策略。其他电子邮件发送者[email protected]通常会顺利到达。

在过去的一年中,它在转发我的工作账户时也失败了一次,在转发我的大学账户时也失败了一次。

这种行为可能是由任一端的某种(错误)配置引起的,还是一个错误?

我正在运行 OpenDMARC 版本 1.3.1。使用以下配置(为清晰起见已修剪):

##  AuthservID (string)
##      defaults to MTA name
#
AuthservID mail.mydomain.tld
PidFile /var/run/opendmarc.pid
##  RejectFailures { true | false }
##      default "false"
##
RejectFailures true
Syslog true
UserID opendmarc:opendmarc
PublicSuffixList /usr/share/publicsuffix/
IgnoreAuthenticatedClients true

答案1

AuthservID为所有本地过滤器配置匹配。

或者:将所有受信任的 ID 添加TrustedAuthServIDs开放的马克。通常只需删除该行就足够了,因为它默认为 MTA 名称opendkim开放的马克

AuthservID mail.mydomain.tld
ignoring Authentication-Results at 1 from vps.mydomain.tld

开放的马克在评估消息时仅考虑可信的结果,因此才有ignoring日志行。可信结果通过标识符进行标识通常等于postconf myhostname

在这种特定情况下,发件人没有自己的 DMARC 策略。

但尽管如此,开放的马克正在应用您的接收者策略 - 因为您明确告诉它这样做。您的策略是拒绝失败(RejectFailures true)。此决定独立于您的DMARC发送邮件的策略(如 DNS 中定义)。默认只添加标头,而不管结果如何DMARC评估。

相关内容