欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  新闻

配置DNS over HTTPS来阻止DNS污染

程序员文章站 2022-07-03 22:49:30
dns(域名系统)的主要功能是将域名解析成ip地址,域名的解析工作由dns服务器完成。从安全角度来看,域名解析的请求传输时通常不进行任何加密,这导致第三方能够很容易拦截用户的dns,将用户的请求跳转到...

  dns(域名系统)的主要功能是将域名解析成ip地址,域名的解析工作由dns服务器完成。从安全角度来看,域名解析的请求传输时通常不进行任何加密,这导致第三方能够很容易拦截用户的dns,将用户的请求跳转到另一个地址,常见的攻击方法有。因此,使用不加密的dns服务是不安全的。

  doh(dns over https)是一个安全的域名解析方案。其意义在于以加密的https协议进行dns解析请求,避免原始dns协议中用户的dns解析请求被窃听或者修改的问题(例如中间人攻击)来达到保护用户隐私的目的。因此,攻击者将无法查看请求的url并对其进行更改,如果使用了基于https的dns,数据在传输过程中发生丢失时,doh中的传输控制协议(tcp)会做出更快的反应。

  不过,由于其基于https,而https本身需要经由多次数据来回传递才能完成协议初始化,因此dns over https的域名解析耗时较原dns协议会显著增加。

  目前,主流的浏览器和操作系统均已经支持dns over https,不少移动设备也开始支持基于https的dns选项。

  谷歌浏览器设置方法

  设置-隐私设置和安全性-使用安全dns,系统默认的几个都不好用,建议使用自定义dns,参数如图所示,设置好了以后,即可在chrome里防止dns污染。

  火狐浏览器设置方法

  设置-常规-网络设置-设置-启用基于https的dns,建议使用自定义dns,参数如图所示,设置好了以后,即可在firefox里防止dns污染。

  安卓android操作系统设置方法

  设置-连接设置-私密dns/私人dns/加密dns设置。此外,谷歌的安卓浏览器也支持设置doh。

   10操作系统设置方法

  windows系统版本必须为windows 10 build 19628版及以上版本,暂时低于该版本的系统均不支持doh加密。使用winver可查看当前windows系统版本。

  打开注册表编辑器,找到如下路径:

  hkey_local_machine\system\currentcontrolset\services\dnscache\parameters

  右键点击右侧空白处新建dword然后将其命名为enabledautodoh,双击该项然后将其键值由默认值修改2并保存,保存成功后重启计算机。

配置DNS over HTTPS来阻止DNS污染

  接下来,在查看网络连接设置里,选择属性-internet protocol version 4 (tcp/ipv4) ,设置dns为如下数值。

cloudflare – 首选: 1.1.1.1, 备用: 1.0.0.1
google – 首选:8.8.8.8, 备用: 8.8.4.4
quad9 – 首选: 9.9.9.9, 备用: 149.112.112.112

配置DNS over HTTPS来阻止DNS污染

  在windows 10 build 20185版及以上版本,可以直接设置。

  设置-网络状态-属性,点击dns设置里的编辑,设置dns为如下数值。

cloudflare – 首选: 1.1.1.1, 备用: 1.0.0.1
google – 首选:8.8.8.8, 备用: 8.8.4.4
quad9 – 首选: 9.9.9.9, 备用: 149.112.112.112

配置DNS over HTTPS来阻止DNS污染

  常见的支持doh的公共dns服务器

  国内:

  腾讯: https://doh.pub/dns-query

  阿里巴巴: https://dns.alidns.com/dns-query

  360: https://doh.360.cn/dns-query

  国外:

  cloudflare: https://1.1.1.1/dns-query

  google public dns: https://dns.google/dns-query

  open dns: https://doh.opendns.com

  quad9 dns: https://dns.quad9.net/dns-query

  除了基于https的dns外,目前还有另一种用于保护域名系统的技术:基于tls的dns(dot)。这两个协议看起来很相似,都承诺了更高的用户安全性和隐私性。dot使用了安全协议tls,在用于dns查询的用户数据报协议(udp)的基础上添加了tls加密。dot使用853端口,doh则使用https的443端口。

  由于dot具有专用端口,因此即使请求和响应本身都已加密,但具有网络可见性的任何人都可以发现来回的dot流量。doh则相反,dns查询和响应和其他https流量完全一样,很难进行监视和识别。

配置DNS over HTTPS来阻止DNS污染