Akamai 是一家致力于支持并保护在线商业活动的网络安全和云计算公司。我们卓越的安全解决方案、出色的威胁情报和全球运营团队可提供深度防御,保护各地的企业数据和应用程序。Akamai 的全栈云计算解决方案可在海外分布广泛的平台上提供高性能和经济实惠的服务。全球多家企业坚信,Akamai 能够提供卓越的可靠性、扩展性和专业技术,助其从容拓展业务。
反向 DNS (rDNS) 是根据 IP 地址输入发现域名的过程,而“传统”DNS 查找用于实现相反的功能,即将主机名转换为 IP 地址。
dig -x 24.117.59.59
Mac 上的反向 DNS 查找示例(使用终端)
nslookup 24.117.59.59
Windows 和 Linux 的反向 DNS 查找示例
具体而言,rDNS 是指将 IP 值反向解析,并在结尾附加“in-addr.arpa”。1因此,上述示例中的命令实际上会查找“59.59.117.24.in-addr.arpa”。如果 IP 的所有者成功地配置了 rDNS,则此查询将返回一条“指针”(PTR) 记录,该记录将 IP 与域名相关联:
59.59.117.24.in-addr.arpa.43200 IN PTR 24-117-59-59.cpe.sparklight.net.
反向 DNS 为什么很重要?
虽然 rDNS 并未被普遍应用于传统 Web 流量,但 PTR 记录对于电子邮件服务器尤为重要,因为这些服务器通常会执行 rDNS 查找来拦截或过滤垃圾邮件。为了确保接收邮件时不会触发任何危险信号,合法的电子邮件提供商必须对 IP 地址正确实施 rDNS,并对生成的主机名正确实施正向 DNS。设定这项要求是为了防止垃圾邮件发送者从被入侵的计算机发送电子邮件,因为这些 IP 通常没有 rDNS 记录。即使它们有这些记录,响应也通常是通用的动态输出,该输出表明客户端不是有效的电子邮件服务。
如上所示,住宅 IP 24.117.59.59 指向 PTR 记录 24-117-59-59.cpe.sparklight.net,这是动态输出,因为它只是附加了 sparklight 域的 IP 地址。因此,如果垃圾邮件发送者入侵了该机器并从此住宅 IP 发送电子邮件,则接收方很可能会拦截或过滤该邮件,因为动态响应是一种强烈的垃圾邮件信号(作为参考,一个假设的可接受响应应该是 email.sparklight.net)。简而言之,要想让其邮件被普遍接受,垃圾邮件发送者必须拥有自己的 IP 空间,以便配置必要的 DNS 设置,而这对大多数攻击者来说都是一项高昂得令人难以承受的成本。
最后,一些电子邮件服务器依赖 SMTP(简单邮件传输协议,一种用于电子邮件传输的标准化通信协议)的帮助来实现更细致的 rDNS 设置。例如,可以将电子邮件服务器配置为在 rDNS 查询与 HELO 命令(一条用于启动 SMTP 会话的消息)不匹配时拒收电子邮件。因此,如果僵尸网络能够从属于各种网络的成百上千台被劫持的机器发送成千上万封电子邮件,那么恶意攻击者将很难做到在每条 HELO 消息中都能声明正确的域名,即使为 IP 正确配置了 rDNS 也是如此。
客户:HELO mail.example.com
Server: 250 mail.example.com Hello
如何设置反向 DNS?
要想让 rDNS 查找返回有效响应,需要创建一个 in-addr.arpa rDNS 区域文件,以反映分配给 IP 所有者的固定网络范围。具体来说,区域管理员应该移除其明确控制的最后一个包含值的点分四组,然后将剩余的点分八位组的顺序颠倒,并附加 .in-add.arpa。
由于 Sparklight 拥有 B 类地址,因此其 rDNS 区域文件名为 117.24.in-addr.arpa。纵观整个解析过程,ARPA 拥有 24.0.0.0/8 A 类地址2,但将 117.24 查询委派给 Sparklight:
区域 |
备注 |
|
|---|---|---|
根服务器 |
j.root-servers.net. |
与所有的 DNS 请求一样,查询从根服务器开始 |
委派给 ICANN |
in-addr.arpa. |
根服务器会委派给一组负责管理 ARPA 区域的 ICANN 服务器 |
ICANN / ARPA的另一项委派 |
24.in-addr.arpa. |
ICANN 委派给拥有 24.0.0.0/8 A 类地址的 ARPA |
委派给 Sparklight |
117.24.in-addr.arpa. |
该查询随后会被委派给拥有此范围的 Sparklight |
答案 |
59.59.117.24.in-addr.arpa. |
PTR 记录已返回 |
与正向 DNS 一样,rDNS 主机名中的每个“点”都是潜在的委派点。ICANN 负责管理 in-addr.arpa 区域,并将子区域委派给 IP 空间的所有者。
在区域文件中,必须声明相关的 PTR 记录。并且,就像任何其他区域一样,也应当定义域名服务器 (NS) 记录。
59.59.117.24.in-addr.arpa.43200 IN PTR 24-117-59-59.cpe.sparklight.net.
117.24.in-addr.arpa.43200 IN NS ns2.cableone.net.
117.24.in-addr.arpa.43200 IN. NS ns4.cableone.net.
117.24.in-addr.arpa.43200 IN NS ns3.cableone.net.
117.24.in-addr.arpa.43200 IN NS ns1.cableone.net.
结论
虽然 rDNS 可能并不是典型 Web 或原生应用程序在开放互联网上正常运行所必需的,但对于任何能正常工作的电子邮件服务来说,它都是一项重要的要求。反向查找也是一个有用的分析和故障排除工具,因为应用程序所有者可以确定 IP 是属于商业 ISP、云服务提供商还是其他企业/业务实体。这些信息通常有助于跟踪潜在客户,对于希望更好地了解谁在浏览其网站的 B2B 公司来说尤其如此。同样,知道谁拥有 IP 可以帮助安全工具确定请求属于攻击者还是合法来源。
虽然 rDNS 远不如正向 DNS 那样普及或广为人知,但它在当今的互联网生态系统中发挥着重要作用,并且对于电子邮件管理员、B2B 营销分析师和网络安全专家来说,了解该协议的这个细微差别至关重要。
1 ip6.arpa 是 IPv6 地址的区域。
2 A 类地址适用于拥有大量主机的网络。A 类将第一个八位组用作网络 ID,因此可支持 126 个网络。B 类地址适用于大中型网络。B 类将前两个八位组用作网络 ID,因此可支持 16,384 个网络。