阿里云公共DNS安全传输服务介绍(DoH/DoT)

简介: 传统的DNS查询和应答采用大都采用UDP明文传输,存在网络监听、DNS劫持、中间设备干扰的风险。为了应对以上挑战,阿里公共DNS对外提供支持DoH/DoT的云服务,为广大的互联网用户提供快速、稳定和安全的DNS解析,欢迎大家使用!

概述

阿里公共DNS致力于为广大的互联网用户提供快速、稳定和安全的DNS解析。然而传统的DNS查询和应答采用UDP和TCP明文传输,存在网络监听、DNS劫持、中间设备干扰的风险:

  • 网络监听风险:即便用户采用HTTPs加密的方式访问站点,DNS查询应答并没有采用加密传输
  • DNS劫持:传统DNS应答数据会被篡改,用户的访问会被路由到钓鱼网站和恶意站点
  • 中间设备干扰:主要是一些防火墙对DNS查询的干扰,基于域名的过滤,还有大包MTU分片的影响等

为了应对以上挑战,阿里公共DNS遵守DoH(RFC8484)和DoT(RFC7858) 标准对外提供DNS的安全传输服务, 支持 DNS over HTTP(s), DNS Json API, 和DNS over TLS三种安全传输模式。DNS的安全传输服务可以适用于移动应用程序、浏览器、操作系统、物联网设备和网关路由器等多个场景。通过传输加密的方式发送DNS查询,加强了用户访问互联网的安全性、解析稳定和隐私保护。

除了隐私加密以外,DNS安全传输服务采用TCP和HTTP连接用户端和DNS服务器,一方面可以服务精准的基于位置的DNS解析和流量调度,另一方面基于DNS端到端的连接特性,DNS的动态变更可以实现秒级端到端生效。

注意:在DoH和DoT传输服务中,阿里公共DNS支持 TLS 1.2 和TLS 1.3.

1. DNS over HTTPs(DoH)

阿里公共DNS通过RFC 8484指定的经过TLS加密的HTTP连接提供DNS解析

DNS over HTTPs(DoH)的URI接口 :(仅提供TLS API)

注意:其中alidns_ip是dns.alidns.com 的A和AAAA记录,可以是以下四个地址之一 :223.5.5.5,223.6.6.6,2400:3200::1, 2400:3200:baba::1. 

请求方式: GET
请求参数 :

参数 类型 描述 示例 默认值
dns string base64url编码的DNS请求内容 dig alibaba.comd A, dns=uGkBAAABAAAAAAAAB2FsaWJhYmEDY29tAAABAAE 必须包含

请求示例  : https://dns.alidns.com/dns-query?dns=uGkBAAABAAAAAAAAB2FsaWJhYmEDY29tAAABAAE 
返回的DNS二进制数据  :

b869 8180 0001 0004 0000 0001 0761 6c69
6261 6261 0363 6f6d 0000 0100 0107 616c
6962 6162 6103 636f 6d00 0001 0001 0000
012c 0004 6a0b d097 0761 6c69 6261 6261
0363 6f6d 0000 0100 0100 0001 2c00 04cb
77d7 5207 616c 6962 6162 6103 636f 6d00
0001 0001 0000 012c 0004 6a0b df65 0761
6c69 6261 6261 0363 6f6d 0000 0100 0100
0001 2c00 04cb 7781 6d00 0029 1000 0000
0000 000c 0008 0008 0001 2018 6a0b 22e6

 
注:根据RFC8484的定义,DoH服务适用于两类场景:一种是DNS HTTPS隧道,一种是应用层访问DNS数据。DNS wireformat二进制格式对应用不够友好,比如要处理DNS名字压缩机制等。DNS Json的API是为了提供给应用更友好的接入方式。

2. DNS JSON API

DNS JSON API的URL 接口  (提供TLS和非TLS API)

注意:其中alidns_ip是dns.alidns.com 的A和AAAA记录,可以是以下四个地址之一 :223.5.5.5,223.6.6.6,2400:3200::1, 2400:3200:baba::1. 

请求方式  : GET
请求参数  :

参数 类型 描述 示例 使用方法和默认值
name string 请求域名 name=www.taobao.com. 必选,无默认值
type number 请求类型 type=1 可选,1
edns_client_subnet IP ECS IP edns_client_subnet=1.2.3.4/24 DNS代理使用,普通客户端不适用

**
关于edns_client_subnet参数 :

edns_client_subnet是为了支持DNS ECS功能(RFC7871),将用户的子网信息传递给权威DNS,做更精确的DNS解析和流量调度。其中掩码越长地址信息越精确,掩码越短用户隐私效果越好。建议使用"/24" 掩码长度

注:该参数是特地为DNS代理(proxy)使用DNS JSON API场景设计,即用户发送DNS查询给DNS代理,DNS代理通过该参数携带用户的子网信息传递给阿里公共DNS,最后传递到权威DNS服务器。

例如edns_client_subnet=1.2.3.4/24,权威服务器会收到基于1.2.3.0/24地址前缀信息来帮助用户选择DNS链路。

关于type参数支持类型

记录类型 ID 意义 示例(以 taobao.com , www.taobao.com 为例)
A 1 IPv4 地址 101.37.183.171
NS 2 NS 记录 ns1.taobao.com.
CNAME 5 域名 CNAME 记录 www.taobao.com.danuoyi.tbcache.com.
SOA 6 ZONE 的 SOA 记录 ns4.taobao.com. hostmaster.alibabadns.com. 2018011109 3600 1200 3600 360
TXT 16 TXT 记录 "v=spf1 include:spf1.staff.mail.aliyun.com -all"
AAAA 28 IPv6 地址 240e:e1:f300:1:3::3fa

请求示例:
http://dns.alidns.com/resolve?name=www.taobao.com.&type=1
返回示例:

{
    "Status":0,  
    "TC":false,
    "RD":true,
    "RA":true,
    "AD":false,
    "CD":false,
    "Question":{       // 请求段
        "name":"www.taobao.com.",
        "type":1
    },
    "Answer":[         // 应答段
        {
            "name":"www.taobao.com.",
            "TTL":45,
            "type":5,
            "data":"www.taobao.com.danuoyi.tbcache.com."
        },
        {
            "name":"www.taobao.com.danuoyi.tbcache.com.",
            "TTL":45,
            "type":1,
            "data":"47.246.24.234"
        },
        {
            "name":"www.taobao.com.danuoyi.tbcache.com.",
            "TTL":45,
            "type":1,
            "data":"47.246.24.233"
        }
    ]
    //"Authority" 权威段, 如果有数据与Answer字段一致 
    //"Additional" 附加段, 如果有数据与Answer字段一致
    // 可选 "edns_client_subnet":"1.2.3.4/24"  
}

注:用户可以在客户端应用或APP中调用DoH和DNS JSON API解析DNS 。

3. DNS over TLS (DoT)

阿里公共DNS通过RFC 7858指定的经过TLS加密的TCP连接提供DNS解析。提供两种模式接入:域名方式和IP方式。基本流程是:

  1. 终端设备配置DoT的解析服务器dns.alidns.com 或alidns_ip
  2. 如果配置的是alidns.com,客户端先解析alidns.com获得地址alidns_ip
  3. 获得DoT解析服务器IP地址之后,终端设备再建立与DoT解析服务器在端口853 的TCP连接
  4. 经过TLS握手协商,终端设备与DoT解析服务器建立TLS连接
  5. 通过该TLS连接,终端设备可以发送DNS查询到远端DoT解析服务器

对使用安卓手机的用户来说,可以设置在手机设置界面设置阿里公共DNS的域名和地址来获取DNS的DoT安全传输服务。

image
image

华为手机的DoT网络设置

相关文章
|
11天前
|
监控 负载均衡 Cloud Native
ZooKeeper分布式协调服务详解:面试经验与必备知识点解析
【4月更文挑战第9天】本文深入剖析ZooKeeper分布式协调服务原理,涵盖核心概念如Server、Client、ZNode、ACL、Watcher,以及ZAB协议在一致性、会话管理、Leader选举中的作用。讨论ZooKeeper数据模型、操作、会话管理、集群部署与管理、性能调优和监控。同时,文章探讨了ZooKeeper在分布式锁、队列、服务注册与发现等场景的应用,并在面试方面分析了与其它服务的区别、实战挑战及解决方案。附带Java客户端实现分布式锁的代码示例,助力提升面试表现。
30 2
|
1月前
|
存储 弹性计算 数据可视化
要将ECS中的文件直接传输到阿里云网盘与相册(
【2月更文挑战第31天】要将ECS中的文件直接传输到阿里云网盘与相册(
415 4
|
1月前
|
SQL 弹性计算 安全
购买阿里云活动内云服务器之后设置密码、安全组、增加带宽、挂载云盘教程
当我们通过阿里云的活动购买完云服务器之后,并不是立马就能使用了,还需要我们设置云服务器密码,配置安全组等基本操作之后才能使用,有的用户还需要购买并挂载数据盘到云服务器上,很多新手用户由于是初次使用阿里云服务器,因此并不知道这些设置的操作流程,下面给大家介绍下这些设置的具体操作流程。
购买阿里云活动内云服务器之后设置密码、安全组、增加带宽、挂载云盘教程
|
1月前
|
网络协议 Linux
Linux DNS服务详解——DNS主从架构配置
Linux DNS服务详解——DNS主从架构配置
407 4
|
1月前
|
域名解析 缓存 网络协议
Linux DNS服务详解——DNS基础知识
Linux DNS服务详解——DNS基础知识
72 1
|
2月前
|
存储 监控 安全
360 企业安全浏览器基于阿里云数据库 SelectDB 版内核 Apache Doris 的数据架构升级实践
为了提供更好的日志数据服务,360 企业安全浏览器设计了统一运维管理平台,并引入 Apache Doris 替代了 Elasticsearch,实现日志检索与报表分析架构的统一,同时依赖 Doris 优异性能,聚合分析效率呈数量级提升、存储成本下降 60%....为日志数据的可视化和价值发挥提供了坚实的基础。
360 企业安全浏览器基于阿里云数据库 SelectDB 版内核 Apache Doris 的数据架构升级实践
|
12天前
|
云安全 数据采集 安全
阿里云安全产品,Web应用防火墙与云防火墙产品各自作用简介
阿里云提供两种关键安全产品:Web应用防火墙和云防火墙。Web应用防火墙专注网站安全,防护Web攻击、CC攻击和Bot防御,具备流量管理、大数据防御能力和简易部署。云防火墙是SaaS化的网络边界防护,管理南北向和东西向流量,提供访问控制、入侵防御和流量可视化。两者结合可实现全面的网络和应用安全。
阿里云安全产品,Web应用防火墙与云防火墙产品各自作用简介
|
12天前
|
弹性计算 安全
电子好书发您分享《阿里云第八代企业级ECS实例,为企业提供更安全的云上防护》
阿里云第八代ECS实例,搭载第五代英特尔至强处理器与飞天+CIPU架构,提升企业云服务安全与算力。[阅读详情](https://developer.aliyun.com/ebook/8303/116162?spm=a2c6h.26392459.ebook-detail.5.76bf7e5al1Zn4U) ![image](https://ucc.alicdn.com/pic/developer-ecology/cok6a6su42rzm_f422f7cb775444bbbfc3e61ad86800c2.png)
35 14
|
25天前
|
云安全 编解码
阿里云安全视频审核的最大文件大小为**200MB**。
阿里云安全视频审核的最大文件大小为**200MB**。
13 1
|
1月前
|
域名解析 缓存 网络协议
探索Qt 网络编程:网络地址与服务类全解析
探索Qt 网络编程:网络地址与服务类全解析
54 0

相关产品

  • 云解析DNS
  • 推荐镜像

    更多