DKIM、SPF 和 DMARC 防护
Plesk 支持多个防垃圾邮件解决方案来验证邮件信息身份:
- DKIM (DomainKeys Identified Mail) 方案用于将域名身份与发送信息建立关联,并通过密码验证方式验证与接收信息相关联的域名身份。
- SPF (Sender Policy Framework) 方案用于阻止伪造发件人地址,例如使用伪造的发件人地址。该方案允许邮件服务器检查发自某个域名的接收邮件是否来自该域名管理员授权的某个主机。此外,Plesk 会使用 SRS (Sender Rewriting Scheme) 以保证被转发信息可以通过 SPF 检查。
- DMARC (Domain-based Message Authentication, Reporting and Conformance) 技术可扩展 SPF 和 DKIM 方案的功能。DMARC 执行策略以根据 DKIM 和 SPF 检查的结果来处理邮件信息。
要使用这些方案对邮件服务器的要求如下:
邮件服务器 | DKIM | SPF | SRS | DMARC |
---|---|---|---|---|
Postfix (Linux) | ➕ | ➕ | ➕ | ➕ |
Qmail | ➕ | ➕ | ➖ | ➕ |
MailEnable Professional | ➕ | ➕ | ➖ | ➖ |
MailEnable Standard | 9.16 或更新版本 | ➖ | ➖ | ➖ |
SmarterMail | ➕ | ➕ | ➕ | ➕ |
IceWarp | ➕ | ➕ | ➕ | ➖ |
在该表格中,‘+’ 表示 Plesk Onyx 支持的所有版本都支持该方案。‘-‘ 表示不支持该方案。
DKIM
DKIM (DomainKeys Identified Mail) 方案用于验证与某个信息相关联的某个域名身份。该方案通过附加一个自动生成的数字签名来让某个机构对发送的信息负责,同时使用加密技术验证该机构以确定签名的存在。
为了提供 DKIM 支持,Plesk 会使用外部库 (Linux) 或 Plesk 提供的邮件服务器(Windows) 的功能。
警告: 如果您使用外部的 DNS 服务,DKIM 签名将会用于发送信息,但是接收邮件服务器将无法验证这些信息。可以尝试一个解决方案,那就是关闭 Plesk DNS 服务器并在外部的 DNS 服务上添加一个 DKIM 相关的 DNS 记录。这样接收服务器将可以验证信息。 了解如何为使用了外部DNS服务器的域名启用DKIM电子邮件签名 。
启用或禁用服务器上的 DKIM
若要在服务器上启用 DKIM 功能,请转入 工具与设置 > 邮件服务器设置 (在 邮件 组里)并向下滚动到 DKIM 垃圾邮件防护 小节。通过以下选项可以管理服务器上的 DKIM:
- 允许签名发送的邮件 。这能够让客户启用以每个域名为基础为发送邮件进行 DKIM 签名的功能。不会自动启用对所有发送邮件信息进行签名的功能。如要使用 DKIM,用户必须为单个域名启用该功能。
- 核查接收邮件 (Plesk for Linux)。该选项会为所有接收邮件启用 DKIM 检查功能。会检查所有的信息,如果检查失败,则会使用特殊的标头进行标记。
注意每个选项可独立选择。您可以选择启用签名发送邮件,而检查接收邮件,或两者。
注解: 如果启用了 DMARC 则无法对接收邮件禁用 DKIM 检查。
在升级Plesk后启用DKIM
当您从早于Plesk Onyx的版本升级Plesk后,DomainKeys则会自动被DKIM替代。如果在Plesk中启用了DomainKeys功能,将也会启用DKIM。
为域名启用 DKIM 邮件签名功能
如果在服务器上启用了 DKIM 签名(请查看 启用或禁用服务器上的 DKIM 部分),客户可以签名其域名的发送邮件。
若要为单个域名启用 DKIM 签名发送邮件,请如下操作:
- 请打开相应的订阅。
- 转到 邮件 > 邮件设置 标签。
- 选择域名并点击 激活/停用服务 。
- 选择 启用 DKIM 垃圾邮件防护系统签名发送的邮件信息 复选框并点击 确定 。
注解: 必须在某个域名上激活 DNS 服务。
您为某个域名激活 DKIM 后,Plesk 会添加以下两个记录到域名的 DNS 区域:
-
default._domainkey.<example.com>
- 包含已生成密钥的公共部分。 -
_ domainkey.<example.com>
- 包含 DKIM 策略。
SPF 和 SRS
SPF (Sender Policy Framework) is a method used to prevent sender address forgery, i.e. using fake sender addresses. SPF allows a domain’s administrator to set a policy that authorizes particular hosts to send mail from the domain. A receiving mail server checks that the incoming mail from a domain comes from a host authorized by that domain’s administrator. SPF is based on the rules specified by the administrator in the sender’s DNS zone.
在 Plesk 中,您可以在 DNS 记录中指定规则来设置用于发送邮件的 SPF 策略。另外在 Linux 上,您还可以启用 SPF 来检查接收邮件。
当您启用了 SPF 来检查接收邮件时,邮件服务器会在发件人的主机上执行 DNS 查询以查找 SPF 相关的 DNS 记录。可以定义以下规则集:
-
本地规则- 邮件服务器实际进行 SPF 检查前垃圾邮件过滤器所使用的规则。
注解: 这些规则与在 SPF 相关联的 DNS 记录中指定的规则或发件人相串联。例如,如果发件人有以下 SPF 策略:
example.com. TXT v=spf1 +a +mx -all
而本地规则是a:test.plesk.com
,那么产生的策略将是example.com. TXT v=spf1 +a +mx +a:test.plesk.com -all
。 -
推测规则- 适用于不发布 SPF 记录的域名的规则。
可在 此处 找到有关 SPF 检查的状态的信息。
若要为发送邮件设置一个 SPF 策略,请如下操作:
进入 工具与设置 > DNS 模板 编辑与 SPF 相关的 TXT DNS 记录。该 DNS 记录总是会出现在服务器范围的 DNS 模板 中。以下是由 Plesk 创建的 SPF 记录的示例:
example.com. TXT v=spf1 +a +mx +a:test.plesk.com -all
该记录的各个部分所表示的意思如下:
部分 | 描述 |
---|---|
v=spf1 |
域名使用版本 1 的 SPF。 |
+a |
来自 “A” 记录的所有主机都被授权发送邮件。 |
+mx |
来自 “MX” 记录的所有主机都被授权发送邮件。 |
+a:test.plesk.com |
域名 test.plesk.com 被授权发送邮件。 |
-all |
所有其它域名未被授权发送邮件。 |
Read more about the syntax of SPF DNS records. The policy notation is available at RFC7208.
若要启用 SPF 来检查基于 Linux 的服务器上的接收邮件,请如下操作:
-
转入 工具与设置 > 邮件服务器设置 (在 邮件 组里)。服务器级别的邮件首选项屏幕将在 设置 标签里打开。
-
在 SPF 垃圾邮件防护 部分请选择 启用 SPF 垃圾邮件防护检查接收邮件 复选框。
-
如果 DNS 查找失败想要 SPF 继续检查时请选择 当有 DNS 查找问题时继续 SPF 检查 。在此情况下,如果主机无法被解析或没有找到 SPF 相关的记录,可能会应用 SPF 推测规则。
-
从 SPF 检查模式下拉框中选择一个选项以指定当 SPF 应用本地和推测规则时应如何处理电子邮件:
- 只创建 Received-SPF 标头信息,不屏蔽 - 不管 SPF 检查的结果接受所有的接收信息。
- DNS查找出现问题时,使用临时错误通知 - 不管 SPF 检查的结果,即使因 DNS 查找问题导致 SPF 检查失败,仍接受所有的接收信息。
- SPF解析为“失败”(拒绝)时,退信 - 拒收发自未被授权使用域名的发件人的信息。
- SPF解析为“软失败”时,退信 - 拒收发自未被SPF系统识别为授权发件人的或因域名没有发布SPF记录而未被授权的发件人的信息。
- SPF解析为“中性”时,退信 - 拒收发自未被SPF系统识别为授权发件人的或因域名没有发布SPF记录而未被授权的发件人的信息。
- SPF没有解析为“通过”时,退信- 拒收因任何原因而未通过SPF检查的信息(例如,收件人的域名未执行SPF而SPF检查返回”未知”状态。)
-
如要指定本地规则,请在 SPF 本地规则 框内输入您需要的规则。例如: include:spf.trusted-forwarder.org 。
有关 SPF 规则的更多信息,请访问 http://tools.ietf.org/html/rfc4408 。
-
您还可以在 SPF 猜测规则 框内指定猜测规则。
例如: v=spf1 +a/24 +mx/24 +ptr ?all
-
要指定当邮件被拒绝时返回给 SMTP 发件人的任意错误通知,请在 “SPF 解释文本” 框中键入该通知。
如果未指定任何值,默认的文本将会做为通知发送出去。
-
要完成设置,请单击 “确定” 。
若要禁止通过 SPF 检查接收邮件,请如下操作:
- 转入 工具与设置 > 邮件服务器设置 (在 邮件 组里)。服务器级别的邮件首选项屏幕将在 设置 标签里打开。
- 在 SPF 垃圾邮件防护 部分请清空 启用 SPF 垃圾邮件防护检查接收邮件 复选框。
注解: 在基于Linux的服务器上,如果启用了 DMARC 则无法禁止通过 SPF 检查接收邮件。
使用 SRS
除了SPF,Plesk中的某些邮件服务器还支持 SRS (Sender Rewriting Scheme),该机制是在转发邮件(被转发的邮件仍继续要符合SPF) 时,支持覆写发件人地址。SRS 可帮助确保在使用SPF时发送信息。
当从 Plesk 托管的邮箱转发信息时会自动使用 SRS。
为了提供 SRS 功能,Plesk 会使用外部库 (Linux) 或邮件邮件服务器软件 (Windows) 的功能。
DMARC
DMARC (Domain-based Message Authentication, Reporting and Conformance) 是扩展 SPF 和 DKIM 发件人策略的功能的一项技术。DMARC 执行策略以根据 DKIM 和 SPF 检查的结果来处理邮件信息。该技术基于在发件人DNS区域中指定的规则。
在 Plesk 中,您可以在 DNS 记录中指定规则来设置用于发送邮件的 DMARC 策略。此外,您还可以在基于Linux的服务器(使用Plesk支持的任何邮件服务器)上或在基于Windows的服务器(只使用SmarterMail)上启用DMARC来检查接收邮件。
若要为发送邮件设置自定义的 DMARC 策略,请如下操作:
转入 工具与设置 > DNS 模板 并编辑与 DMARC 策略相关的 DNS 记录。这些 DNS 记录总是会出现在 服务器级的 DNS 模板 中。相反,当您在域名上激活 DKIM 时,与 DKIM 相关的 DNS 记录会被添加到该域名的 DNS 区域中。
例如,Plesk默认的 DMARC 策略在以下记录中指定:
_dmarc.<domain>. TXT v=DMARC1; p=none
该策略推荐即使在检查失败的情况下接收邮件服务器都不删除信息。您可以指定更为严格的策略。但是,请注意接收服务器可在接收邮件方面自由应用自己的策略。
主机客户可为单个域名编辑策略。
有关DMARC的信息(包括策略符号在内),请参阅 https://datatracker.ietf.org/doc/rfc7489/ 。
若要启用DMARC检查接收邮件,请如下操作: