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

概述

阿里公共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)

  • https://dns.alidns.com/dns-query?
  • https://alidns_ip/dns-query?

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

请求方式: GET
请求参数 :

参数类型描述示例默认值
dnsstringbase64url编码的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)

  • https://dns.alidns.com/resolve?
  • https://alidns_ip/resolve?
  • http://dns.alidns.com/resolve?
  • http://alidns_ip/resolve?

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

请求方式  : GET
请求参数  :

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

**
关于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 为例)
A1IPv4 地址101.37.183.171
NS2NS 记录ns1.taobao.com.
CNAME5域名 CNAME 记录www.taobao.com.danuoyi.tbcache.com.
SOA6ZONE 的 SOA 记录ns4.taobao.com. hostmaster.alibabadns.com. 2018011109 3600 1200 3600 360
TXT16TXT 记录"v=spf1 include:spf1.staff.mail.aliyun.com -all"
AAAA28IPv6 地址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网络设置

原文链接
本文为云栖社区原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/516127.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一文教你如何在生产环境中在Kubernetes上部署Jaeger

作者 | Dotan Horovit翻译 | 火火酱~责编 | 晋兆雨出品 | CSDN云计算日志、指标和跟踪是“可观察性”领域的三大支柱。最近几个月,随着OpenTelemetry标准化以及Jaeger开源项目从CNCF孵化项目中顺利毕业,分布式跟踪领域出现了很多创新。根据DevOps Pulse…

一篇讲透如何理解数据库并发控制

01数据库并发控制的作用 1.1 事务的概念 在介绍并发控制前,首先需要了解事务。数据库提供了增删改查等几种基础操作,用户可以灵活地组合这几种操作,实现复杂的语义。在很多场景下,用户希望一组操作可以做为一个整体一起生效&…

工作簿长时间空闲时自动关闭

目录 1. 对关闭时间和关闭工作薄进行设置2. 利用 OnTime 方法对执行程序进行设置3. 对工作薄的变化进行设置1. 对关闭时间和关闭工作薄进行设置 在新建模块中声明一个时间作为全局的变量,该变量将是每次工作薄发生改变后延续的时间,另外再设置一个工作薄关闭的过程。 代码如…

打钱!我的数据库被黑客勒索了!

来源 | 小白学黑客责编 | 晋兆雨头图 | 付费下载于视觉中国数据库失陷昨天晚上,读者群里一位小伙伴发消息说自己的数据库被黑了,搞安全的我自然是立刻来了兴趣,加班加点开始分析起来,不知道的还以为我要熬夜等剁手节呢。这位小伙伴…

uni-app集成uview

文章目录一、uni_modules方式1. 创建uni-app项目2. 安装uview3. 安装SCSS插件二、配置步骤2.1. 引入uView主JS库2.2. 引入主题文件2.3. 引入uView基础样式2.4. 配置easycom组件模式2.5. 实战三、zip方式3.1. 创建uni-app项目3.2. 下载uview3.3. 解压重命名3.4. 拷贝UI3.5. 安装…

阿里云飞天洛神2.0:高性能网络软硬一体化技术实践

云网络架构 云计算从9年前被质疑为新瓶装旧酒,到经过多年的高速发展,正在成为水电煤一样的基础设施。云网络构建在物理网络之上,为云计算提供灵动、智能的网络连接。云网络的性能和稳定性是云计算的基石。 VPC是云网络的基础,VP…

新一轮支付革命,利楚扫呗的数据库优化之路

中国移动支付市场崛起过程中,第三方、第四方等非银行支付机构在2017年至2019年之间,把移动支付交易量从300多亿笔拉升至近1800亿笔,充分彰显以扫码支付为代表的移动支付革命引领一时风潮。 利楚扫呗作为华中地区领先的金融收单企业也是其中一…

IM、RTC技术两生花,看融云如何打造“IM+RTC+Push”一站式通信云服务

11月9日,融云宣布完成数亿元人民币的D轮融资。从李佳琦和明星扎堆的电商直播,到疫情期间在线教育的全面普及,再到5G技术进入商用,实时音视频技术(Real-Time Communication,以下简称RTC)迎来了全…

阿里云助力浙江大学信息化建设,以实时数据驱动校园智能管理

随着网络信息化技术的不断进步,就我国高校而言,传统的学习和生活模式已无法满足学生的需求;老机房堆硬件的建设,给信息化深度建设的管理和运维工作人员造成了巨大的麻烦。这些因素促使各所高校对校园智能管理的需求日益剧增。 20…

1 元秒杀 1000+ 册爆款电子书,错过再等一年!

wow代码人们让钱包瑟瑟发抖的双十一已经来啦与此同时码不停蹄地向你奔赴而来的还有 CSDN 为你准备的???? 1 元秒杀 ????价值 3.5 万元的爆款电子书限时特惠,仅需 1 元你,准备好了吗仅限 1000 人速领????????????错过悔10年系列好书

谊品生鲜:放弃传统数据库架构,全站上阿里云

疫情之下,生鲜电商的订单突然暴涨。 社区生鲜龙头企业谊品生鲜就是一个典型代表。它的在线交易量激增,日订单量超过10万单。 对电商企业而言,这对业务是个巨大的好消息;但对于IT、对于谊品生鲜的核心业务系统则是一个巨大的挑战…

教你一招,如何解决 “这台电脑无法运行 Windows 11” 的问题

目录1. 系统兼容性检测2. 为什么我的电脑不能运行Windows 11?3. 最低系统要求4. 如何开启 TPM 受信任模块5. 微软坚持最低要求的理由6. 最新补充6.1 更新支持的 CPU 列表6.2 旧电脑也能安装 Windows 11,但后果自负微软于 6.24 正式推出了全新的 Windows …

Flink SQL 的 9 个示例

作者:贺小令(晓令) 本文由阿里巴巴技术专家贺小令分享,社区志愿者郑仲尼整理。文章基于 Flink 1.9 版本,从用户的角度来讲解 Flink 1.9 版本中 SQL 相关原理及部分功能变更,希望对大家有所帮助。主要内容分…

如何破解“中国开源拿来主义”?包云岗的几点分析

作者 | 包云岗责编 | 王晓曼本文经作者授权转载自包云岗知乎以下视频是2011-2019期间全世界开源代码贡献最多的城市排名:旧金山一骑绝尘,其他主要是美欧城市;亚洲有东京、首尔上榜;莫斯科也贡献突出。但是,很遗憾没有中…

uni-app获取腾讯地图计算两经纬度的实际距离(可批量)

地址 https://lbs.qq.com/service/webService/webServiceGuide/webServiceDistance getDistance() {uni.request({url: https://apis.map.qq.com/ws/distance/v1/matrix, //仅为示例,并非真实接口地址。method: GET,data: {mode: walking,from: 39.071510,117.190…

JavaScript 常用工具函数

目录 1. 为元素添加 on 方法2. 为元素添加trigger方法3. 转义 HTML 标签4. HTML 标签转义5. 跨浏览器绑定事件5. 加入收藏夹7. 提取页面代码中所有网址8. 动态加载脚本文件9. 返回顶部的通用方法10. 实现base64解码11. 确认是否是键盘有效输入值12. 全角半角转换13. 版本对比14…

JS前端常用工具方法

目录 1. 邮箱2. 手机号码3. 电话号码4. URL地址5. 是否字符串6. 是否数字7. 是否Boolean8. 是否函数9. 是否为null10. 是否undefined11. 是否对象12. 是否数组13. 是否时间14. 是否正则15. 是否错误对象16. 是否Symbol函数17. 是否Promise对象18. 是否Set对象19. 是否是微信浏览…

JS向数组添加元素,插入数据

js中对于数组的操作很常见,下面记录一下js向数组添加元素的方法。 let myArray[11,22,33];console.log(原数组:,myArray);myArray.push(44,55);console.log(用push在数组后面插入元素:,myArray);myArray.unshift(66,77);console.log(用unshif…

小程序 获取腾讯地图计算两经纬度的实际距离(可批量)_多地打卡

文章目录一、小程序1. 安装vue-jsonp2. 引入腾讯sdk3. 实例化4. 二点求距离5. 多点求距离文档地址:https://lbs.qq.com/service/webService/webServiceGuide/webServiceDistance申请开发者密钥(key): 申请密钥一、小程序 1. 安装…

前端常用 JavaScript 方法封装

目录 1. 输入一个值,返回其数据类型**2. 数组去重3. 字符串去重4. 深拷贝 浅拷贝5. reverse底层原理和扩展6. 圣杯模式的继承7. 找出字符串中第一次只出现一次的字母8. 找元素的第 n 级父元素9. 返回元素的第n个兄弟节点10. 封装mychildren,解决浏览器的兼容问题11. 判断元素…