logo

DNS over HTTPS (DoH) 简介

Published on

什么是 DNS?

DNS(域名系统)是互联网基础设施的关键组成部分。DNS 作为一种分布式目录服务,将人类可读的域名转换为机器可读的 IP 地址。当您在浏览器中输入网站地址时,DNS 系统帮助您的浏览器在互联网上找到正确的服务器。当人们输入类似www.test.com这样的名称时,DNS 将域名转换为 IP 地址,以便浏览器可以加载互联网资源。

DNS 使用分层和分布式数据库来管理域名到 IP 地址的映射。这种层次结构包括根服务器、TLD(顶级域名)服务器和权威 DNS 服务器。为了提高效率和速度,DNS 响应通常在多个级别上被缓存,包括在您的本地机器和 DNS 服务器上,因此对同一域名的重复查询可以更快地解析。

传统 DNS 处理过程

DNS 过程确保您被引导到与您输入的域名相关联的正确网站。传统的 DNS 处理过程包括以下步骤:

  1. 用户请求:当您在浏览器中输入域名时,会启动 DNS 查询以查找与该域名相关联的 IP 地址。
  2. DNS 解析器:您的查询首先发送到 DNS 解析器,通常由您的互联网服务提供商提供。解析器的工作是通过查询其他 DNS 服务器来查找 IP 地址,如果它没有已经缓存的信息。
  3. 根 DNS 服务器:如果解析器没有答案,它会查询根 DNS 服务器之一。根服务器没有 IP 地址,但会将解析器引导到适当的顶级域名(TLD)DNS 服务器(例如.com 或.org)。
  4. TLD DNS 服务器:TLD 服务器将解析器引导到特定域名的权威 DNS 服务器。
  5. 权威 DNS 服务器:权威服务器保存域名的实际 DNS 记录,提供所请求域名的 IP 地址。
  6. 响应:解析器从权威服务器接收 IP 地址,并将其返回给您的浏览器。
  7. 缓存:解析器和您的浏览器缓存 IP 地址以供将来请求使用,减少重复查找过程的需要。

与传统 DNS 相关的安全风险

传统域名系统(DNS)操作存在几个固有的安全风险。作为互联网基础设施最古老的部分之一,DNS 设计时并没有强大的安全功能,这导致了它在许多形式的网络攻击中被利用。以下是与传统 DNS 相关的一些主要安全风险:

  • DNS 欺骗:这种攻击涉及将虚假地址记录插入 DNS 服务器的缓存中。如果攻击者能够毒化 DNS 缓存,即使用户在浏览器中输入正确的地址,他们也可以在用户不知情的情况下将其重定向到恶意网站。此方法可用于传播恶意软件或进行网络钓鱼攻击以窃取用户信息。

  • 中间人(MitM)攻击:由于传统 DNS 查询和响应未加密,它们容易受到窃听和拦截。攻击者可以利用此漏洞将自己插入用户和其 DNS 请求之间,将他们重定向到欺诈性网站或监视他们的互联网活动。

  • DNS 隧道:攻击者可以利用 DNS 查询和响应来走私数据进出网络,绕过传统的网络安全措施,如防火墙。DNS 隧道可用于数据泄露、恶意软件的命令和控制,或绕过互联网使用政策和限制。

  • 分布式拒绝服务(DDoS)攻击:DNS 服务器可能成为 DDoS 攻击的目标,通过这种攻击,一个受感染计算机网络(僵尸网络)会用大量查询淹没 DNS 服务器。这可能使 DNS 服务变慢或完全不可用,扰乱合法用户对网站和在线服务的访问。

  • 域名劫持:通过利用漏洞或通过社会工程攻击(如网络钓鱼),攻击者可以获取域名的 DNS 设置控制权。然后,他们可以将域名的流量重定向到恶意站点,拦截电子邮件和敏感信息,或破坏对该域名下托管的合法服务的访问。

  • 零日漏洞:DNS 查询和响应以明文形式通过网络传输。这使得它们容易被任何有网络访问权限的人拦截,包括 ISP、网络管理员或恶意行为者。攻击者可以捕获和分析 DNS 流量,以监控用户正在访问的网站,可能导致隐私泄露。

  • 窃听:DNS 查询和响应以明文形式通过网络传输。这使得它们容易被任何有网络访问权限的人拦截,包括 ISP、网络管理员或恶意行为者。攻击者可以捕获和分析 DNS 流量,以监控用户正在访问的网站,可能导致隐私泄露。

  • DNS 放大攻击:这种类型的 DoS 攻击涉及利用 DNS 基础设施来放大针对目标的流量量。攻击者向开放的 DNS 解析器发送小查询,这些解析器以大量答案作出响应,压倒目标。这可能导致重大服务中断和网络拥塞。

  • DNS 重绑定:DNS 重绑定攻击涉及操纵 DNS 响应,使受害者的浏览器与内部网络地址或服务器通信。这可能将内部网络资源暴露给互联网,可能导致未授权访问或数据泄露。

DNS over HTTPS (DoH) 介绍

DNS over HTTPS 是提高互联网用户安全和隐私的进步。DoH 使用 HTTPS 协议对 DNS 查询进行加密,这确保了网络通信的安全。通过将 DNS 查询嵌入客户端和服务器之间的整体加密数据流量中,DoH DNS 提供了显著的隐私优势。它防止第三方看到您试图访问的网站。除了改善隐私外,DoH 还增强了安全性。它有助于防止某些网络攻击,如 DNS 欺骗或窃听。

DoH 的采用正在增长,许多现代网络浏览器(如 Firefox、Chrome)和操作系统都已集成支持。启用 DoH 连接涉及配置您的网络浏览器或整个设备使用支持 DNS over HTTPS 的 DNS 解析器。

DNS over HTTPS (DoH) 在增强隐私和安全方面的重要性

传统的 DNS 查询和响应以明文发送,使其容易受到 DNS 欺骗、窃听、操纵或被黑客拦截的影响。这可能带来重大风险,包括隐私泄露、审查和安全威胁,如中间人攻击。DoH 通过加密 DNS 请求并将其包含在 HTTPS 协议中解决了这些问题。HTTPS 作为 HTTP 的安全版本,使用加密(SSL/TLS)保护用户和服务器之间传输的数据。在互联网访问受到严格监控或限制的地区,加密的 DNS 查询可以绕过某些类型的审查和过滤,使能够访问可能被阻止的信息和网站。

虽然 DoH 增强了隐私和安全,但选择可信的 DNS 提供商(参见 DNSSEC)很重要,因为提供商将有能力看到您的 DNS 查询。随着其支持、流行度和与浏览器和操作系统的集成,关于集中化风险和潜在滥用的持续讨论,因为提供 DoH 服务的少数几家主要公司可能有权访问有关互联网用户行为的大量数据。

传统 DNS 与 DNS over HTTPS(DoH)对比

传统 DNS 和 DNS over HTTPS 都是将域名解析为 IP 地址的方法,但它们在隐私、安全和实现方面有显著差异。与未加密的 DNS 相比,DNS over HTTPS 在隐私和安全方面提供了显著优势。虽然它需要一些手动配置,但对于许多用户来说,这些好处将超过这些小不便。

特性传统 DNSDNS over HTTPS
加密DNS 查询和响应以明文传输。这意味着任何网络访问者,如恶意行为者,都可以拦截并读取 DNS 查询和响应。使用 HTTPS 加密 DNS 查询和响应。这种加密防止窃听和篡改,使 DNS 流量对未授权方不可读。
隐私DNS 查询对网络中介(如 ISP)可见,可用于跟踪用户浏览活动。ISP 和其他实体可能会记录和监控 DNS 请求,以推断用户行为和兴趣。通过加密 DNS 查询提供增强的隐私,使 ISP 或其他网络观察者不能轻易监控或记录。有助于防止基于 DNS 流量跟踪用户浏览习惯。
安全容易受到攻击,如 DNS 欺骗或缓存中毒,恶意行为者可以操纵 DNS 响应,将用户重定向到恶意站点。缺乏加密意味着 DNS 响应可以在传输过程中被拦截和更改。通过确保 DNS 响应在传输过程中加密且不能被篡改,提高安全性。通过验证 DNS 数据的完整性,防止 DNS 欺骗和缓存中毒。
性能通常表现良好,并在所有网络和设备上得到广泛支持。没有加密开销,相比 DoH 可能具有更低的延迟。由于加密和解密过程,可能会引入轻微延迟。在许多情况下,性能影响很小,DoH 甚至可以通过减少 DNS 过滤或拦截提供性能优势。
实现普遍支持,在大多数系统和网络中默认使用。简单配置,基本功能不需要额外设置。需要客户端(浏览器或操作系统)和 DNS 解析器的支持。现代浏览器和操作系统越来越多地支持,但可能需要手动配置或更新才能启用。
集中化和管理DNS 流量通常分布在几个 DNS 解析器之间。网络管理员更容易管理和监控 DNS 流量。可以通过较少的 DoH 提供商集中 DNS 流量,引发对这些大型实体 DNS 查询集中的担忧。
用例适用于高隐私和安全性不是主要关注点的一般使用。常用于大多数网络和环境中。理想用于优先考虑隐私和安全的用户和组织。在需要防止 DNS 监视和篡改的环境中有用。
可靠性和灵活性通过端口 53 操作,依赖分层模型(根、TLD、权威服务器),可能在各个级别容易受到故障和攻击。通过端口 443 操作,允许 DoH 流量与常规 HTTPS 流量混合。这使得行为者更难阻止或审查内容,而不干扰所有网络流量。

DNS over HTTPS 的好处

DNS over HTTPS 相比传统 DNS 提供了几项好处,因为它专注于增强互联网用户的隐私和安全性。

增强隐私和安全性

DNS over HTTPS 因其对 DNS 查询的加密而脱颖而出,这是传统 DNS 协议的显著改进。这种加密确保只有用户和 DNS 解析器可以理解 DNS 查询和响应的内容。DNS 查询用与 HTTPS 流量相同的加密方式包装,这是保护大多数网络流量的协议。这意味着 DNS 查询与其余加密的互联网流量混合在一起,使任何拦截实体更难单独识别和监控用户的 DNS 请求。

防止窃听

在互联网通信中,窃听是指第三方(如网络攻击者、ISP 甚至政府机构)拦截和监控通过网络传输的数据。使用传统 DNS,这些实体可以轻松查看和记录用户尝试访问的网站,这对隐私和安全构成重大风险。

保护浏览习惯

DNS over HTTPS 通过防止互联网服务提供商和潜在黑客窥探浏览习惯,显著提高了用户隐私。传统的 DNS 查询以明文进行,这使用户容易受到恶意实体的攻击,并可能泄露用户的浏览习惯和访问过的网站。DoH 通过将 DNS 查询包装在 HTTPS 加密中解决了这些漏洞。

防止 DNS 欺骗和中间人攻击

DNS 欺骗和中间人攻击是常见的网络攻击,可能导致严重的安全漏洞,包括敏感信息盗窃、恶意软件传播以及重定向到恶意网站。DNS 欺骗,也称为 DNS 缓存中毒,发生在攻击者将损坏的 DNS 数据引入 DNS 解析器的缓存中。这种被操纵的数据误导解析器,即使用户输入合法地址,也将用户引导到欺诈网站。中间人(MitM)攻击发生在攻击者秘密拦截并改变用户和 DNS 解析器之间的通信时。DoH 通过使用加密和 HTTPS 来保护用户与 DNS 解析器之间的通信渠道,从而减轻了这些风险。

DoH 与现代浏览器和操作系统的兼容性和支持

DNS over HTTPS 在许多现代网络浏览器和操作系统中得到广泛支持和兼容。

网络浏览器

  • Mozilla Firefox:Firefox 是采用 DoH 的先驱之一,自 2018 年底开始提供这一选项,但正式在 2020 年 2 月添加。用户可以在浏览器设置中轻松启用 DoH。
  • Google Chrome:Google 也于 2018 年底开始与 Mozilla 一起测试 DoH,但在 2020 年 5 月发布的 Chrome 83 版本中添加了支持。如果用户的 DNS 服务提供商支持 DoH,浏览器会自动升级 DNS 查询。
  • Microsoft Edge:Edge 也支持 DoH,利用相同的 DNS 查询自动升级机制,前提是 DNS 服务提供商支持 DoH。
  • Opera:Opera 浏览器也集成了 DoH 支持,允许用户在设置中启用该功能以保护其 DNS 查询。
  • Safari:苹果的 Safari 也开始采用 DoH 功能,计划通过加密 DNS 查询增强其用户的隐私和安全。

操作系统

  • Windows:Microsoft 直接将 DoH 纳入 Windows,从 Windows 10 开始。这种操作系统级别的集成意味着 Windows 设备上的所有应用和服务都可以从 DoH 中受益,而无需在应用内部单独支持。
  • macOS:苹果通过更新 macOS,开始集成对加密 DNS 的支持,包括 DoH 和 DNS over TLS(DoT)。这允许用户配置网络设置,使系统所有 DNS 查询都使用 DoH。
  • Linux:虽然 Linux 发行版通常不默认启用 DoH,但有许多工具和解析器,如"systemd-resolved"、"dnscrypt-proxy"和"Cloudflare 的 1.1.1.1",供 Linux 用户配置使用 DoH。
  • Android:Android 9(Pie)及更新版本支持 DNS over TLS,并且对 DoH 的支持正在增长。这可以通过在网络设置中使用私人 DNS 选项(目前为 DoT)或通过设计用于启用 DoH 的特定应用程序来配置。
  • iOS:从 iOS 14 开始,苹果提供了对加密 DNS(DoH 和 DoT)的支持,允许用户在设备级别或按单独网络配置 DNS 设置。

DNS over HTTPS (DoH) 的工作原理

DNS over HTTPS 通过加密用户设备和 DNS 解析器之间的数据来工作。

  1. DNS 查询的启动:当用户尝试访问网站时,浏览器需要将域名解析为 IP 地址。启用 DoH 后,此 DNS 查询不是通过未加密连接发送,而是通过 HTTPS 发出请求。
  2. 查询封装在 HTTPS 中:DoH 将 DNS 请求封装在标准 HTTPS 请求中,使用 SSL/TLS 加密数据。
  3. 传输到兼容 DoH 的解析器:加密的 DNS 查询然后发送到支持 DoH 协议的 DNS 解析器。这些解析器负责解释域名到 IP 地址的查询。
  4. 解析器处理查询:兼容 DoH 的解析器解密 HTTPS 请求以访问 DNS 查询,处理它,找到所请求域名的相应 IP 地址,然后准备 DNS 响应。
  5. 加密响应返回:解析器将 DNS 响应封装在加密的 HTTPS 响应中,并将其返回给用户的设备。
  6. 浏览器接收并解读响应:一旦您的设备接收到加密响应,它会解密数据以提取 DNS 信息。浏览器然后使用提供的 IP 地址与托管网站的 Web 服务器建立安全连接。
  7. 持续安全通信:在初始加密 DNS 解析后,您的 Web 浏览器与网站之间的进一步通信继续加密,保持一个安全连接,保护您的数据免受窃听者侵害。

DoH 和 DoT 之间的区别

DNS over HTTPS 和 DNS over TLS(DoT)都是设计用来保护 DNS 查询隐私的安全协议,但它们以略微不同的方式工作,并在互联网连接的不同部分运行。

  • DoH 通过 HTTPS 工作,使用端口 443,这是用于安全网络浏览的相同端口。DoT 使用其自己指定的端口 853 来加密 DNS 查询。
  • DoH 和 DoT 都加密 DNS 查询,但它们在互联网通信的不同层上进行。DoH 将 DNS 封装在 HTTP 流量中,使其成为 Web 数据的一部分。DoT 在传输层使用 TLS(传输层安全)加密 DNS 查询,但保持 DNS 流量与其他类型的互联网流量分开。
  • DoH 可以轻松集成到 Web 浏览器和应用程序中,因为它通过 HTTP 运行。DoT 在操作系统级别或 DNS 服务器上实现。
  • 由于 DoH 流量与普通 HTTPS 流量无法区分,ISP 或网络上的任何人更难看到或阻止 DNS 查询。由于其独特的端口使用,DoT 可能更容易被阻止。
  • 与传统的未加密 DNS 查询相比,DoH 和 DoT 都提高了安全性和隐私性。在它们之间的选择可能取决于您对隐私的特定需求、您所在的网络以及您使用的设备和应用程序。