什么是TLS上的DNS?
您已经知道,最近几年围绕加密Web流量一直有很多嗡嗡声。 即使您没有引起足够的注意,您也必须注意到URL和HTTPS附近的绿色锁大量涌入。 那是因为比以往任何时候都更多的站点正在加密流量。
加密网络流量可以保护站点和访问站点的人员。 当加密流量在您的计算机和网站之间传递时,攻击者无法轻易对其进行监视,从而无法保护您的登录信息和其他任何您提交的信息。
有一个没有通过使用HTTPS(DNS查询)进行加密的部分。 如果您不熟悉,则网站实际上位于IP地址。 当您打入网站的URL时,您会向DNS服务器发出另一个请求,询问该URL属于哪个IP地址。 该DNS服务器通常属于您的ISP。 因此,他们以及可能正在监听的其他任何人都可以看到您要访问的站点并进行记录。 由于默认情况下未对DNS进行加密,因此任何类型的第三方监视DNS查询都是相当容易的。
TLS上的DNS为DNS查询带来与HTTPS期望的相同类型的加密。 因此,唯一接收您的查询和有关您正在访问哪个站点的数据的人就是您选择的DNS服务器,您可以选择。 您不需要使用ISP的DNS,也不需要。
你能做什么?
TLS上对DNS的支持还不像HTTPS那样成熟,但是仍然很容易设置和使用。 您可以使用许多选项来保护DNS流量。 首先,值得注意的是,使用正确配置的VPN已经可以保护您。 您的DNS流量将通过VPN传输到提供商的DNS服务器。 如果您已经在使用VPN,请放心,尽管您可以根据需要设置其他保护。
如果您不使用VPN,仍然可以使用TLS上的DNS来加密DNS通信。 有一个出色的开源项目,称为Stubby,可以自动对DNS查询进行加密并将其路由到可以通过TLS处理DNS的DNS服务器。 由于该项目是开源的,因此可免费用于Windows,Mac和Linux。
设置存根
视窗
Stubby有一个方便的Windows .msi安装程序,它将安装Stubby以及默认配置文件。 转到安装程序页面并下载Windows .msi安装程序。
安装完成后,运行安装程序。 没有图形设置向导或其他任何东西。 您只需要确认您已授予安装程序访问权限即可。 剩下的就好了。
Windows上Stubby的所有内容都位于:
C:Program FilesStubby
包括YAML配置文件。
打开命令提示符。 您可以使用运行并键入cmd。 转到Stubby目录。 然后,运行.exe并将配置传递给它以启动Stubby。
C:UsersUserNamecd C:Program FilesStubby
C:\ Program Files \ Stubbystubby.exe -C stubby.yml
Stubby现在将在您的系统上运行。 如果要对其进行测试,请运行以下命令以查看其是否正常运行。
C:Program FilesStubbygetdns_query -s @ 127.0.0.1 www.google.com
如果可行,则说明Stubby正确设置。 现在,如果要更改Stubby使用的DNS服务器,请打开stubby.yml,然后修改DNS服务器条目以匹配您选择的服务器。 确保您选择的服务器支持TLS上的DNS。
您必须先修改Windows的上游解析器(DNS服务器),然后才能在整个系统中使用Stubby。 为此,您将需要以管理员权限执行命令。 关闭现有的命令提示符窗口。 然后,返回到开始菜单并搜索“ cmd”。 右键单击它,然后选择“以管理员身份运行”。在出现的窗口中,运行以下命令:
PowerShell -ExecutionPolicy绕过-file“ C:Program FilesStubbystubby_setdns_windows.ps1”
如果您无法永久进行更改,那么这都不是一件好事。 为此,您将需要创建一个在启动时运行的计划任务。 值得庆幸的是,Stubby开发人员为此提供了一个模板。 在运行的命令提示符窗口中,使更改永久生效。
schtasks / create / tn Stubby / XML“ C:Program FilesStubbystubby.xml” / RU 就这样! Windows PC现在已配置为使用Stubby通过TLS发送DNS。 在Linux上,此过程非常简单。 基于Ubuntu和Debian的发行版都已经在其存储库中提供了Stubby。 您只需要安装它并更改DNS即可使用Stubby。 首先安装Stubby $ sudo apt安装存根
接下来,如果需要,编辑Stubby配置文件。 它可以在/etc/stubby/stubby.yml中找到。 使用sudo在您喜欢的文本编辑器中将其打开。 如果您对DNS服务器进行了任何更改,请重新启动Stubby。 $ sudo systemctl重新启动stubby
您还需要更改/etc/resolv.conf中的名称服务器条目。 使用您的文本编辑器和sudo打开它。 创建一个条目,如下所示。 域名服务器127.0.0.1
现在,测试Stubby是否正常工作。 转到dnsleaktest.com并运行测试。 如果显示您配置为Stubby使用的服务器,则您的计算机已成功运行Stubby。 在OSX上设置Stubby也非常简单。 如果您有自制软件,那么这个过程非常简单,否则就很容易了。 使用Hombrew,您可以安装Stubby软件包。 $ brew install stubby
在将Stubby作为服务启动之前,可以在/usr/local/etc/stubby/stubby.yml中修改YAML配置。 对事物感到满意后,就可以将Stubby作为服务启动。 $ sudo brew服务启动stubby
如果没有Homebrew,则可以安装Stubby GUI。 在这里可用。 TLS上的DNS开始受到关注。 很快,这将是司空见惯的。 在此之前,需要安装程序和Stubby之类的程序。 但是,显然,设置起来并不难。 在不久的将来,当Google默认支持Android时,对基于TLS的DNS的支持将得到巨大的推动。 因此,Apple支持iOS只是时间问题。 台式机平台可能不会太落后。 再说一次,他们已经有了支持,而您只是启用了它。的Linux
OSX
总结思想