如何为自托管电子邮件服务器正确配置 DNS 区域

如何为自托管电子邮件服务器正确配置 DNS 区域

为了加强我的电子邮件服务器的发送身份验证,我正在寻找有关该主题的一些有用的提示。

因为我总共有 4 台 Vps 服务器,用于发送电子邮件、注册确认、密码重置等……以及多个域,所以我希望加强电子邮件授权的安全性。

所以我有 VPS1,它是基于 IRedMail 的电子邮件服务器,我在其中配置了

域 1、2、3、4 和 5

各个域名的网站分别位于不同的 vps 服务器上,因此每个网站都有不同的 IP 地址。

域 1、2 和 3 在 VPS2 上,域 4 在 VPS 3 上,域 5 在 VPS 4 上

正确创建 SPF 和 DMARC 记录的最佳方法是什么

非常感谢关于这个主题的任何帮助。

答案1

假设所有 VPS 服务器都连接到 VPS 1 发送邮件,并且所有域名的 MX 记录都指向 VPS 1 的 IP 地址:

防晒指数

SPF TXT为所有域创建一条记录: "v=spf mx ~all"。在声明中~使用了而不是。这有些争议,但与下面的注释有关。硬故障通常会带来不良的传递后果。-all-

请注意,Return-Path检查的是(退回邮件去往的)域SPF,而不是From地址(这就是我们需要的原因)。因此,如果您的电子邮件使用的退回地址与发件人地址不同,则会检查DMARC域中的记录。Bounce addressSPF

请记住,SPF通过传输/收件箱规则或邮件列表转发的电子邮件的检查将失败(除非Return-Path重写了标题)。请注意,检查Return-Path会检查(退回邮件去往的)域SPF,而不是From地址(这就是我们需要的原因)。因此,如果您的电子邮件使用的退回地址与发件人地址不同,则会检查DMARC域中的记录。当您使用子域时也是如此。对于用作退回地址的每个子域,您需要设置 SPF(和 MX)记录。Bounce addressSPF

DMARC

TXT在 _dmarc.domain.com: 的每个域中创建一个“DMARC”记录"v=DMARC1;p=reject"。由于您的设置非常简单,您可能不想费心处理XML发送给您或第三方服务的格式的报告,因为您知道只有一个主机应该被授权代表您的域发送电子邮件。如果您扩展您的服务,您可以添加标签rua以启用接收报告。

密钥管理信息系统

我强烈建议在您的设置中添加签名配置,以便在上述场景中身份验证失败的DKIM情况下提高传递率。在转发失败的情况下仍能继续存在,尽管当电子邮件的某些部分在传输过程中发生变化(例如地址重写)时身份验证可能会失败。两者结合起来,将相互补充,以提高传递率。SPFDKIMSPFDKIMSPFDKIM

设置 DKIM 的一些基本建议是创建一个位长为 2048 的 DKIM 密钥对,并TXT在 ._domainkey.domain.com 的 DNS 记录中发布公钥,您可以在其中选择自己的选择器名称。出于密钥轮换目的,最好配置第二个选择器记录,以便在初始私钥被泄露时使用,或者作为按计划轮换的最佳实践(例如每 6 个月一次)。

关于 DKIM 签名最佳实践还有很多要说的,但是,这超出了您的问题的范围,并且在 RFC 中已经完美阐述。

免责声明

此设置反映了我在您所描述场景中设置电子邮件身份验证的选择。某些方面存在假设,这些假设可能不正确或不完整,否则会导致不同的方法。

相关内容