D妹上新|DoH和DoT开始公测啦!

要讲DoT和DoH,不可避免的咱们要重温一下DNS协议的历史。程序员


DNS协议在1987年甚至更早的时候就被规范好,那个年代互联网安全还不是严重的威胁,DNS协议使用非可靠的UDP和TCP协议。chrome


UDP是一个无状态的传输协议,尽管在传递数据时很是快,但它是没法避免攻击的。此外,在数据传递时,由于网络状态差的时候,很容易发生丢包的状况。此外,UDP是明文在网络上传输。浏览器


TCP相对于UDP安全性是略高。它的可靠体如今TCP在传递数据以前,会经过三次握手来创建链接。缓存

然而TCP就是完美的解决方案吗?并不尽然。
安全


正是由于TCP的三次握手机制,致使TCP很容易被利用来实现DOS等攻击时至今日,互联网的安全环境已经大相径庭。假设用户被某个攻击者盯上,咱们来看原来的使用UDP和TCP协议可能存在什么样的安全隐患:服务器


1)没法验证对端的身份微信

当浏览器接收到一个DNS的响应时,它没法确认这个响应是否来自它信任的DNS服务商。在DNS服务商答复以前,攻击者可能抢先主动发送一个虚假的DNS响应,让用户采用他提供的IP地址做为解析结果,而忽略正规服务商的响应结果。网络


2)没法确保数据的安全app

DNS报文以明文的方式在网络中传输,是一件危险的事情。攻击者能看到你访问的是哪一个网站,也能看到DNS服务商给你答复的内容。若是攻击者篡改了回复给用户的响应报文,好比将响应中的IP地址替换成了恶意地址,被攻击的用户并不知情的。svg


假设攻击者利用上述安全隐患对用户的DNS攻击成功,他就可能把你想访问的银行的网址转移到本身的恶意地址上。好比说小明在想访问工商银行的网站“www.icbc.com.cn",正常状况下,浏览器收到DNS服务商解析后的合法IP地址,网页请求会被发送到工商银行的服务器上;然而攻击者的存在致使浏览器拿到了错误的IP地址,网页请求被发送到了恶意服务器上。攻击者只须要在恶意服务器上山寨一个肉眼没法分辨出来的银行页面,在用户操做的时候就能非法盗取用户的银行帐号信息,而这一切用户彻底感知不到。


为了解决此类的问题,人们想出了不少的办法改进或扩展DNS协议。好比说让DNS协议中携带的网址大小写变得随机,这样攻击者就难以准确猜想到正确的网址,好比说在报文里面添加校验验证报文的来源或报文数据是否被篡改过等。


目前看来最为安全有效的方式,是DoT/DoH方案。


DoT全称是DNS over TLS,它使用TLS协议来传输DNS协议。TLS协议是目前互联网最经常使用的安全加密协议之一,咱们访问HTTPs的安全基础就是基于TLS协议的。相比于以前使用无链接无加密的UDP模式, TLS 自己已经实现了保密性与完整性。


那么 TLS 协议是如何实现完整性与保密性的呢?


TLS协议的基本思路是证书+加密机制,左右开弓保证安全。证书至关于申请了一个合法的身份证,当客户端向服务器发起链接的时候,双方会相互校验一下身份,服务器把证书给客户端,客户端来校验证书的内容和合法性。


握手协议则是用的公钥加密法:首先,客户端会向服务器端索要并验证公钥,验证后双方会协商生成"对话密钥",相似于两我的独有的摩斯密码,在此以后, 双方就会采用对话密钥进行加密通讯。


通俗的理解就是:你要和你的笔友写信,握手协议是你和你的笔友之间商量出来一套加密通讯的方式,而证书则是保证拿到你寄出去的信的人是你的笔友本人。


DoH全称是DNS over HTTPs,它使用HTTPs来传输DNS协议。DoH的安全原理与DoT同样,他们之间的区别只在于:DoH有了HTTP格式封装,更加通用。


DoT在专用端口上经过TLS链接DNS服务器,而DoH是基于使用HTTP应用程序层协议,将查询发送到HTTPS端口上的特定HTTP端点,这里形成的外界感知就是端口号的不一样,DoT的端口号是853,DoH端口号443。


也许你会问:增长了握手的过程,以及数据增长了加密的步骤,是否是传输速度会变慢?


实际上,使用TLS或HTTPS的确会增长前期协商带来的时间损耗,可是!此处划重点:

通过腾讯云相关团队的努力,程序员小哥哥们经过对客户端侧改造和优化,采用本地缓存,提早预取,链接复用等技术方案,积极优化了总体流程,实现了与原DNS协议相近的时延效果!(此处应有掌声)

其次,是客户端和服务器端生成的对话密钥是对称加密,运算速度很是快,而服务器公钥只用于加密"对话密钥"自己,这样就减小了加密运算的消耗时间。


DNSPod一直以来对DNS安全都很是关注,目前已经DoT/DoH方案已经正式开放公测:为DNSPod用户的信息和隐私安全保驾护航。


DoT 的服务器地址:dns.pub 或者 doh.pub


DoH 的地址:https://doh.pub/dns-query 。


PC端教程:

让DNSPod保护您的网页安全也很是简单,若是您使用的是Chrome浏览器(83及以上),只须要在Chrome浏览器的设置项中设置好DNS访问安全选项便可。操做步骤以下:


进入到Chrome浏览器设置页面,在设置搜索框中搜索DNS。

1:点击搜索结果中的“安全”,往下拉,就能看到DNS安全设置。

2:输入DNS安全服务提供商地址:

https://doh.pub/dns-query


若是你使用的是Chrome浏览器(78-82),那么首先你须要

1:点击:chrome://flags/#dns-over-https

2:将Secure DNS lookups这里的Default修改成Enabled。

3:进入网络设置-更改适配器选项-右键-选择ipv4-点击属性

4:点击高级-选择dns-在弹出“DNS服务器”下方框中输入:162.14.21.56或者162.14.21.178(正式上线后会更改,请同步关注)


使用FireFox也可轻松设置,与Chrome步骤相似。进入到设置页面,搜索“dns”,点击“网络设置”,下拉后勾选“DNS over HTTPS“,输入DNS安全服务商地址https://doh.pub/dns-query便可。


至此,你的DNS请求就以加密的方式安全的送达到了DNSPod,今后岁月静好。


SMB

腾讯云中小企业产品中心


    腾讯云中小企业产品中心(简称SMB),做为腾讯云体系中惟一专业服务于8000万中小企业的业务线,致力于为中小微企业提供全面完善贴心的数字化解决方案。产品线覆盖了企业客户从创业起步期、规范治理期、规模化增加期、战略升级期等全生命周期,针对性的解决企业的信息化、数字化、智能化的生产力升级需求。本中心还拥有两大独立腾讯子品牌:DNSPod与Discuz!,在过去15年间,为超过500万企业级客户提供了强大、优质、稳定的IT服务。

    SMB团队成员大多都有过创业经历,有得到过知名VC数千万投资的,有被一线互联网巨头以数千万全资收购的,也有开设数十家分公司后技术转型而失败倒闭的,咱们成功过,也失败过,咱们深知创办企业的难处与痛点,深入的理解中小企业该如何敏捷起步、规范治理、规模化增加与数字化升级发展,咱们会用本身踩坑的经验给出最适合你的答案。

    腾讯云中小企业产品中心,助力中小企业数字化升级的好伙伴。


想了解更多官方资讯?

扫描阿D二维码邀您加入DNSPod交流群



本文分享自微信公众号 - DNSPod(dnspod)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索