重要提示:谷歌和雅虎将从 2024 年 4 月起要求使用 DMARC。
权力管理机构

什么是SMTP TLS报告?

什么是 SMTP-TLS-Reporting
阅读时间 8 分钟

随着企业越来越依赖电子邮件作为主要通信手段,加强这些渠道防范潜在威胁的重要性怎么强调都不为过。传输层安全(TLS)是确保跨网络传输数据的机密性和完整性的基石。 

有几种协议有助于加密 SMTP 消息通道,防止网络攻击者截获电子邮件通信。其中包括 STARTTLS、DANE 和 MTA-STS。但是,在使用这些协议时,如果加密尝试失败,您的电子邮件可能无法送达。 TLS-RPT(如 RFC 8460中所述)提供了一种反馈机制来报告这些发送失败。

我们强烈建议将 TLS-RPT 与 MTA-STS协议。让我们来了解一下这些协议是如何共同加强电子邮件安全的。

什么是TLS-RPT?

TLS-RPT 是传输层安全报告(Transport Layer Security Reporting)的缩写。它是一种标准,用于报告电子邮件未使用 TLS 加密时出现的电子邮件发送问题。它在电子邮件身份验证中的重要性与启用 TLS 加密电子邮件的原因是相辅相成的。 

TLS 加密技术可确保发送给您的每封邮件都能安全送达。如果连接不安全,很多时候电子邮件可能无法送达。通过 TLS-RPT,域名所有者可以监控电子邮件的发送和连接失败情况。报告可包含以下信息 

这样就能了解您的电子邮件渠道,并能更快地应对送达方面的挑战。 

TLS 报告如何工作?

在 SMTP 电子邮件通信中,TLS 加密是 "机会主义 "的。这意味着,如果无法协商加密通道,电子邮件仍将以未加密(纯文本)格式发送。事实上,近 40 年前,SMTP 电子邮件协议并不支持 TLS 加密。后来才以 STARTTLS 命令的形式进行了改造。 

STARTTLS 命令只有在 SMTP 通信双方都支持 TLS 加密时才会发出。否则,电子邮件仍将以纯文本形式发送。 

为了摆脱 SMTP 中的机会主义加密,引入了 MTA-STS (RFC 8461).MTA-STS 协议可确保邮件在发送前进行加密。电子邮件服务器或邮件传输代理(MTA)会与接收服务器协商,看它是否支持 STARTTLS 命令。如果支持,电子邮件就会通过 TLS 加密并送达。否则,发送失败。

TLS 加密失败可能有多种原因。除了双方都不支持加密外,SMTP 降级攻击等更邪恶的原因也可能导致 TLS 连接失败。如果启用了 MTA-STS,当连接失败时,攻击者就无法以纯文本发送信息。 

但域名所有者希望知道发送失败的情况。TLS 报告(TLS-RPT)是一个可以通知您的协议。在发送失败时,您将收到以 JSON 文件格式发送到您的 TLS-RPT 记录中定义的电子邮件地址的 TLS 报告。 

为什么你需要SMTP TLS报告?

域名所有者需要随时了解电子邮件

对于从启用 MTA-STS 的域发送的电子邮件,由于 TLS 加密失败而导致的递送问题。TLS 报告通过提供这些信息使之成为可能。TLS-RPT 

设置 TLS-RPT 的步骤

为 TLS-RPT 创建 TXT 记录并在 DNS 上发布后,就可以启用域名的 TLS 报告功能。该记录必须发布在子域 smtp.tls.yourdomain.com

步骤 1:选择 TLS-RPT 记录生成工具

您可以 免费注册并使用我们的 TLS-RPT 记录生成器创建记录。

第 2 步:输入您的报告电子邮件地址

输入您希望接收 SMTP TLS 报告的电子邮件地址。

第 3 步:在 DNS 上发布 TLS 记录

您可以联系域名注册商,为 TLS-RPT 创建新的 TXT 记录。如果您自己管理 DNS,请编辑 DNS 设置以包含该记录。

TLS-RPT 记录示例

语法:v=TLSRPTv1; rua=mailto:tlsrpt@yourdomain.com;

让我们来分析一下所提供的 TLS 报告记录的两个组成部分:

  1. v=TLSRPTv1: 此标记用于指定所使用的 TLS-RPT 协议版本。在这种情况下 "TLSRPTv1 表示协议的第一个版本。
  2. rua=mailto:tlsrpt@yourdomain.com: rua 代表 "汇总数据报告 URI"。该标签指定了收件人邮件服务器发送 TLS 汇总报告的位置。

您可以为接收报告配置多个目的地。对于多个目的地,请用逗号(,)分隔每个条目。您可以使用 "maito: "为该步骤指定电子邮件地址,或者在 rua= 字段中使用 "https: "指示 MTA 通过 POST 向端点 URL 提交报告。如果使用 "https:",请确保该字段定义的 URL 是启用 HTTPS 且具有有效证书的网络服务器。mailto: "和 "https: "也可以在一条记录中使用,中间用逗号隔开。 

示例:v=TLSRPTv1; rua=mailto:tlsrpt@example.com,https://tlsreport.example.com;

注意: 实际上,您可以用"yourdomain.com" 替换为您希望接收这些报告的实际域名。

TLS 报告格式 

TLS 报告以 JSON 格式发送。下面是一个 JSON TLS 报告的示例:

{

  "组织名称":"组织公司"、

  “date-range”: {

    "start-datetime":“2020-10-22T00:00:00Z”,

    "end-datetime"(结束日期):“2020-10-22T23:59:59Z”

  },

  "联系信息":"smtp-tls-reporting@organization.com"、

  "report-id":“2020-10-22T00:00:00Z_domain.com”,

  "政策":[

    {

      “policy”: {

        "政策类型":"sts"、

        "政策字符串":[

          "版本:STSv1"、

          "模式:测试"、

          "mx:mx.domain.com"、

          "mx:mx2.domain.com"、

          "mx:mx3.domain.com"、

          "max_age:604800"

        ],

        "政策域":"domain.com"

      },

      “summary”: {

        "总成功会话数":15,

        "total-failure-session-count":0

      }

下面是 JSON TLS 报告中主要字段的细目: 

字段  描述
组织 拥有 TLS-RPT 记录的域组织。
电子邮件 发送汇总报告的电子邮件地址。
开始日期 报告期的开始日期。
结束日期 报告期的结束日期。
政策 政策对象数组,用于描述报告期内应用的政策。
政策 包含所应用策略的相关信息。
政策类型 指定政策类型 
policy_string 指定与策略相关联的策略字符串 
模式 指定 MTA-STS 策略模式(执行/测试)
摘要 包含尝试进行的会话的摘要信息。
成功会话总数 成功建立的 TLS 会话总数。
失败会话总数 TLS 会话失败的总次数。
故障详情 提供特定故障详细信息的对象数组。
理由 表示失败原因的字符串(如 "certificate_expired")。
计数 因特定原因失败的会话计数。

TLS 加密失败的原因和类型

证书问题

故障类型 原因 可能的故障排除建议 
证书过期 远程服务器提供的证书已过有效期。因此在加密方面不可信。 更新您的证书。
证书尚未生效 远程服务器提供的证书无效。这可能是由于服务器时间不正确或过早使用证书造成的。 请联系您的证书提供商。
证书被撤销 出于安全考虑,证书颁发机构已撤销远程服务器颁发的证书。 请联系您的证书提供商。
无有效签名 发件人的邮件服务器或客户端不信任远程服务器提供的证书链,表明存在潜在安全风险。 请联系您的证书提供商。
不支持的证书 远程服务器提供的证书使用了发件人邮件服务器不支持的加密算法或密钥长度,导致无法建立安全连接。 请联系您的证书提供商。

主机名和身份不匹配

故障类型 原因 可能的故障排除建议 
主机名不匹配 服务器证书中指定的主机名与发件人邮件服务器试图连接的服务器主机名不匹配。这表明可能存在中间人攻击或配置问题。 检查 MTA-STS 策略文件中的 MX 记录,确保它们与域的 MX 记录相匹配。

握手和协议问题

故障类型 原因 可能的故障排除建议 
握手失败 在发件人邮件服务器和收件人邮件服务器之间的初始 TLS 握手过程中出现问题,导致无法建立安全通道。 仔细检查 SMTP STARTTLS 连接是否已建立。导致加密失败的原因有多种,如不支持 STARTTLS 或 TLS 降级攻击。

MTA-STS 政策问题

故障类型 原因 可能的故障排除建议 
mta_sts_policy_not_found 当发件人的邮件服务器无法找到收件人域的 MTA-STS 策略时,就会出现这种故障。 查看您的 MTA-STS 政策文件。

检查您的 MTA-STS 记录,确保已正确发布。

mta_sts_policy_invalid 当在 DNS 中找到的收件人域名的 MTA-STS 策略无效、包含错误或不符合 MTA-STS 规范时,就会出现这种故障。 查看您的 MTA-STS 政策文件。

指定适当的 MTA-STS 策略模式。可以是 "无"、"强制 "或 "测试"。这将指示发送服务器如何处理 MTA-STS 策略验证失败的电子邮件。 

在此了解有关政策模式的更多信息。

mta_sts_policy_fetch_error 当发件人的邮件服务器在尝试从收件人域名的 DNS 记录中检索 MTA-STS 策略时遇到错误,就会出现这种故障。 验证 DNS 中的 MTA-STS 记录,确保记录语法正确。
mta_sts_connection_failure 当发件人的邮件服务器尝试使用 MTA-STS 建立安全连接,但由于不信任的证书、不支持的密码套件或其他 TLS 问题等原因而失败时,就会出现这种故障。 检查证书有效性,确保证书符合最新的 TLS 标准。
mta_sts_invalid_hostname 当 MTA-STS 策略中指定的收件人邮件服务器主机名与服务器的实际主机名不一致时,就会出现这种故障。 检查 MTA-STS 策略文件中的 MX 记录,确保它们与域的 MX 记录相匹配。

利用 PowerDMARC 简化 SMTP TLS 报告

PowerDMARC 的 SMTP TLS 报告体验旨在提高您的安全性,同时通过托管服务使您的生活更加轻松。

翻译的TLS报告

您复杂的 TLS-RPT JSON 报告将被转换为简化信息,您可以在几秒钟内浏览或详细阅读。 

自动检测问题

PowerDMARC 平台能准确定位并突出显示您所面临的问题,这样您就能在不浪费时间的情况下解决问题。 


PowerDMARC 平台没有一件事是我喜欢的,它的布局简单易懂,功能齐全,可以实现托管 DMARC 控制、SPF 扁平化、轻松扩展 SPF 以检查记录的具体内容,甚至完全支持 MTA-STS 和 TLS-RPT!


迪伦-B(企业主) 

有关传输层安全的常见问题

1.TLS 代表什么?

TLS是传输层安全的缩写。 

2.谁颁发 TLS 证书? 

证书颁发机构(CA)可以颁发 TLS 证书。签发证书的过程包括验证证书持有者的身份。一旦身份验证成功,就会签发证书。 

3.为什么需要 TLS 证书?

TLS 证书在确保互联网通信安全方面发挥着举足轻重的作用。它们有助于加密通信网络服务器之间交换的敏感信息。其最常见的用途包括确保电子邮件通信和 HTTPS 的安全。 

4.当前的 TLS 标准是什么?

TLS 1.3 是传输层安全的最新版本。TLS-RPT 可以使用任何版本的 TLS 实现。这可以包括协议的旧版本或未来版本。版本通常由通信服务器的能力等标准决定。 

其他资源

  1. TLS-RPT 记录生成器 
  2. TLS-RPT 记录检查器
  3. MTA-STS 
  4. DMARC

退出手机版