当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] Exchange 2019 和 Exchange Online 中的 MTA-STS 支持

作者:精品下载站 日期:2024-12-14 07:10:58 浏览:13 分类:玩电脑

Exchange 2019 和 Exchange Online 中的 MTA-STS 支持


我之前的博文是关于 DANE 的,并讨论了如何使用 DANE 使邮件服务器之间的 TLS 协商更加安全。该领域的另一个主题是 MTA-STS。 MTA-STS 代表消息传输服务器 - 严格传输安全,MTA-STS 是一种强制使用 TLS 和有效第三方服务器证书的机制。

MTA-STS、DNS 和策略

当支持 MTA-STS 的服务器想要发送电子邮件时,它首先检索收件人域的 MX 记录。第二步是发送服务器检查 DNS 中的 MTA-STS 记录。这条记录看起来像:

_mta-sts.exchangelabs.nl. IN TXT "v=STSv1; id=202306242147;"

id 是标识符,定义当 MTA-STS 记录发生更改时 MTA-STS 记录的版本。一个好的做法是根据上次更改的日期和时间创建标识符。在此示例中,时间为 2023 年 6 月 24 日晚上 9:47。

下一步是发送服务器查找策略。该策略不存储在 DNS 中,而是存储在网站上。此策略的 URL 如下所示:https://mta-sts.exchangelabs.nl/.well-known/mta-sts.txt。子域mta-sts、文件名mta-sts.txt和目录.well-known(包括点)目录对于MTA-STS 政策。它还必须使用有效的第三方服务器证书来保护它。

MTA-STS 政策将类似于:

version: STSv1
mode: enforce
mx: smtphost.exchangelabs.nl
mx: *.mail.protection.outlook.com
max_age: 604800

MTA-STS 政策的结构如下:

  • 版本标识 MTA-STS 的版本,但必须始终为 STSv1(至少目前如此)。
  • 模式定义必须如何应用策略:

    • 强制:发送 MTA 不得将消息传送到 MX 匹配或证书验证失败或不支持 STARTTLS 的主机。
  • 测试:发送也实现 TLSRPT(TLS 报告)规范 [RFC8460] 的 MTA 发送指示策略应用程序失败的报告(只要收件人域也实现 TLSRPT);在任何情况下,消息都可能被传递,就像没有 MTA-STS 验证失败一样。
  • :在此模式下,发送 MTA 应将策略域视为没有任何活动策略。
  • MX定义收件人域使用的所有 MX 记录。这可以是一个条目,但它可以包含多个 MX 记录,每个记录位于单独的行上,如上面的策略所示。
  • Max_age定义邮件服务器可以缓存 MTA-STS 策略的时间(以秒为单位)。在此示例中,策略缓存了 604800 秒,相当于 1 周。当发送服务器必须在一周内发送新电子邮件时,策略仍会被缓存。检查 MX 记录后,服务器从 DNS 检索 TXT 记录(如上面第二步中所述),并且当标识符未更改时,它使用缓存的策略。如果标识在缓存策略的生命周期内发生更改,则会下载新策略。
  • 因此,在我的示例中,支持 MTA-STS 的邮件服务器将检查 MTA-STS 策略,并且仅使用 TLS 1.2 连接到我的邮件服务器(当模式设置为“强制”时,MTA-STS 会强制执行此操作)并且仅当使用与 FQDN 匹配的证书。当条目身份验证失败时,发送服务器将继续执行策略中的下一行,在我的示例中,MX 记录指向 Exchange Online。

    MTA-STS 中一个有趣的选项是报告。 DMARC 也具有报告功能,但报告仅由接收域发送。 MTA-STS 中的报告每天通过发送支持 MTA-STS 和 TLS-RPT 的邮件服务器执行。

    要配置报告功能,请在 Exchange 2019 或 Exchange Online 中创建一个邮箱,并为其分配一个电子邮件地址,例如 [email protected]。下一步是配置以下 DNS TXT 记录:

    _smtp._tls.exchangelabs.nl. 3600 IN  TXT v=TLSRPTv1;rua=mailto:[email protected]
    

    有多种在线工具可用于检查 MTS-STS 记录。就像在我的其他博客中一样,我经常使用 MXToolbox 来检查 DNS 记录,如下图所示:

    [玩转系统] Exchange 2019 和 Exchange Online 中的 MTA-STS 支持

    与 DANE 检查一样,mailhardener 站点 (https://www.mailhardener.com/tools/mta-sts-validator) 也可用于检查 MTA-STS 记录,如以下屏幕截图所示:

    [玩转系统] Exchange 2019 和 Exchange Online 中的 MTA-STS 支持

    当您检查存储 mta-sts.txt 文件的 Web 服务器的 IIS 日志时,您可以看到哪些服务器正在使用 MTA-STS:

    2023-07-11 08:29:59 172.16.1.4 GET /.well-known/mta-sts.txt - 443 - 74.125.217.68 Google-SMTP-STS - 200 0 0 119
    2023-07-11 13:54:51 172.16.1.4 GET /.well-known/mta-sts.txt - 443 - 104.47.11.254 - - 200 0 0 62
    2023-07-11 14:13:37 172.16.1.4 GET /.well-known/mta-sts.txt - 443 - 77.238.178.114 AHC/2.1 - 200 0 0 20

    第一行很明显,第二行是微软的IP地址,第三行是雅虎的IP地址。因此,Google、Microsoft 和 Yahoo 在发送电子邮件时都使用 MTA-STS。

    MTA-STS 与 DANE

    MTA-STS 和 DANE 有一个共同的概念,即保护邮件服务器之间的(初始)通信。 DANE 的“问题”在于它依赖于 DNSSEC,而 DNSSEC 的全球推广非常缓慢(温和地说)。

    MTA-STS 的开发是为了克服 DNSSEC 推出缓慢的问题(当然,因为它不使用 DNSSEC)。 MTA-STS 可以被视为 DANE 的“轻量级”版本,对于大多数客户来说已经足够了。

    交换怎么样?

    就像 DANE 一样,丑陋的部分是 Exchange 2019 不支持 MTA-STS。您可以在 DNS 中配置 MTA-STS 记录以及网站上的策略,以便支持 MTA-STS 的服务器安全地使用您的 Exchange 2019 服务器。但对于 Exchange 2019 发送的邮件,MTA-STS 是不行的,它不支持,而且很可能永远不会支持。

    另一方面,Exchange Online 确实支持入站和出站邮件的 MTA-STS(自 2022 年初起)。要为入站邮件启用它,您唯一必须做的就是在 DNS 中创建 TXT 记录并创建和发布 MTA-STS 策略。

    编辑于 2023 年 7 月 11 日

    您需要 登录账户 后才能发表评论

    取消回复欢迎 发表评论:

    关灯