MailPlus Server 开通 DANE 验证:套件开关、TLSA 记录发布与状态表读法

DANE 在防什么

邮件在两台服务器之间的公网上跑,有人冒充收件服务器把信截走,发件方往往毫无察觉。DANE 的思路是借 DNSSEC 这套带签名的 DNS 基础设施,用 TLSA 记录把「这个域名的邮件服务器该持有什么证书」公示出去;发件服务器投递前先验证对方身份,通道可信才发。MailPlus Server 内置了这套机制,开通分三步。

第一步:套件里启用

启动 MailPlus Server,进「安全性 > 验证 > DANE」,勾选「启用 DANE 验证」,在两个级别里选一个:

  • 机会验证:对方服务器支持 DANE 且配了 TLSA 记录时才验证,是多数自建系统的起步选择;
  • 强制验证:无论对方什么情况一律验证,安全性高,误伤也多。

选完点应用。

第二步:生成 TLSA 记录

仍在同一页面点「生成 TLSA 记录」,指定使用情况、选择器、匹配类型等参数(各参数含义可对照 RFC 6698),确定后套件产出记录值。这条记录把你的 TLS 证书与域名绑定在一起——别的邮件服务器用 DANE 向你投递时,验的就是它。没有这条记录,支持 DANE 的对方服务器可能直接不把信发给你。

第三步:发布到公共 DNS

前提只有一条但很硬:域上必须启用 DNSSEC,否则 TLSA 记录形同虚设。到公共 DNS 服务商或域名供应商处添加记录:

  • 类型设为 TLSA;
  • 使用情况、选择器、匹配类型:按 MailPlus Server 生成时给出的参数填;
  • 证书数据:粘贴套件产出的关联数据。

证书一换,记录要跟着重做

SSL 证书续订后证书数据就变了,必须回套件重新生成 TLSA 记录并到 DNS 上手动更新。想减少这类手工动作的频次,选有效期更长的商业证书比短周期证书省事。

状态表怎么读

验证结果按对方域的 DNSSEC 状况分三种:安全(DNSSEC 正确设置)、不安全(没有 DNSSEC 相关记录)、伪造(有 DNSSEC 但 TLSA 无效、密钥过期或信任链断)。对应的投递状态:已验证=用受信 TLS 发出;不受信任=TLS 不受信但机会模式下仍发出;延期=信不投递,留在重试队列里整个生命周期反复重试。机会模式遇到无记录或不安全的域,标记不受信任后照发;强制模式只要不是三条记录全部安全,一律延期。另有两种情况不做 DANE 验证:收件人域进了允许列表,或 DANE 未启用。

两条边界提醒:启用 DANE 后,所有必需的 DNS 记录都要经 DNSSEC 签名;Synology DNS Server 套件当前不支持 DNSSEC,TLSA 记录要挂到公共 DNS 上。

要拆掉 DANE 反被拒收的排查路线,站内另有专文,本文只讲正向开通。

诚鑫致达科技给客户开 DANE 后,连着七天每天固定看一眼外发队列里有没有滞留的延期状态——队列干净了,这套验证才算真正立住。