登陆 注册

什么是DNS泄漏以及如何解决

Lzers 2020-04-15 安全文摘

什么是域名系统(DNS)?

域名系统是用于在线资源(例如计算机和其他服务)的分散式命名系统。

DNS将域名转换为IP地址,从而使用户无需记住一长串数字即可在连接到Internet时访问网站和服务。

例如,您当前正在访问的站点的IP地址为“ 104.27.166.50”。尽管有些人可能会记住这么长的数字字符串(并且您知道自己是谁),但记住键入“ pixelprivacy.com”访问我的网站要容易得多。

在您喜欢的浏览器的地址栏中输入网站地址时,该地址将发送到DNS服务器,该DNS服务器将查找该域名的IP地址。

然后将请求转发到正确的服务器,然后在您的浏览器窗口中加载网站。所有这些通常都在眨眼间发生。

虽然这是一种管理互联网流量的合乎逻辑且方便的方法,但是当涉及到您的在线隐私时,它会打开一大堆蠕虫。

域名系统如何允许其他人在线跟踪您

就像我在上一节中提到的那样,当您在浏览器中输入网站的域名时,请求将发送到DNS服务器,在该服务器中找到该网站的IP地址。

除非您已将计算机,移动设备或路由器自定义为使用其他来源的DNS,否则您的DNS请求将转到Internet服务提供商拥有和运营的DNS服务器。

这是一个隐私问题,因为您的互联网流量会通过ISP的DNS服务器来记录数据。资源请求与请求该地址的客户的IP地址,日期和时间以及其他各种信息一起记录在日志中。

在许多国家/地区,政府,执法机构或娱乐业律师可以对这些DNS服务器日志进行传票,以使他们能够跟踪您在网络上的活动。

在某些国家/地区(包括美国),ISP可以将这些日志出售给广告商和其他第三方,而无需您的批准。

1个

可以预防吗?

幸运的是,可以通过使用虚拟专用网络(VPN)来保护您的在线旅行,从而防止类似的在线跟踪。

VPN会通过自己的VPN服务器路由您的在线连接及其所有DNS请求,从而避免窥视它们。最多,您的ISP只能看到您已连接到VPN提供商。连接到VPN时,他们看不到您参与的任何活动。

2

这万无一失吗?

通常,使用VPN足以使您的DNS请求处于秘密状态。

但是,某些VPN提供商无法很好地隐藏您的请求,从您的VPN会话中泄漏 DNS数据并向您开放进行监视。

在本文的下一部分中,我将解释什么是DNS泄漏以及如何测试VPN连接以检测DNS泄漏。然后,我将解释为什么DNS泄漏会发生,并提供一些方法来帮助您防止泄漏再次发生。

什么是DNS泄漏?

当您连接到VPN时,它会创建一个加密的连接,从而将您的互联网流量保持在一个“隧道”中,该隧道隐藏您的所有互联网活动(包括DNS请求)。没有人能看到您的举动-没有您的ISP,政府或您(不友好的)邻居黑客。

当您的计算机或其他设备连接到VPN提供商时,所有DNS请求都应仅通过加密隧道到达VPN服务的DNS服务器。

如果此操作正常,则所有ISP或其他任何人都可以看到您已连接到VPN。另外,您所有的互联网流量都是经过加密的,因此,任何外部方都无法监视您正在访问的任何内容。

但是,如果您的VPN应用程序没有执行其任务,或者连接到配置错误的网络,则DNS请求可能会“泄漏”到加密隧道之外。

然后,DNS请求通过ISP,就像您不使用VPN时一样。这样一来,DNS请求就可以大开观察,而您的IP地址,位置和浏览数据也将再次备受关注。

如何判断我的VPN是否存在DNS泄漏?

有许多网站可以测试您的VPN连接是否存在DNS泄漏,包括VPN提供商提供的许多网站。

我通常会使用并建议IPLeak网站,因为它易于使用并且提供了大量有关我的连接的信息。

在开始测试任何VPN DNS泄漏之前,建议您访问IPLeak站点并允许该站点运行其测试,然后再连接到VPN提供商。

获得IPLeak测试(自动运行)的结果后,记下页面顶部附近“您的IP地址”下显示的IP地址。还要记下“ DNS地址”部分中显示的DNS地址和DNS服务器的数量。

您不必写下所有地址-只需记下一些地址或截屏以供以后参考。

从下面的屏幕快照中可以看到,IPLeaks可以看到我的ISP提供商使用的DNS服务器 -全部54个。(为了简洁起见,我在此处只包括了其中的少数几个。)它还可以告诉我,由ISP提供的常规连接来自田纳西州。

现在,是时候连接到VPN提供商并再次运行测试了。

我正在使用ExpressVPN,但是您当然可以使用您选择的VPN。您可以连接到任何可用的VPN服务器,也可以只允许您的VPN应用为您选择一个。

现在,再次访问IPLeaks网站,并允许DNS泄漏测试通过您的VPN重新自动运行。

从下面的屏幕快照中可以看到,我的提供商在防止DNS泄漏方面做得很出色,因为我的连接似乎来自特拉华州,而单个DNS服务器位于德克萨斯州。

这表明我的VPN提供了受到适当保护的连接,并且我的DNS信息均未泄漏。

如果IPLeaks显示ISP测试中的DNS服务器与VPN测试中的DNS服务器匹配,并且IP地址也相同,则表明我的VPN连接中可能存在DNS泄漏。

这将意味着VPN不能完成其工作,现在该寻找新的提供商了。

DNS泄漏:问题和解决方案

发生DNS泄漏有多种原因。在本节中,我将介绍5种最常见的DNS泄漏原因,并共享针对这些问题的解决方案,以便在出现问题时可以进行处理。

问题#1:网络配置不正确

配置不正确的网络是发生DNS泄漏的最常见原因之一,尤其是对于定期连接到不同网络的用户而言。

与其他用户相比,道路勇士在办公室工作时可能会比其他用户看到更多的问题,而且他们还可以在家中连接Wi-Fi网络或在咖啡店,机场或酒店中连接Wi-Fi热点。

由于VPN要求您的计算机在启动VPN保护之前必须先通过本地网络连接到Internet,因此配置不正确的DHCP设置可能会自动分配DNS服务器来处理您的请求,并且该DNS服务器可能属于您的ISP或ISP热点供应商。

即使您在此问题网络上连接到VPN,您的DNS请求也可能绕过VPN的加密隧道,从而在整个地方泄漏DNS。(而且没有人想要清理它!)

解决方法:

在大多数情况下,只需将VPN配置为仅使用其自己的DNS服务器,即可强制计算机使用VPN提供商的DNS服务器。

尽管VPN应用程序的设置因提供商而异,但您可能会看到以下屏幕截图,其中显示了ExpressVPN和VyprVPN Mac应用程序的“ DNS”选项。

如果您的VPN应用未提供设置(如上所示),请与提供商的客户支持人员联系,并询问他们如何强制您的设备使用其DNS服务器。如果他们无法为您提供帮助,或者您对他们的回答不满意,请更换提供商。

问题2:不支持IPv6

我们大多数人都熟悉的IP地址称为IPv4地址

它们是32位地址,由4组(最多3位)组成,例如“ 123.04.321.23”。(我不知道该IP地址会将您带到何处,因为我是在现场补上的。)

随着始终连接的世界的到来,随着计算机,智能手机,平板电脑,游戏机,智能电视,甚至智能冰箱连接到互联网,IPv4地址池正在枯竭。

输入IPv6地址

IPv6并非局限于IPv4这样的由4组最多3位数字组成的32位地址方案,而是128位,允许的容量是IPv4约43亿地址的7.9×1028倍。(哇!有很多地址!)

样本IPV4地址样本IPV6地址
123.04.321.232001:db8:85a3:8d3:1319:8a2e:370:7348

互联网正处于从IPv4过渡到IPv6的起步阶段,这一转变不会一overnight而就。这会带来很多问题,尤其是对于当前不提供IPv6支持的VPN。

如果VPN不支持IPv6或不知道如何阻止IPv6请求,则通过IPv6发送到您的计算机或从您的计算机发送的请求将跳出VPN的加密隧道,从而泄漏信息供所有人查看。

与互联网的其余部分一样,网站目前正在转型中,尽管许多网站同时具有IPv4和IPv6地址,但仍有许多网站仅具有IPv4。(是的,有一些网站仅支持IPv6。)

这是否会导致VPN问题取决于许多因素,例如ISP,路由器和您尝试访问的网站。

尽管IPv6泄漏还没有标准DNS泄漏那么危险,但很快就会到来。

解决方法:

检查您的VPN提供商是否完全支持IPv6。这是理想的情况,您无需担心。

但是,您的提供商至少应提供阻止IPv6流量的选项。尽管这是一个权宜之计,但它会带您通过,直到更多的VPN提供商支持IPv6。

问题3:透明的DNS代理

即使用户已更改其设置以使用第三方提供商(例如OpenDNS,Google或VPN提供商的服务器),某些ISP还是自行强制使用DNS服务器。

如果ISP检测到DNS设置有任何更改,它将使用“ 透明代理 ”,该服务器是拦截并重定向您的网络流量的服务器,以将您的DNS请求强制发送到ISP的DNS服务器。

基本上,这是您的ISP强制DNS泄漏并试图将其隐藏起来。

但是,大多数泄漏检测工具(如IPLeak)将以与标准泄漏相同的方式检测ISP的透明代理。

解决方法:

解决此“漏洞”取决于您使用的是哪个VPN提供商和哪个VPN应用。 

如果您使用的是VPN提供商的应用程序,请查找用于强制使用VPN提供商的DNS服务器的选项。启用它。

如果您使用OpenVPN开源应用程序连接到VPN,请找到要连接到的服务器的.conf或.ovpn文件,在文本编辑器中将其打开并添加以下行:

外部DNS

您可以查阅《OpenVPN手册》以了解配置文件的存储位置。

问题4:Windows 8和10:“智能多宿主名称解析”功能

从Windows 8开始,Microsoft引入了“ 智能多宿主名称解析 ”功能,该功能是为了提高Web浏览速度而开发的。

该功能将DNS请求发送到所有可用的DNS服务器,并 接受第一个响应的DNS服务器的响应。

可以想象,这可能导致DNS泄漏,以及使用户容易遭受DNS欺骗攻击的可怕副作用。

解决方法:

此功能是Windows的内置组件,可能很难关闭。 

但是,通过OpenVPN应用程序连接到其VPN的Windows用户可以下载并安装免费的插件来解决此问题。

使用其VPN提供商本地应用程序的Windows用户应与提供商的客户支持部门联系以寻求有关此问题的帮助。

问题5:Windows的Teredo技术

Teredo是Windows操作系统的内置功能,是Microsoft试图简化IPv4和IPv6之间过渡的一种尝试。Teredo的目的是允许两个地址方案共存而不会出现问题。

虽然我确定Microsoft的意图很好,但它们为VPN用户打开了一个巨大的,不断泄漏的安全漏洞。Teredo是一种隧道协议,在某些情况下,它可以优先于VPN自己的加密隧道。

去得到你的虚拟拖把,因为泄漏来了。

解决方法:

Teredo非常容易安装,可以使用户熟悉命令提示符。打开命令提示符窗口,然后输入以下内容:

netsh接口teredo设置状态已禁用

请注意,连接到某些网站,服务器和其他在线服务时,您可能会遇到问题,但是您将获得Teredo放弃的安全性。

将来如何防止DNS泄漏?

我们已经对DNS泄漏进行了测试,希望没有发现任何泄漏。或者,如果您确实发现了泄漏,那么至少您现在已经掌握了解决这些泄漏的工具和知识。

但是,您可以采取什么措施来防止漏水的未来?

通过执行本节中的5个步骤,您应该为在线活动接种疫苗,以防止将来发生泄漏。

1个

仅使用受信任的独立DNS提供程序

大多数VPN提供商都有自己的DNS服务器,并且他们的应用程序会自动连接您的设备以使用这些服务器来代替您的ISP有时缓慢且始终不安全的DNS服务器。

即使您不使用VPN,也仍然可以避免使用ISP的DNS服务器,这使ISP很难跟踪您的在线活动。

相反,您可以使用可靠的第三方DNS服务器,例如OpenDNS,Google和其他公司提供的服务器。

以下是一些流行的DNS服务器地址选项:

Google公共DNS

首选的DNS服务器:8.8.8.8

备用DNS服务器:8.8.4.4

OpenDNS

OpenDNS服务器选项

首选的DNS服务器:208.67.222.222

  • 备用DNS服务器:208.67.220.220

Cloudflare

Cloudflare DNS选项

首选DNS服务器:1.1.1.1

备用DNS服务器:1.0.0.1

其他DNS选项可在此处找到。

请按照以下步骤更改Windows和macOS中的DNS设置。Linux用户将需要根据其Linux风格咨询该手册,但这应该没有太大不同。

如果您想更改Wi-Fi路由器的DNS设置,请查阅路由器手册或联系制造商以获取更多信息。

要在Windows 10中更改DNS设置,请执行以下操作:

  1. 转到控制面板。

  2. 单击“网络和Internet”选项。

  3. 单击“网络和共享中心”选项。

  4. 在下一个菜单的左侧面板中,您将看到“更改适配器设置”选项。点击那个。

  5. 在打开的窗口中找到“ Internet协议版本4”选项,然后单击它。

  6. 点击“属性”。

  7. 在“属性”窗口中单击“使用以下DNS服务器地址”。

  8. 从选项之一输入首选和备用DNS服务器地址。

  9. 点击“确定”按钮。

要在macOS中更改DNS设置,请执行以下操作:

  1. 单击苹果菜单。

  2. 在出现的菜单中单击“系统偏好设置”。

  3. 点击“网络”图标-它应该位于第三行。

  4. 从左侧单击您的网络接口。(它可能会被标记为“ Wi-Fi”,“以太网”或类似名称。)

  5. 单击“网络”窗口右下角的“高级”按钮。

  6. 点击屏幕顶部的“ DNS”标签。

    1. 要添加新的DNS服务器,请单击可能已经存在的DNS服务器列表下方的[+](加号)按钮。

    2. 要编辑现有的DNS服务器,请在要更改的DNS IP地址上单击两次。

    3. 要删除DNS服务器,请选择DNS服务器IP地址,然后单击列表下方的[-](减号)按钮或按Mac键盘上的“删除”键。

  7. 使用我前面提到的DNS服务器地址或您喜欢的DNS提供商的信息。

  8. 完成更改后,单击“确定”按钮。

  9. 单击“应用”使更改生效。

  10. 照常关闭系统首选项。

2

设置您的VPN或防火墙以阻止非VPN流量

检查您的VPN客户端,看看它是否提供自动阻止任何不通过VPN的流量的选项。

一些提供商将其称为“ IP绑定 ”,而另一些提供商则将其称为“ 终止开关”。请与您的VPN提供商联系,以确保您的VPN提供它。如果没有,请在别处寻找您的VPN服务。

Mac启用网络锁定(Internet终止开关)

Windows用户还可以将Windows防火墙设置配置为仅允许通过VPN进出流量。这是这样做的方法。(步骤可能会因所使用的Windows版本而异。这些说明适用于Windows10。)

  1. 连接到您的VPN。

  2. 以管理员身份登录Windows计算机。

  3. 打开网络和共享中心。您应该同时看到ISP连接(标记为“网络”)和VPN(标记为VPN提供商的名称)。

注意:“网络”应被标识为家庭网络,而您的VPN应被标识为公共网络。如果任何一个显示为不同的内容,则需要单击它们并将它们设置为正确的网络类型。

  1. 打开Windows防火墙设置。

  2. 点击“高级设置”。

  3. 在左侧面板中找到“入站规则”。点击它。

  4. 在右侧面板中,您现在应该看到“ New Rule…”的选项。单击该选项。

  5. 当出现新窗口时,单击“程序”,然后单击“下一步”。

  6. 选择“所有程序”或您要阻止其非VPN通信的单个应用程序。然后点击“下一步”。

  7. 单击“阻止连接”,然后单击“下一步”。

  8. 确保选中“ 域 ”和“ 私有 ”复选框,但不要选中“公共”复选框。点击下一步。”

  9. 您将返回Windows防火墙的“高级设置”菜单。在左侧面板中找到“出站规则”。单击它,然后重复步骤6到10。

完成上述步骤后,将设置防火墙以通过VPN路由往返于计算机的所有流量。

3

定期执行DNS泄漏测试 

预防是迈出的重要一步,但您不时需要检查以确保一切正常。

定期执行DNS泄漏测试。请按照“如何判断我的VPN是否存在DNS泄漏?”中的步骤进行操作。本文前面的部分。

4

考虑使用VPN“监控”软件

有一些 软件包可以监视您的VPN连接,以确保您的DNS请求不会超出VPN加密保护通道的范围。

这将是您在为VPN服务支付的费用之上的一笔额外费用,但是如果您担心您的VPN可能会定期泄漏DNS请求,那么这可能是值得的。

当VPN连接断开时, VPN Watcher将阻止应用程序发送数据请求。它的价格为9.95美元,但还有一个先试后买的选项。

PRTG VPN监视  对于想要监视整个VPN网络的公司用户是有效的选择。定价因要监视的用户数而异。提供30天的免费试用版,以及针对小型网络的“免费”版本。

PRTG VPN监控

5

尝试其他VPN提供商

如果您的测试表明您的VPN正在泄漏DNS请求,则您可能需要与您的提供商联系以进行应用更新-或完全找到新的VPN提供商。

寻找一个提供DNS泄漏保护,全面IPv6保护,支持OpenVPN以及处理任何可能的透明DNS代理功能的VPN提供商。

有关您的VPN选项的更多信息,请务必阅读我的VPN评论,其中我会通过他们的脚步管理当今的顶级VPN提供商,并揭示每个VPN的性能和对您的保护程度。

结论

在本文中,我们研究了什么是DNS泄漏,为什么这是一件坏事,如何进行测试以确保您的VPN不会泄漏以及如何进行修复。

确保您的VPN不会泄漏您的DNS请求信息,从而让您的在线旅行暴露给外来者的最佳方式,这是找到可提供防泄漏VPN连接的可靠VPN提供商。

我发现ExpressVPN是最好的选择,因为它是一项全方位,性能良好的VPN服务,可为我的Internet连接提供可靠的防泄漏安全性。

翻译自https://pixelprivacy.com/resources/dns-leak/

请发表您的评论
请关注微信公众号
微信二维码
不容错过
Powered By HeiBaiTeam.