DNS over HTTPS (DoH) 加密DNS解析及检测

【美博翻墙2019.8.5】当您在浏览器地址栏中输入域名访问网站时,首先要做的一件事就是由 DNS(域名服务)进行名称查询并解析为相应的服务器IP地址。然而,从这一步开始浏览互联网就存在严重的不安全。怎么解决呢,这是本文要探讨的内容,美博园(allinfa.com)翻墙网尽量把内容描述得易懂和易于操作,也请网友完善补充。

Firefox 浏览器 启用 DNS over HTTPS (DoH)的方法

当前,DoH方案由互联网工程任务组(IETF)支持,其规范文档以 RFC 8484 的名义发布。2018年9月5日发布的Firefox 62正式版加入了这项功能,但需要用户手动开启。

我们在前不久官方更新的Firefox_68 中已经设置了DoH,

火狐浏览器_Firefox_68.8.0esr_美博纯净中文绿色版 - 美博园
https://allinfa.com/firefox-6880esr-allinfa.html
火狐浏览器_Firefox_68.0.1esr_美博园纯净中文绿色版 - 美博园
https://allinfa.com/firefox-6801esr-allinfa.html

但毕竟只是设置了最常用的方式,国内网络情况复杂,也许在某个地方可用,某一段时间可行,但在不同的地区或时间,网友可能还需要自己设置改变,详细方法如下:

1)打开美博园Firefox浏览器
2)在浏览器地址栏输入:
about:config
然后“回车”,
或者,点工具栏上的“书签”→其他书签,点里面预设的 about:config
3)弹出安全警告:点“我了解此风险!”,
4)進入下面進行设置:

要设置的地方有三处:

第一处设置
在进入about:config后的搜索框(不是浏览器地址栏)中输入:

network.trr.mode

鼠标双击network.trr.mode栏,可以在弹出框中修改其中的数字,含义是:

设为 2,使 DNS Over HTTPS 成为浏览器的首选,但使用常规 DNS 作为后备fallback。这是兼容性的最佳设置。
设为 1,让 Firefox 选择更快的模式,
设为 3,使用 TRR only 模式,只用 DNS over HTTPS 做所有的 DNS 查询
设为 0,禁用它。

作为安全性最高的实验目的,美博园纯净版设置为 3

美博园提示:
这里设置为3,就是所有的请求都要DoH查询,速度有所降低、而且可能你所在的地区因封锁严重不能上网;为了安全设置为3,对于国内浏览敏感网站的朋友说必须的。
如果完全不能上网,这里就不得不改为2。这需要在下面第二、三步修改无效后再改。

第二处设置

在进入about:config后的搜索框(不是浏览器地址栏)中输入:

network.trr.uri

鼠标双击network.trr.uri栏,可以在弹出框中修改其中网址,这里的网址是DNS服务商提供的加密服务器

在Firefox68版默认预设了下面的mozilla与cloudflare合作提供的加密DNS服务,
https://mozilla.cloudflare-dns.com/dns-query

在美博园纯净版Firefox中设置的是下面这个,据说mozilla那个有某些方面的限制:
https://cloudflare-dns.com/dns-query

当然,你可以自行修改为下面这些可靠的支持 DNS over HTTPS 查询的 DNS 服务商,请大家自行选择使用:

https://cloudflare-dns.com/dns-query
https://1.1.1.1/dns-query
https://dns.cloudflare.com/.well-known/dns
https://dns.google.com/experimental

第三处设置
在进入about:config后的搜索框(不是浏览器地址栏)中输入:

network.trr.bootstrapAddress

鼠标双击network.trr.bootstrapAddress栏,可以在弹出框中修改其中的ip地址,这是DNS服务商提供的公共DNS地址.
目前有几个可用的DNS地址,可自行选用:

google提供的有:
8.8.8.8
8.8.4.4
cloudflare提供的有:
1.1.1.1
1.0.0.1
Quad9提供的有:
9.9.9.9
等

在美博园纯净版Firefox_68.8.0中设置为: 1.0.0.1

有关1.1.1.1,这里有官方的详细介绍,请参考:
1.1.1.1 - Internet 上最快速、最保护您隐私的 DNS 解析器
https://1.0.0.1/zh-Hans/dns/

据网友说,有些地区1.1.1.1 不好用,您也可改为 1.0.0.1 或其他的试试。

然后,重启 Firefox

过去DNS协议的原生局限和不安全性

互联网三十多年来,DNS(域名服务)是互联网中最原始和最核心的一个部分,DNS一直是访问网站和服务的关键机制。然而,因传统的DNS协议形成于互联网早期,直接基于UDP或TCP协议,这些由客户端自动发起的 DNS查询都没有任何形式的加密、防偷窥或防篡改措施。很显然,这种方式已经很不安全,很不适合当今凶险的互联网,既有黑客多虎视眈眈,也有中共一样的流氓强盗劫持互联网。由于这种没有加密的方式,其他设备可能会收集、阻止、更改这些数据。DNS 查询可能会被发送到一些用来监视用户网站浏览历史记录的服务器,而你不知道这些数据将会被怎样使用。

虽然可以使用基于云的 “开放式解析”,它提供比大多数互联网服务提供商(ISP)更好的隐私控制,但这些解决方案同样依赖于的旧加密协议,所以ISP无论如何都可以拦截你的数据。

后来的DNSSEC方案虽然通过电子签名进行验证,强化了DNS的安全性,并能够抵御DNS污染等篡改通信的手段,但其对于中间网络设备进行的监听仍然没有抵御能力(随后,监听者可以通过获取的通信数据知晓用户访问了哪一域名,而域名往往与具体的网站相关系)。此外,DNSSEC的起效要求现有的大量DNS解析服务的提供商(常为互联网服务提供商或第三方大型互联网机构)对已有的DNS服务器进行大范围修改等问题,其推进进程并不理想。

目前,用户也可以设置一些值得信赖的公共DNS服务商,如 Google 的 8.8.8.8、Cloudflare 的 1.1.1.1,或使用 DNSCrypt 来提高隐私和安全性。但更好的方案是本文要介绍的DNS over HTTPS (DoH)。

DNS over HTTPS (DoH)解决方案

DNS over HTTPS(DoH)是一个保证 DNS 安全查询(域名解析)的方案,当前尚处于实验性阶段。其意义在于以加密的HTTPS协议进行DNS解析请求,避免原始DNS协议中用户的DNS解析请求被窃听或者修改的问题(例如中间人攻击)来达到保护用户隐私的目的。
DNS over HTTPS利用HTTP协议的GET命令发出经由JSON等编码的DNS解析请求。较于传统的DNS协议,此处的HTTP协议通信处于具有加密作用的SSL/TLS协议(两者统称作HTTPS)的保护之下。但是,由于其基于HTTPS,而HTTPS本身需要经由多次数据来回传递才能完成协议初始化,其域名解析耗时较原DNS协议会显著增加。

对于DNS over HTTPS,在正确部署服务端并妥善配置客户端的前提下,互联网服务提供商或其它中间网络设备无法解密(亦即无法获知请求的实际内容)或者篡改已经加密的HTTPS通信,故其能够有效保护互联网用户的安全及隐私;另一方面,其基于已经成熟并已广泛部署的HTTPS协议,客户端进行利用较为方便。

公共DNS对DNS over HTTPS 功能的支持

当前,主要由 Google、Cloudflare 和 Mozilla 等领先技术的科技公司在产品中进行测试使用,作为其提高网络安全性的努力的一部分。

这两篇文章有比较详细的汇总和比较,有兴趣的网友可以去参考:

DNS over HTTPS · curl/curl Wiki · GitHub
https://github.com/curl/curl/wiki/DNS-over-HTTPS
DNS Security and Privacy — Choosing the right provider
https://medium.com/@nykolas.z/dns-security-and-privacy-choosing-the-right-provider-61fc6d54b986

文章指出Google’s 8.8.8.8、CloudFlare’s 1.1.1.1、CleanBrowsing,这三家支持DoH,都不跟踪您的请求,支持DNSSEC并拥有良好的隐私承诺。

列表如下:

提供商 网址 协议 屏蔽 功能
Cloudflare https://cloudflare-dns.com/dns-query
https://1.1.1.1/dns-query
https://1.0.0.1/dns-query
https://[2606:4700:4700::1111]/dns-query
https://[2606:4700:4700::1001]/dns-query
IETF草案 DoH 端点
Google Public DNS https://dns.google.com/resolve Google实验室 DoH 端点
CleanBrowsing 185.228.168.168
185.228.168.169
2a0d:2a00:1::
2a0d:2a00:2::
不适用 成人内容 DoH端点

当然上述文章中,也有提到其他一些DoH提供商,这些为新技术付出努力的都值得大家去测试和尊敬。

如何测试DNS over HTTPS (DoH)是否生效

如果上面设置没有问题,应该可以正常上网浏览网站,美博园纯净版Firefox在发布思维已经作过反复测试;

方式1:ipleak.net网站检测

打开下面这个网站:

https://ipleak.net/

查询结果如下图所示:

DNS over HTTPS (DoH) 加密DNS解析及检测

其中有显示 DNS Address 泄漏检测功能,带 绿色灯的 No leak,表明无泄漏
如果你如上面所述把 network.trr.mode 设置为 3 ,只是通过DoH,那么,你在上图中看到的是 1 或 0 或 2(加IPv6)servers。

方式2:Google 启用 DNS-Over-HTTPS 域名安全查询服务

网址是:https://dns.google.com/

输入域名或ip地址,就可查询,详细的参数解读,美博园(allinfa.com)这里就不详述了。

DNS加密的一些其他方式

这是一篇很好的文章,里面介绍了还有一些其他的DNS加密方式:

DNS Privacy - The Solutions - DNS Privacy Project - Global Site
https://dnsprivacy.org/wiki/display/DP/DNS+Privacy+-+The+Solutions

如:
DNS-over-TLS (DoT)
DNS-over-HTTP (DoH)
DNS-over-DTLS
DNSCrypt
DNS-over-HTTPS (proxied)
DNS-over-QUIC
DNSCurve

看来很多人们都在努力攻克这个难关,让网络恶魔不能再害人整人。

---
在完成了DNS over HTTPS 功能启用之后,就可以方便设置 Firefox 对 ESNI 的支持:

请参考:

ESNI(Encrypted Server Name Indication)及检测
https://allinfa.com/encrypted-server-name-indication-esni.html 

美博园(allinfa.com)根据多篇文章整理首发。

原文链接:https://allinfa.com/dns-over-https-doh.html
原文标题:DNS over HTTPS (DoH) 加密DNS解析及检测 - 美博园
美博园文章均为“原创 - 首发”,请尊重辛劳撰写,转载请以上面完整链接注明来源!
软件版权归原作者!个别转载文,本站会注明为转载。

网 友 留 言

6条评论 in “DNS over HTTPS (DoH) 加密DNS解析及检测”
  1. 博设博设

    我用的是原版,我这里的https://cloudflare-dns.com/dns-query不稳定了,望更改

  2. 博设

    在代理窗口设置打开DoH后,查看network.trr.mode取值为2,一旦在这个DNS被封,将继续使用原来的DNS。network.trr.mode修改为3即可强制使用

  3. ppo

    火狐的设置里面有DNS over HTTPS的选项,在那里设置可以吗?

这里是你留言评论的地方


请留言


3 + 2 =
【您可以使用 Ctrl+Enter 快速发送】
Copyright © 2007 - 2024 , Design by 美博园. 版权所有. 若有版权问题请留言通知本站管理员. 【回到顶部】