关注网络安全
和行业未来

如何在Android 9 Pie上启用1.1.1.1的私有DNS

本文由Stephen Pinkerton发布在cloudflare博客

最近,谷歌正式推出了Android 9 Pie,其中包括围绕数字便利,安全性和隐私的一系列新功能。 如果您在测试版或更新后调整了手机上的网络设置,您可能已经注意到Android现在支持新的私有DNS模式。

此新功能简化了在Android上配置自定义安全DNS解析程序的过程,也就是说,您的设备与您访问的网站之间的各方无法窥探您的DNS查询,因为它们将被加密。而这背后的协议,TLS,还负责网页间通讯的加密。相同的技术对于加密DNS查询非常有用,可确保它们不会被ISP,移动运营商以及您和DNS解析器之间的网络路径中的任何其他人篡改并且无法理解。 这些新的安全协议称为基于HTTPS的DNS和基于TLS的DNS。

如何设置1.1.1.1

Android Pie目前只支持基于TLS的DNS。以下步骤可以快速帮助您在设备上启用它:

    1. 进入 设置 -> 连接 -> 更多连接设置 -> 私有DNS
    2. 选择 私有DNS供应商主机名
    3. 输入 1dot1dot1dot1.cloudflare-dns.com并保存
    4. 浏览1.1.1/help(或1.0.0.1/help)验证“使用基于TLS的DNS(DoT)”为“是”

为什么使用私有DNS?

基于TLS的HTTPS和DNS是如何适应当前的互联网隐私状态的呢?

TLS是通过不受信任的通信渠道加密流量的协议,例如在咖啡馆的无线网络上浏览您的电子邮件时。然而即使用了TLS,我们仍然无法知道您与DNS服务器的连接是否已被劫持或被第三方窥探。尤其在你不小心连上了个开放热点的时候,犯罪分子可以通过伪造你设备的DNS记录来劫持邮件服务器或网上银行的连接。尽管DNSSEC通过签署响应来解决保证真实性的问题,使得篡改可被检测到,但是线路上的任何其他人都可以读取消息正文。

基于HTTPS/TLS的DNS解决了这个难题。这些新协议可确保您的设备与解析器之间的通信得到加密,就像我们对HTTPS流量的期望一样。

但这一系列操作的最后一环却可能是不安全的,即在设备与服务器上的特定主机名之间的初始TLS协商期间会显示服务器名称指示。发送请求的主机名没加密,第三方仍可查看您的访问记录。因此,在技术仍然存在疏漏的情况下,使用可信的网络是十分必要的。

IPv6与DNS

您可能已经注意到私有DNS字段不接受像1.1.1.1这样的IP地址,而是想要一个主机名,如1dot1dot1dot1.cloudflare-dns.com。

谷歌之所以要求主机名而非IP地址,是因为移动运营商需要兼顾IPv4和IPv6共存的“双栈世界”。越来越多的组织开始使用IPv6,且美国所有主要的移动运营商都支持IPv6。在这个约有260亿互联网连接设备的数量远远超过43亿个IPv4地址的世界中,这是一个好消息。 在一个前瞻性的举动中,Apple要求所有新的iOS应用程序必须支持单栈IPv6网络。

然而,我们仍然生活在一个拥有IPv4地址的世界,因此手机制造商和运营商必须考虑到向后兼容性来构建他们的系统。 目前,iOS和Android同时请求A和AAAA DNS记录,其中包含分别对应于版本4和版本6格式的域的IP地址。

$ dig A +short 1dot1dot1dot1.cloudflare-dns.com
1.0.0.1
1.1.1.1

$ dig AAAA +short 1dot1dot1dot1.cloudflare-dns.com
2606:4700:4700::1001
2606:4700:4700::1111

要通过仅IPv6网络与仅具有IPv4地址的设备通信,DNS解析器必须使用DNS64将IPv4地址转换为IPv6地址。 然后,对那些转换的IP地址的请求将通过网络运营商提供的NAT64转换服务。 这一过程对设备和Web服务器是完全透明的。

有关该过程的细节,请移步APNIC

稿源:Cloudflare

评论 抢沙发