SMTP 邮件传输代理-严格传输安全(MTA-STS)是一个广为人知的互联网标准,它有助于提高 SMTP(简单邮件传输协议)服务器之间连接的安全性。MTA-STS 解决了现有的 SMTP 电子邮件安全在传输过程中执行 TLS 加密。
MTA-STS的历史和起源
在1982年,SMTP首次被指定,它不包含任何在传输层面提供安全的机制,以确保邮件传输代理之间的通信。然而,在1999年,STARTTLS命令被添加到SMTP中,反过来支持服务器之间的电子邮件加密,提供了将非安全连接转换为使用TLS协议加密的安全连接的能力。
在这种情况下,您一定很想知道 SMTP 是否采用 STARTTLS 来确保服务器之间的连接安全,为什么需要转向 MTA-STS,以及它的作用是什么。让我们在本博客的以下章节中一探究竟!
什么是MTA-STS?(Mail Transfer Agent Strict Transport Security - Explained)
MTA-STS 是邮件传输代理--严格传输安全的缩写。这是一种安全标准,可确保通过加密的 SMTP 连接安全传输电子邮件。缩写 MTA 代表邮件传输代理(Message Transfer Agent),是一种在计算机之间传输电子邮件信息的程序。缩写 STS 代表严格传输安全,是用于实施该标准的协议。具有 MTA-STS 意识的邮件传输代理(MTA)或安全信息传输代理(SMTA)按照本规范运行,为在不安全的网络上发送电子邮件提供安全的端到端通道。
MTA-STS协议允许SMTP客户端验证服务器的身份,并通过要求服务器在TLS握手中提供其证书指纹来确保它没有连接到一个冒牌货。然后,客户端根据包含已知服务器证书的信任存储来验证该证书。
MTA-STS 电子邮件安全简介
引入 MTA-STS 是为了弥补 SMTP 通信中的安全漏洞。作为一种安全标准,MTA-STS 可确保通过加密的 SMTP 连接安全传输电子邮件。
缩写 MTA 代表信息传输代理,是在计算机之间传输电子邮件信息的程序。缩写 STS 代表严格传输安全,是用于实施该标准的协议。具有 MTA-STS 感知的邮件传输代理(MTA)或安全信息传输代理(SMTA)按照本规范运行,为在不安全的网络上发送电子邮件提供安全的端到端通道。
MTA-STS协议允许SMTP客户端验证服务器的身份,并通过要求服务器在TLS握手中提供其证书指纹来确保它没有连接到一个冒牌货。然后,客户端根据包含已知服务器证书的信任存储来验证该证书。
转向强制 TLS 加密的必要性
STARTTLS 并不完美,它未能解决两个主要问题:首先,它是一种可选措施,因此 STARTTLS 无法防止中间人(MITM)攻击。这是因为 MITM 攻击者可以轻易修改连接,阻止加密更新。它的第二个问题是,即使实施了 STARTTLS,也无法像 SMTP 那样验证发送服务器的身份。 SMTP邮件服务器不会验证证书。
虽然目前大多数外发电子邮件都使用 传输层安全(TLS)加密,但攻击者仍可在电子邮件加密前对其进行阻挠和篡改。如果您通过安全连接发送电子邮件,您的数据可能会受到网络攻击者的威胁,甚至被修改和篡改。
这时,MTA-STS 就会介入并解决这个问题,保证邮件的安全传输,并成功缓解 MITM 攻击。此外,MTA 存储 MTA-STS 策略文件,使攻击者更难发起 DNS 欺骗攻击.
使用 PowerDMARC 设置 MTA-STS!
MTA-STS是如何工作的?
MTA-STS 协议通过 DNS 记录进行部署,该记录指定邮件服务器可以从特定子域获取策略文件。该策略文件通过 HTTPS 获取,并与收件人邮件服务器名称列表一起通过证书验证。与发送端相比,收件人端更容易实施 MTA-STS,因为它需要邮件服务器软件的支持。虽然有些邮件服务器支持 MTA-STS,如 PostFix但并非所有邮件服务器都支持。
主要的邮件服务提供商,如微软、Oath和谷歌都支持MTA-STS。谷歌的Gmail已经在近期采用了MTA-STS策略。MTA-STS消除了电子邮件连接安全方面的弊端,使受支持的邮件服务器确保连接安全的过程变得简单和容易获得。
从用户到邮件服务器的连接通常使用 TLS 协议进行保护和加密,然而,尽管如此,在实施 MTA-STS 之前,邮件服务器之间的连接仍然缺乏安全性。随着近来电子邮件安全意识的提高和全球主要邮件提供商的支持,预计在不久的将来,大多数服务器连接都将加密。此外,MTA-STS 还能有效确保网络上的网络犯罪分子无法读取电子邮件内容。
MTA-STS政策文件
MTA-STS 策略文件是一个纯文本 MTA-STS 配置文件,托管在域的 Web 服务器 HTTPS URL 下:它定义了在邮件服务器之间建立安全连接、执行 TLS 加密以及在无法建立安全连接时指定操作的规则。
https://mta-sts.<domain>//.well-known/mta-sts.txt
MTA-STS 政策文件的结构
字段 | 描述 | 示例 |
版本 | MTA-STS 策略格式的版本 | STS1 |
模式 | 在 3 个可用选项中选择策略执行级别:无、测试和执行 | 测试 |
mx | 域的有效邮件交换 (MX) 服务器列表 | mail.domain.com |
最大年龄 | 外部邮件服务器缓存策略的时间(秒)。 | 86400 |
MTA-STS 政策示例
版本。STSv1
模式:执行
mx: mail.example.com
mx: backupmail.example.com
max_age:86400
部署 MTA-STS 的先决条件
在开始设置 MTA-STS 之前,您需要具备以下条件:
- 注册域名
- 有效的 TLS 证书
- TLS 证书必须由可信 CA 签发
- 证书必须是最新的,没有过期
- 至少应为 1.2 或更高版本的 TLS
- MTA-STS 的 DNS TXT 记录
- HTTPS 网络服务器
- 邮件服务器配置为使用 TLS
- 与策略文件 mx 字段中的条目相匹配的邮件服务器主机名
- 测试环境或托管 MTA-STS 服务可监控日志并在必要时进行调整
为域名设置 MTA-STS 的步骤
要为您的域设置 MTA-STS,请按照以下步骤操作:
- 检查您的域名是否有现有的 MTA-STS 配置。如果您正在使用 Google Workspace 发送电子邮件,您可以借助本 指南.
- 创建并发布 MTA-STS 策略,为每个域单独配置。MTA-STS 策略文件定义了该域使用的启用了 MTA-STS 的电子邮件服务器。
- 创建策略文件后,必须将该文件上传到公共网络服务器上,以便于远程服务器访问
- 最后,创建并发布您的 MTA-STS DNS 记录("_mta-sts" TXT 记录),以指示接收服务器,您的邮件必须经过 TLS 加密才能被视为真实邮件,并且只有在前者属实的情况下才允许访问接收者的收件箱。
一旦有了活动策略文件,外部邮件服务器将不允许在没有安全连接的情况下访问电子邮件。
3 种 MTA-STS 策略模式:无、测试和执行
MTA-STS 策略模式的三个可用值如下:
- 无:该策略会使您的 MTA-STS 配置失效,因为外部服务器会认为该协议在域中处于非活动状态
- 测试:使用此策略时,通过未加密连接传输的电子邮件不会被拒绝,相反,启用 TLS-RPT 后,您将继续收到有关传输路径和电子邮件行为的 TLS 报告
- 强制:最后,当执行策略时,通过未加密 SMTP 连接传输的电子邮件将被服务器拒绝。
MTA-STS提供了针对.NET的保护。
- 降级攻击
- 中间人攻击(MITM)
- 它解决了多个 SMTP 安全问题,包括过期的 TLS 证书和缺乏对安全协议的支持。
TLS 报告:监控 MTA-STS 设置后的电子邮件送达差距
TLS-RPT(传输层安全报告)是一种协议,允许域名所有者接收电子邮件通信中 TLS 加密失败的详细报告。TLS 报告与 MTA-STS 配合使用。
主要功能包括
- 错误报告:它可提供详细报告,说明因证书过期或 TLS 版本过时等 TLS 问题以及 TLS 加密失败而导致的交付问题或失败。
- 可见性:它可帮助您监控 MTA-STS 实施和电子邮件可送达性方面的问题。
- 增强电子邮件安全性:通过排除 TLS 加密协商失败的错误,您可以提高 MTA-STS 设置的整体效率,从而更有效地防止网络攻击。
利用 PowerDMARC 轻松部署 MTA-STS
MTA-STS 需要一个具有有效证书的 HTTPS 网络服务器、DNS 记录和持续维护。PowerDMARC 的 DMARC 分析器工具完全在后台为您处理所有这些工作,让您的生活变得更加轻松。一旦我们帮您设置好,您就再也不用考虑这个问题了。
在 PowerDMARC 的帮助下,您可以部署 托管 MTA-STS无需处理公共证书。我们可以帮助您
- 无需访问 DNS 设置,即可对记录进行一键式策略更新和优化。
- 验证策略版本和证书验证
- 检测 MTA-STS 策略应用故障
- 托管您的 MTA-STS 策略文本文件
- 通过简化报告更快地检测连接失败、连接成功和连接问题
立即注册从今天开始,您就可以通过 TLS 加密连接快速强制将电子邮件发送到您的域,并确保您的连接安全,防止 MITM 和其他网络攻击。
- 电子邮件网络钓鱼和 DMARC 统计- 2024 年 11 月 22 日
- DMARC 合规性和要求- 2024 年 11 月 21 日
- 什么是 DMARC 策略?无、隔离和拒绝- 2024 年 9 月 15 日