DNS 记录如何表示“此域名没有邮件服务器”?

DNS 记录如何表示“此域名没有邮件服务器”?

设置“此域没有邮件服务器”的 DNS 记录的适当方法是什么?

我认为我需要一个特殊的 MX 记录来执行此操作,否则将假定 A 记录是答案。

我问这个问题是因为看起来最好在前线阻止邮件,这样拒绝相关域的邮件就不再成为网络服务器的责任。

答案1

由于可以通过地址记录直接联系主机,因此单个“空 MX”记录“MX 0 .”显然是指示主机不接受电子邮件的首选方式。这类似于“空 SRV”记录(“SRV 0 0 0 .”),该记录专门将服务标记为不可用(根据 SRV-RR RFC 2782)。

这已由RFC 7505(自 2017 年 12 月起,拟议标准)。

“MX 0 localhost。”(或指向 ::1 和 127.0.0.1 的等效标签)也是可以接受的,但更适合必须向自身发送邮件(例如 cron 作业输出)且不接受外部邮件的主机。此类主机可能有一个可运行的邮件服务器,该服务器与 Internet 隔离,但其他服务可以访问。

没有 MX 记录并阻止 SMTP 端口并不能阻止人们浪费传入带宽尝试联系不存在的服务器。上面的单个 MX 记录方法确实可以阻止此类流量,因为当至少存在一个 MX 记录时,地址类型记录永远不会被尝试。这可能无法阻止一些垃圾邮件发送者尝试直接通过其地址记录联系主机。但是,由于它确实阻止了合法流量的尝试,因此您将能够 100% 确定地识别垃圾邮件来源。

不应使用私有地址,因为无法知道它们最终会流向何处。使用其他保留地址(例如文档地址 192.0.2.0/24)也是不合适的,除非试图在垃圾邮件发送者尝试连接时识别并诱捕他们。

答案2

我不知道“标准”方式是什么,但这是我遇到过的一个:将一个设置MX record为环回地址

我认为任何私有 IP 地址(或其他“无效”IP - 0.0.0.0)都可以解决问题。我个人认为这样做有点糟糕,但它可以满足您的要求。您可以将其与主机名结合起来,就像thisdomaindoesntacceptemail.sostopsendingit为邮件管理员提供服务一样,最终邮件管理员会收到“电子邮件关闭”的票证,因为您的域不接受电子邮件。:)

但是,为什么不直接删除MX record,并设置防火墙规则来A record阻止 SMTP 和 TLS(以及任何其他邮件端口)呢?

这样就可以把要点表达清楚,任何进行查找的管理员都会看到没有MX record,并且回退时的拒绝连接A record将消除对您配置意图的任何怀疑,如果有人在看到没有后更仔细地查看的话MX record

答案3

我认为指定不存在的 DNS 名称作为域邮件中心 (MX) 就足够了。

更新。:最后还有https://datatracker.ietf.org/doc/html/draft-delany-nullmx-00

更新 2:这最终演变为 IETF拟议标准现在:RFC 7505:不接受邮件的域的“Null MX”无服务资源记录

答案4

一个简单的 TXT 记录将为您完成此操作,将 SPF 记录设置为具有硬失败的空值:

@ IN TXT "v=spf1 -all"
* IN TXT "v=spf1 -all"

这就是我确保用于内部或非邮件服务的域名不会被钓鱼的方法。

相关内容