Microsoft Admin Center

前几天发现本站点挂在 Microsoft 365 上的域名邮箱收到的信件越来越少,起初怀疑是接受的信件本来就少,结果后来才发现是最近修改了根域的DNS解析导致出现这个问题。趁此机会,顺便完善了一下本站域名邮箱的安全措施,降低发送邮件失败或者被当作垃圾邮件的可能性,提高域名邮箱的可信度

什么是电子邮件身份验证

电子邮件身份验证(也称为电子邮件验证)是一组尝试阻止欺骗(来自伪造发件人的电子邮件)的标准。 在所有 Microsoft 365 组织中,EOP 使用以下标准验证入站电子邮件

设置SPF以协助防止欺骗

DNS SPF记录

SPF,全名为 Sender Policy Framework,是一套电子邮件认证机制,可以确认电子邮件确实是由网域授权的邮件伺服器寄出,防止有人伪冒身分网路钓鱼或寄出垃圾电子邮件。

SPF 有助于防止您网域寄出的邮件被归类为垃圾邮件。设置 SPF 记录有助于防范网域遭到假冒。
如果没有 SPF,收件伺服器可能会将正常的邮件传送至收件者的垃圾邮件资料夹,甚至拒收这类邮件。

添加SPF记录

当添加域名至 Microsoft Admin 时会提示我们需要在 DNS 托管服务提供商添加 SPF 记录,默认记录是 v=spf1 include:spf.protection.outlook.com -all,即域名邮箱完全托管在 Office 365 中,没有其他的 SMTP 服务器,或者可能是 Office 365 德国 v=spf1 include:spf.protection.outlook.de -all ,此时的默认添加记录取决于你的 Office 365 所在区域

元素如果您正在使用...对于客户而言很常见?添加以下内容...
1所有电子邮件系统(必需)常见。 所有 SPF TXT 记录都以此值开头v=spf1
2Exchange Online常见include:spf.protection.outlook.com
3Exchange Online 专用不常见ip4:23.103.224.0/19<br/>ip4:206.191.224.0/19<br/>ip4:40.103.0.0/16<br/>include:spf.protection.outlook.com
4仅 Office 365 Germany、Microsoft Cloud Germany不常见include:spf.protection.outlook.de
5第三方电子邮件系统不常见include:<domain_name><> domain_name是第三方电子邮件系统的域。
6本地电子邮件系统。 例如,Exchange Online Protection加另一个电子邮件系统不常见为每个附加的邮件系统使用以下其中一个:ip4:<IP_address><br/>ip6:<IP_address><br/>include:<domain_name><> IP_address和<domain_name>是代表域发送邮件的其他电子邮件系统的 IP 地址和域。
7所有电子邮件系统(必需)常见。 所有 SPF TXT 记录都以此值结尾<enforcement rule>这可以是多个值之一。 建议值 -all

一旦形成 SPF TXT 记录,则需要更新 DNS 中的记录。 只能为域使用一个 SPF TXT 记录

检验SPF TXT记录是否生效

nslookup -qt=txt <yourdomain>

#nslookup -qt=txt microcharon.com

使用DKIM来验证输出邮件

在 Microsoft 365 Defender 上添加并启用 DKIM

DKIM 全名为 DomaineKeys Identified Mail,称为域名密钥识别邮件(域名金钥辨识邮件),使用公开金钥加密的基础提供了数位签章与身分验证的功能,以检测寄件者、主旨、内文、附件等部份有否被伪冒或窜改。有助于保护域名声誉,同样有助于提高域名邮箱的可信度

DKIM 验证可以帮助接收服务器能够确认邮件的确来自你的网域,而非假冒分子,减少被接收服务器误判为垃圾或是欺诈邮件的可能性。如果想要进一步深入了解,请点击下列链接:如何將 DKIM 用於自訂網域中的電子郵件 - Office 365 | Microsoft Learn

添加网域

请先确保域名(网域)已经在 Microsoft Admin 添加过,如果未添加过域名,请点击下列链接进行你的网域验证

如果 DNS 是在 CloudFlare 托管服务的话,系统会自动帮你添加相应的 DNS 记录,非常方便,无需手动操作,站长亲自试过

Domains - Microsoft 365 admin center

启用DKIM

在 Microsoft 365 Defender (Microsoft 365 Security) 里选择需要启用 DKIM 的域名(网域),按照要求在 DNS 托管服务提供商处添加对应的 CNAME 记录,添加完毕后,返回 Defender 以启用 DKIM,至此 DKIM 添加完成

通常正确添加完 CNAME 记录后会花上几分钟的时间来与 DNS 服务器进行同步处理,最快几秒钟,最慢会持续数小时,如果一直未能进行验证,请检查是否配置出错

DomainKeys Identified Mail (DKIM) - Microsoft 365 security

检验DKIM CNAME记录是否生效

nslookup -qt=txt <selector>._domainkey.<yourdomain>

#nslookup -qt=txt selector1._domainkey.microcharon.com
#nslookup -qt=txt selector2._domainkey.microcharon.com

使用DMARC来验证电子邮件

DNSPod 上添加 DMARC 记录

DMARC,全名为 Domain-based Message Authentication, Reporting and Conformance,是一套以 SPF 及 DKIM 为基础的电子邮件认证机制,可以检测及防止伪冒身份、对付网路钓鱼或垃圾电邮。

开启 DMARC 之前必须先开启 DKIM 或 SPF 任意一种!

添加DMARC记录

以下是站长邮箱添加的 DMARC 记录,请根据实践情况进行合理添加记录,如参考这篇文章,使用 DMARC 來驗證電子郵件,設定步驟 - Office 365 | Microsoft Learn

v=DMARC1; p=quarantine; rua=mailto:[email protected]; ruf=mailto:[email protected]; sp=quarantine; adkim=r; aspf=r; pct=100

  • p 是用于告知收件方,当检测到伪造发件人时收件方要做出什么处理,处理方式有三种,分别是:none为不作任何处理;quarantine为将邮件标记为垃圾邮件;reject拒绝该邮件
  • rua 用于当检测到伪造邮件时,收件方须将该伪造信息的报告发送到指定邮箱
  • ruf 用于在收件方检测后,将某个时间段的汇总报告发送到指定邮箱
  • sp 是子域名的 DMARC 验证失败时应采取的措施,quarantine 即为隔离
  • adkim 是 DKIM 比对,r: 严格 – DKIM中的域名应与发件人域名完全匹配 s: 宽松 – DKIM中的域名应与发件人地址的根域名匹配
  • aspf 是 SPF 比对,s: 严格 – SPF中的域名应与发件人域名完全匹配 r: 宽松 – SPF中的域名应与发件人地址的根域名匹配
  • pct 是需要应用 DMARC 策略的消息的百分比,默认100,使用这个参数可以逐步测试 DMARC

检验DMARC TXT记录是否生效

通过以下的邮箱测试器可以检验出 DMARC 记录是否生效

Newsletters spam test by mail-tester.com

使用邮件测试器来检验

下面的邮件测试器可以帮助我们检测邮箱是否可信,并基于得分来反馈给我们一些需要改进的地方,每天同一邮箱可以免费测试三次

Newsletters spam test by mail-tester.com

此处是站长所使用的域名邮箱的得分情况

垃圾邮件检测结果 (mail-tester.com)

小结

通过实施以上的措施,可以使我们的检测得分达到最大化,本站邮箱得分依旧被狠狠的扣除了两分,如下所示,通过查阅资料后发现,是域名后缀的原因导致的,.top 域名在 Spamhaus 上的不良调查排名为8(.top 被大量滥用),目前也没办法解决,估计只有更换成 .com .net 等域名才能解决这个问题呢

The Spamhaus Project - The Top 10 Most Abused TLDs

Untrustworthy TLDs
URI: microcharon.com (top)

参考资料

Microsoft 365 中的電子郵件驗證 - Office 365 | Microsoft Learn

發件人策略框架 - 維基百科,自由的百科全書 (wikipedia.org)

域名金鑰辨識郵件 - 維基百科,自由的百科全書 (wikipedia.org)

基於域的消息認證,報告和一致性 - 維基百科,自由的百科全書 (wikipedia.org)

最后修改:2022 年 10 月 23 日
如果觉得我的文章对你有用,请随意赞赏