当前位置:   article > 正文

DOH简介

doh

1. 前言、?

由于传统DNS解析中存在的一些问题(见DNS解析过程),所以出现了类似于DOH之类的技术,那么什么是DOH呢?

2. 什么是DOH

DoH(DNS-over HTTPS)。由于DNS查询会通过未加密的UDP连接发送请求,任何在网络上侦听数据包的人都会知道我正在尝试访问xx.xx网站。

DNSSEC还通过提供一种检查DNS答案的有效性的机制来解决此问题,但是只有百分之几的域使用DNSSEC

为了提高用户的安全性和隐私性,需要对DNS查询进行加密。DoH就是其中的一种方式,它是通过HTTPS发送DNS查询请求

RFC 8484中定义了DoH的相关规范。支持DoH协议的服务器被称作DoH服务器,支持DoH协议的客户端被称作DoH客户端

从前面的介绍,我们知道传统DNS的查询使用的是未加密的UDP协议发送和接受数据,这十分的不安全。

RFC 8484规范中定义了DoH的一些规范。如:
        DoH一次TCP连接可多次发送DNS请求,长连接的方式提高了性能。通常情况下,DoH服务器不应该接受DoH客服端提供的cookies。DoH服务器必须实现GETPOST。DoH server 必须能够处理 application/dns-message 的请求。

在这里插入图片描述
在这里插入图片描述

dnscrypt是位于DOH服务器上的一个客户端,dnscrypt负责安全地转发DNS请求

3. DNSSEC、HTTPDNS、DoT和DoH的区别

DNSSEC

Domain Name System Security Extensions,DNS安全扩展,是由IETF提供的一系列DNS安全认证机制DNSSEC通过数字签名来保证DNS应答报文的真实性和完整性。简单来说,权威服务器使用私钥对资源记录进行签名,递归服务器利用权威服务器的公钥对应答报文进行验证。如果验证失败,则说明这一报文可能是有问题的。缺点是,不能保证可用性、对DNS解析性能有一定影响(占用更多的CPU、内存、磁盘等资源)。

HTTPDNS

HTTPDNS 使用HTTP协议进行域名解析,代替现有基于UDP的DNS协议,域名解析请求直接发送到配置的HTTPDNS服务器,从而绕过运营商的Local DNS,能够避免Local DNS造成的域名劫持问题调度不精准问题

DoT

DNS over TLS,使用TLS对DNS查询进行加密,保证数据的隐私性,不易被中间人窃听篡改,然后使用TCP传输DNS查询。缺点是DoT使用固定的端口853,中间人可以通过是否为853端口知道请求是否是DNS查询请求。

DoH

DNS over HTTPS,使用HTTPS协议发送DNS查询,使用HTTPS的443端口,中间人无法通过查看端口的方式来分别此请求是否为DNS查询请求。相比于DoT而言,DoH能够更好地隐藏DNS查询流量

4. 常用的DoH

国外****DoH

  • Cloudflare.dns:1.1.1.1/1.0.0.1

  • 谷歌dns:8.8.8.8/8.8.4.4

  • IBM Quad9 dns:9.9.9.9

国内****DoH

  • 阿里 https://www.alidns.com/
    DNS over HTTPs(DoH)的URI接口 :(仅提供TLS API)
    https://dns.alidns.com/dns-query?
    https://alidns_ip/dns-query?
    在这里插入图片描述

  • 360 https://doh.360.cn/
    在这里插入图片描述
    通过curl发送一个DoH查询请求:
    curl --location --request GET "htts://doh.360.cn/query?name=www.baidu.com" --header "Accet:application/dns-json"
    DoH服务器返回的响应如下边所示:

    在这里插入图片描述

5. 参考文献

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/596521
推荐阅读
相关标签
  

闽ICP备14008679号