域名所有权验证 —— DNS TXT 域名验证

随笔3个月前发布 生还者
46 0 0

参考:

https://help.aliyun.com/zh/cdn/getting-started/verify-the-ownership-of-a-domain-name

https://blog.csdn.net/qq_17335549/article/details/131781640

http://app.bslyun.com/shengcheng-app/10165.html 

https://blog.csdn.net/nxuu01/article/details/109830573

 

 

什么是域名的TXT验证?

域名的TXT验证就是在域名供应商处为域名设置一个字符串,TXT 记录的值可以是任意的 ASCII 字符串。这个字符串和域名与IP的映射关系一同被域名供应商保存到DNS服务器中。

 

 

 

域名的TXT验证有什么用?

1. 作为域名的一种备注,比如这个TXT字符串可以是这个域名对应网站的用处,也或者是域名所有者的姓名、联系方式等,但是要注意,这个TXT 记录的长度不能超过 255 个字节,此外,TXT 记录的值不能包含空格和引号等特殊字符,否则也会被视为无效的记录。

2. 签名校验。为了保证 TXT 记录的真实性,DNS服务器 提供了 DNSSEC(DNS Security Extensions)机制。在 DNSSEC 中,TXT 记录可以使用 DNSSEC 签名进行校验。DNSSEC 签名是一种数字签名技术,用于保证 DNS 记录的真实性和完整性。当 DNS 服务器返回 TXT 记录时,客户端可以通过 DNSSEC 签名校验机制来验证 TXT 记录的真实性(引自:http://app.bslyun.com/shengcheng-app/10165.html)。可以说域名TXT验证是DNS服务器提供的一种验证服务,可以在域名供应商处进行设置。

 

 

域名的TXT验证的应用场景?

1. 作为域名的备注。(不展开讲,没太多讲的)

2. 作为域名所有者的一种验证,下面具体说:

通过设置可以在域名DNS服务器中保存一份TXT记录。如果你在第三方那里需要获得一个对自己所有的某个域名网站的一个服务,那么第三方可以通过要求你提供这个TXT记录,然后第三方通过DNS客户端向DNS服务器发送对该域名的TXT记录的验证请求,将所获得的验证信息与自己保存的TXT记录进行比对,以验证你是否拥有对这个域名的权限。此时的TXT记录类似于一种验证方式,可以通过这种方式验证出你是否拥有该域名。

场景1:域名买卖 (该种场景真实性有待考证)

域名买方通过域名TXT记录来确认你是否为该域名的所有者。域名买方提供一个TXT字符串,卖方在域名供应商处按照该内容设置该域名的TXT记录,买方以此来确认卖方是该域名的真实拥有者。

 

场景2:CDN缓存

缓存服务器对某个域名下的网站内容提供缓存服务前需要确认你是否为该域名网站的所有者。

 

场景3:防止垃圾邮件 (引自:http://app.bslyun.com/shengcheng-app/10165.html)

在防止垃圾邮件方面,TXT 记录可以用于 SPF(Sender Policy Framework)机制。SPF 机制是一种防止伪造邮件的技术,它通过检查发件人的 IP 地址来验证邮件的真实性。在 SPF 中,域名所有者可以添加 TXT 记录,并将其值设置为特定的字符串。当收件人接收到邮件时,他们可以通过查找 DNS 中的 TXT 记录,并检查其值来验证邮件的真实性。

邮件发送时,邮件接收服务器需要确认邮件发送方的IP是否为邮件内容中的发送方域名对应的IP,以防止网络中伪造域名的邮件发送方来发送垃圾邮件。而这个SPF机制就是在域名的TXT记录中保存该域名对应的真实IP,因此邮件接收方通过对DNS服务请求邮件内容中的发送方域名的TXT记录来获得真实的该域名对应的IP,并与发送方的IP相比对来判断该IP是否为域名的所有者。(参考:https://blog.csdn.net/nxuu01/article/details/109830573)

 

 

注意:

使用域名TXT记录验证的这种验证方式安全性不高,因为DNS服务器上保存的TXT记录是明文公开的,也就是说任何一方都是可以知道TXT内容的,因此该种方式只能用在一些不太重要的验证场合(如:CDN的服务方域名验证,不过CDN的域名验证都是由CDN服务商提供的TXT内容然后由域名所有者在域名供应商处进行设置,并且CDN服务商只对该域名所有权进行一次验证),也或者用于一些不怕被其他人知晓TXT记录内容的场合(如:防止垃圾邮件)。

 

 

 

——————————

 

 

 

给出域名验证的Demo:

CDN服务商要求提供的DNS的解析验证:

 

域名所有权验证 —— DNS TXT 域名验证

 

 

 

 

 域名供应商处的域名TXT记录设置:

域名所有权验证 —— DNS TXT 域名验证

 ———————————-

 

 

 

TXT记录的设置:

域名所有权验证 —— DNS TXT 域名验证

 

Windows系统上查询域名的TXT记录的命令:

nslookup -qt=txt  域名

域名所有权验证 —— DNS TXT 域名验证

 

 

 

 

 

Linux系统上查询域名的TXT记录的命令:

dig   域名 txt

域名所有权验证 —— DNS TXT 域名验证

 

 

 

 

 ———————————-

 

 

 

 

与域名TXT记录一样用作域名权限验证的方法还有一种是文件验证,也就是说你在你的域名对应的IP的那个网站上设置一个网页,那个网页中的内容就是一个字符串,因为你的域名和IP的对应关系是只有域名所有者才有权限操作的,因此该种文件验证方式和域名TXT记录验证是等价的。个人感觉这个域名TXT记录验证要比域名对应IP的那个网站上进行字符串文件验证的方式要简单操作很多。

 

 

 ———————————-

 

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...