E X P
正努力加载中…
  • 编辑
  • 评论
  • 标题
  • 链接
  • 查错
  • 图文
  • 拼 命 加 载 中 ...

    刚才的新闻中提到了DNS over HTTPS这项技术,这篇有问有答就简单地为各位读者介绍一下加密DNS协议的发展过程。首先我们需要了解一下传统DNS上面存在的一些问题。

    DOH_BANNER_900

    DNS的安全性缺陷

    DNS全称Domain Name System,在当今的互联网协议中,它是一个域名与IP对应的系统,我们通过域名访问一个地址需要经过DNS查询获取该域名的真实IP地址,比如说访问我们网站的时候,浏览器就会向系统指定的DNS服务器发送一个请求,让DNS服务器返回该域名的真实IP地址。

    传统的DNS方式是通过53端口向DNS服务器发送明文的请求信息,如果有意的话,ISP可以很容易地在用户到DNS服务器之间将这个请求进行劫持,由于传统DNS请求基于无连接的UDP协议,用户端只接受最快到达的查询结果,所以ISP可以通过抢先应答的方式向用户返回错误的IP,这种做法被称为域名劫持,这是DNS协议的一个典型缺陷。

    一般在完成ISP的PPPoE认证连上互联网之后,ISP会提供两个DNS服务器的IP,这两个DNS服务器就是典型的DNS缓存服务器,它缓存了用户曾经通过它请求的域名-IP对应信息,这类服务器被称为非权威域名服务器,它向用户返回的都是经过缓存的IP信息,其中就有可能存在被恶意篡改的域名-IP对,使用这台缓存服务器的所有用户在查询特定域名时都将得到错误的结果,这就是缓存投毒。

    以上只是两个常见的DNS协议自身设计缺陷,它的这些缺陷主要存在于安全性方面,而利用这些缺陷,ISP可以通过域名劫持做到在网页上面插入广告,攻击者可以对用户进行DNS欺骗将用户发送的网络请求引向假的服务器以获得用户数据。而DNS协议存在的另一个缺陷就是它是用明文进行传输的,只要有心人对你的53端口进行监听,他们就可以轻而易举地知道你访问了哪些网站。

    但是DNS协议作为当今互联网的基石之一,不可能轻易地用一种新的协议去取代它,只能用其他手段在DNS协议外面进行防护,提高它的安全性和私密性。从这个思路出发,人们提出了几种方案,首先是1997年提出的DNSSEC。

    从DNSSEC到DNS over HTTPS

    很早就有但是没完全普及的DNSSEC

    DNSSEC为原本的DNS协议引入了一个数字签名验证机制,它在DNS请求包的头部加入了一段数字签名,通过现代的数字证书验证体系保证DNS查询结果的正确性,或者用信息安全的话来说,就是保证了DNS查询结果的完整性。

    DNSSEC在1997年提出,发展至今已经非常成熟了,很多公共域名服务器都支持它。但是DNSSEC只解决了DNS协议的安全性问题,它没有对DNS查询内容进行加密,别人还是很容易就可以看到你访问的网站。

    没有标准化的DNSCrypt

    于是,又有新的选手站了出来。这次上台的是DNSCrypt,名字里面都带Crypt了那它肯定是有加密的,是的,它对DNS查询过程做了完整的加密,可以做到查询结果没有问题,别人也看不到你查询了什么域名。

    但是问题来了,DNSCrypt并没有进行标准化流程,这导致了它无法在互联网上面得到广泛的应用。

    DNS over TLS与DNS over HTTPS

    前两个选手的挑战都没有取得完全的胜利,于是又有新的选手站上了擂台,这次的俩兄弟长得很像。DNS over TLS(DoT)使用TLS协议确保DNS查询过程的完整性和保密性,而DNS over HTTPS(DoH)则是使用HTTPS协议进行通信,比它哥哥DoT还多了一层HTTP协议。

    DoT标准正式发布于2016年,而DoH标准正式成文于2018年10月,但是后者被接受的程度远超前者,这是为什么呢?还是兼容性问题。

    DoH基于HTTP之上,在使用便利性上面比基于裸套TLS的DoT要高不少。相对于DoT,各大系统、浏览器都可以比较简单地将DoH整合进去。而且公共DNS对于DoH的支持速度也非常快,现在我们能够想到的国外的DNS基本都支持了DoH,它大有成为老旧DNS协议升级版的趋势。

    目前支持DoH的浏览器和DNS服务器

    浏览器

    • · Firefox

    • · Chrome

    作为DoH标准的主要推动者,Mozila和Google自然是很快就在自家浏览器里面加入了对于DoH的支持,现在网上已经有很多在这两个浏览器中开启DoH的教程了,这里就不再赘述。

    公共DNS服务器

    如果想用DoH,DNS服务器的支持肯定是要的,而出于利益原因,国内ISP们的DNS短时间肯定是不会支持的,而像大的几个DNS服务器短时间内也很难加上DoH的支持,只能看国外了。

    • · 1.1.1.1

      这是全球最大的CDN服务商Cloudflare提供的公共DNS,相当好记。

    • · 8.8.8.8

      长期被污染的Google公共DNS在DoH下终于可以使用了。

    总结

    DNS over HTTPS可以说是目前最有希望的DNS协议继任者,已经得到了几大软件巨头和域名提供商的鼎力支持。如果你长期遭受DNS污染或者欺诈,在换用其他公共DNS后效果不明显的,可以尝试使用DNS over HTTPS来获得更好的网上冲浪体验。而对于非常在意自己隐私的用户来说,DNS over HTTPS更是一项不可或缺的技术,帮助你更好的保护自己的隐私不被他人窥探。

    ×
    热门文章
    1超能课堂(241):机箱里的那些连接线到底有什么用?
    2Intel 2020架构日活动:官方公布10nm SuperFin制程详情
    3Intel 2020架构日活动:官方揭开Xe架构面纱,同时公布面向游戏的Xe-HPG架构
    4Intel 2020架构日活动:官方公布Tiger Lake架构详情
    5Intel 2020架构日活动:大小核设计的Alder Lake得到确认,在性能上不会妥协
    6Intel 2020架构日活动:新一代傲腾SSD和144L的QLC在路上
    7三星Note20系列国行版售价公布:最低7399元,最高9999元
    8“史诗”级对决:Epic就Apple下架《堡垒之夜》提出起诉
    9华擎两款A520主板曝光,确认不支持PCI-E 4.0
    已有 17 条评论,每一条合规评论都是对我们的褒奖。
    • 游客 2019-11-20 21:02

      游客

      马上就建443端口白名单给你看~
      2019-11-20 14:32
    • 支持(2)  |   反对(0)  |   举报  |   回复
    • 所有HTTPS的网站都要用443的,也就是说每一个网站都可以是一个DNS

      支持(2)  |   反对(0)  |   举报  |   回复

      17#

    • 游客 2019-11-20 14:32

      马上就建443端口白名单给你看~

      支持(2)  |   反对(0)  |   举报  |   回复

      16#

    • tdn0102教授 2019-11-20 07:48  加入黑名单

      游客

      我家里ping 1111还是8888都是1ms,请问属于什么情况?
      2019-11-20 03:03
    • 支持(1)  |   反对(0)  |   举报  |   回复
    • 被劫持了,返回你一个空网址解析到本地,所以自然只有1ms

      支持(5)  |   反对(0)  |   举报  |   回复

      15#

    • 游客 2019-11-20 03:03

      我家里ping 1111还是8888都是1ms,请问属于什么情况?

      支持(1)  |   反对(0)  |   举报  |   回复

      14#

    • 游客 2019-11-20 02:09

      游客

      管你DNS over 什么,IP没了
      2019-11-19 23:27
    • 支持(1)  |   反对(0)  |   举报  |   回复
    • 有的,不光有一个而且还有v6

      支持(0)  |   反对(0)  |   举报  |   回复

      13#

    • 游客 2019-11-19 23:27

      管你DNS over 什么,IP没了

      支持(1)  |   反对(0)  |   举报  |   回复

      12#

    • tzw0745研究生 2019-11-19 22:19  加入黑名单

      游客

      墙现在应该直接用硬件防火墙404的多,DNS污染这种很少用了
      2019-11-19 15:13
    • 支持(2)  |   反对(0)  |   举报  |   回复
    • 你以为手段变多了dns污染就不用了?naive。nslookup谷歌每次返回的结果都不一样,你觉得呢

      支持(2)  |   反对(0)  |   举报  |   回复

      11#

    • 游客 2019-11-19 15:53

      投毒是解决了,但是国内的CDN还是没解决啊,几时有大型国内的公共DNS支持那就屌了

      支持(2)  |   反对(0)  |   举报  |   回复

      10#

    • 倪嘉声编辑 2019-11-19 15:21  加入黑名单

      游客

      走HTTPS握手次数变多,不会变慢吗?
      2019-11-19 14:43
    • 支持(3)  |   反对(0)  |   举报  |   回复
    • 会,但是因为有本地缓存,影响一般

      支持(3)  |   反对(0)  |   举报  |   回复

      9#

    • 游客 2019-11-19 15:18

      以后DNS投毒没用了,但是直接封IP依然有效。

      支持(5)  |   反对(0)  |   举报  |   回复

      8#

    • 游客 2019-11-19 15:13

      游客

      你这是间接科普GFW原理
      2019-11-19 14:10
    • 支持(8)  |   反对(1)  |   举报  |   回复
    • 墙现在应该直接用硬件防火墙404的多,DNS污染这种很少用了

      支持(2)  |   反对(0)  |   举报  |   回复

      7#

    • 游客 2019-11-19 14:44

      这个新东西能绕过 dns污染么?

      支持(3)  |   反对(0)  |   举报  |   回复

      6#

    • 游客 2019-11-19 14:43

      走HTTPS握手次数变多,不会变慢吗?

      支持(3)  |   反对(0)  |   举报  |   回复

      5#

    • 倪嘉声编辑 2019-11-19 14:17  加入黑名单

      游客

      你这是间接科普GFW原理
      2019-11-19 14:10
    • 支持(8)  |   反对(1)  |   举报  |   回复
    • 只是一部分原理而已……

      已有1次举报

      支持(4)  |   反对(0)  |   举报  |   回复

      4#

    • 游客 2019-11-19 14:10

      你这是间接科普GFW原理

      支持(8)  |   反对(1)  |   举报  |   回复

      3#

    • 游客 2019-11-19 14:05

      游客

      国内有geek以及redfish支持DoT、DoH
      2019-11-19 14:03
    • 支持(0)  |   反对(0)  |   举报  |   回复
    • 是rubyfish

      支持(0)  |   反对(0)  |   举报  |   回复

      2#

    • 游客 2019-11-19 14:03

      国内有geek以及redfish支持DoT、DoH

      支持(0)  |   反对(0)  |   举报  |   回复

      1#

    我来评论
    为你推荐