MTA-STS 与 TLS-RPT 检测

MTA-STS 与 TLS-RPT 检测

检查邮件 TLS 策略文件、MX 匹配规则和失败报告配置。

示例: 结果不写入数据库

邮件传输安全

什么是 MTA-STS 与 TLS-RPT?

MTA-STS 告诉发件服务器:向本域投递邮件时必须使用有效 TLS,并且只连接策略列出的 MX。它通过 DNS 版本记录与 HTTPS 策略文件共同工作。

TLS-RPT 为 SMTP TLS 失败提供汇总报告。两者配合可以先观察证书、加密和 MX 匹配问题,再逐步启用 enforce 模式。

检测范围

STS

DNS 策略版本

检查 _mta-sts 的 v=STSv1 与 id 是否唯一有效。

HTTPS

策略文件

安全读取标准路径,解析 version、mode、mx 与 max_age。

RPT

TLS 失败报告

检查 _smtp._tls 的 TLSRPTv1 记录和 rua 地址。

为什么检测邮件 TLS 策略?

普通机会式 TLS 在协商失败时可能降级为明文。MTA-STS 通过可缓存策略减少降级空间,TLS-RPT 则帮助发现真实投递故障。

阻止传输降级

要求支持策略的发件方验证证书并匹配指定 MX。

提前发现故障

在 enforce 前通过 testing 和 TLS 报告定位证书或路由问题。

验证发布一致性

同时核对 DNS id、HTTPS 文件和报告地址,避免只配置其中一部分。

工具如何安全检测?

策略抓取限制为公开 HTTPS 目标,逐跳验证重定向,拒绝内网地址,并限制超时与响应体大小。

  1. 01

    查询两个 TXT 主机名

    并行读取 _mta-sts 和 _smtp._tls 记录。

  2. 02

    安全获取策略

    访问 mta-sts 子域的标准 well-known 文件路径。

  3. 03

    解析关键字段

    验证 STSv1、mode、MX 模式、max_age 与 TLS-RPT rua。

  4. 04

    输出部署建议

    区分文件不可用、testing 模式、无报告地址和格式错误。

MTA-STS 与 TLS-RPT 常见问题

MTA-STS 的策略文件必须放在哪里?

标准地址是 https://mta-sts.example.com/.well-known/mta-sts.txt,并应使用公开可信的 HTTPS 证书直接返回纯文本策略。

testing 和 enforce 有什么区别?

testing 用于收集问题而不要求发件方拒绝投递;enforce 会在 TLS 或 MX 不符合策略时延迟或拒绝投递。应先处理报告再升级。

修改策略后为什么要更新 id?

_mta-sts TXT 中的 id 是策略版本信号。更新 id 会提示发送方重新获取 HTTPS 策略文件。

TLS-RPT 会收到每封邮件的内容吗?

不会。TLS-RPT 是聚合的传输失败报告,主要包含策略、连接与证书失败统计,不包含邮件正文。

检测结果会保存到数据库吗?

不会。结果只在当前页面显示;服务端可使用短时缓存减少重复 DNS 和 HTTPS 请求。