MTA-STS 记录生成器

SMTP MTA Strict Transport Security(RFC 8461)——通过 DNS 发现策略并强制收件方使用 TLS 接收邮件,抵御 STARTTLS 降级攻击。生成 _mta-sts TXT 记录与策略文件。

1️⃣ 域名

RFC 8461 §3:MTA-STS 策略按"接收域"生效,域名不带协议前缀与子域(策略适用于该域所有 MX 主机)。

2️⃣ 策略模式

RFC 8461 §3.2:建议先 testing 配合 TLS-RPT 观察 1-2 周,确认无失败后再切 enforce

3️⃣ MX 主机列表

RFC 8461 §3.2:策略中的 mx 主机必须与 DNS MX 记录匹配(可包含通配符 *.example.com)。留空则从 DNS 自动推断(需后续手动核对)。

4️⃣ 策略缓存时长(max_age)

RFC 8461 §3.2:收件方缓存策略的秒数。建议 86400(1 天)至 604800(1 周)。测试阶段可设短一些。

📖 MTA-STS 原理与部署清单

MTA-STS(RFC 8461)解决 STARTTLS 协议的先天缺陷:明文协商阶段的主动攻击者可剥离 TLS 扩展实现降级。MTA-STS 通过 HTTPS 托管策略文件,让收件方 MTA 在建立连接前就知道"该域必须使用 TLS"。

部署需要三部分

DNS TXT 记录:主机名 _mta-sts.您的域名,值 v=STSv1; id=时间戳。id 变更时收件方会重新拉取策略。

策略文件:托管在 https://mta-sts.您的域名/.well-known/mta-sts.txt,需 HTTPS 证书(可用通配符证书或 Let's Encrypt),MIME 类型 text/plain

TLS 配置:所有 MX 主机必须支持 TLS 1.2+,且证书链有效。建议同时配置 TLS-RPT 报告接收失败情况。

注意事项:MTA-STS 依赖 DNSSEC 之外的"HTTPS 信任锚";若 mta-sts 子域无法配置证书,可考虑 DANE(RFC 7672,需 DNSSEC 支持)作为替代方案。两者机制互补。

参考标准:RFC 8461(MTA-STS)、RFC 8460(TLS-RPT)、RFC 7672(DANE SMTP)、RFC 3207(STARTTLS)。

📚 权威参考文档