教师：在上一讲中, 我们讨论了一个很好的解决方案,
可以保护我们免受中间人攻击｡
而这个解决方案就是使用HTTPS Everywhere插件｡
有了这个插件, 如前所述,
我们能够强制所有HTTPS网站总是通过HTTPS加载｡
因此, 如果有人拦截我们的数据, 它将是无用的,
因为它将加密与HTTPS｡
所以这个解决方案真的很好, 它是免费的｡
唯一的问题是, 如你所知, 它只适用于使用HTTPS的网站｡
我们前面看到, 如果您登录或使用HTTP网站,
您的数据仍然会暴露,
黑客或任何拦截您数据的人仍然能够读取您的用户名､
密码, 或注入JavaScript代码, 为您提供虚假更新,
等等｡
此外, 正如前面所看到的, 有了这个插件,
黑客或任何人拦截您的数据将能够看到您访问的网站｡
不仅如此, 他们还能够操纵DNS请求,
因此, 他们将能够运行DNS欺骗攻击｡
在上一节课结束时, 我说过,
如果您想将安全性提升到一个新的水平,
那么您应该考虑使用VPN｡
让我向您展示使用VPN时会发生什么,
然后我将更详细地解释它, 以帮助您了解发生了什么｡
所以我回到了我的黑客机器前｡
你知道, 已经是中间人了,
我来清理屏幕｡
我甚至会关掉所有地方的HTTPS｡
最好同时使用这两种功能, 但我还是把它关掉,
让你们看看它们的区别.
你可以使用任何VPN提供商你想要的,
这真的不重要, 他们中的大多数使用或多或少相同的技术.
我们在zSecurity提供我们自己的VPN服务, 称为ZSVPN,
所以我有它在这里, 它来没有日志.
我们支持所有操作系统, Linux, Windows, OS
X, Android和iOS, 甚至Tails,
这是一个注重隐私的Linux Distro｡
所以就像我说的, 你可以使用任何你想要的东西,
它们都或多或少使用相同的技术｡
我现在想强调的是, 当您实际使用VPN时会发生什么｡
我将打开我的客户端, 并连接到服务器,
其中一个服务器就在这里｡
它会在我的电脑和我刚刚连接的VPN服务器之间建立一个加密的隧道｡
因此, 现在, 让我告诉你, 让我们刚刚开始,
我会删除一切｡
让我们从一些网站开始, 例如,
我们将去谷歌｡ 然后我们就去必应｡
com的网站｡
然后, 让我们转到堆栈溢出, 并确保它通过HTTPS加载｡
现在, 请记住, 我不是在任何地方都使用HTTPS｡
但您会注意到, 它仍将通过HTTPS加载, 如您所见,
我们无法对其进行降级｡
让我们更进一步, 我们来看看Vulnweb｡
com, 然后登录即可｡
所以, 这是一个只使用HTTP的网站, 它根本不支持HTTPS｡
但让我们登录一下, 看看是否还能捕获数据｡
我现在输入密码0987654321, 登录.
让我们回到Kali机器上看看我们是否检测到了什么｡
如您所见, 我们无法读取发送到目标和从目标发出的任何流量｡
因此, 在使用HTTPS Everywhere的情况下,
我们至少能够看到目标访问的域和网站｡
当我们登录到vulnweb时, 我们能够看到通过HTTP发送的数据｡
com的网站｡
但在本例中, 如您所见, 我们现在看不到用户名和密码,
即使它们通过HTTP发送到vulnwebweb｡
而且我们看不到目标访问过的域名｡
这是因为我们使用了VPN, 正如我所说,
VPN在我们的计算机和服务器之间创建了一个加密隧道,
我们所有的数据都将通过这个加密隧道发送｡
让我用图表向您解释一下, 使其更简单｡
所以, 一般来说, 假设你试着去谷歌｡ 你的连接会经过许多集线器,
但最后, 它会直接连接到谷歌｡
com的网站｡
因此, 红色箭头表示此连接可能未加密｡
因此, 您的数据可能存在风险｡
现在, 当您使用VPN时,
您将连接到某个国家a地区的VPN服务器｡
当你这样做的时候, 你就在你的电脑和VPN服务器之间创建了一个加密的隧道｡
假设你想去谷歌｡ 数据请求将首先被发送到VPN服务器,
现在VPN服务器将能够读取此数据, 但数据是在加密隧道中发送的｡
因此, 如果任何人截取此数据, 他们将无法看到您发送到您的VPN服务器的内容｡
这就是为什么我们根本不在乎是否有人设法拦截我们的连接因为我们的数据对他们来说只是胡言乱语,
就像你在这里看到的那样｡
然后, 一旦VPN服务器收到您的请求,
它会将其转发到您请求的目的地, 响应将遵循类似的路由｡
现在, 由于这种结构,
由于您和VPN服务器之间的数据始终是加密的, 因此使用VPN在许多情况下都很有用,
因为它增加了一个额外的加密层｡
因此, 它总体上改善了我们的隐私和匿名性,
它允许我们绕过审查,
因为假设你的互联网服务提供商阻止你访问某些服务或某些网站,
他们将无法知道这些网站和服务是什么,
因为同样, 连接是加密的,
他们甚至不会知道你在做什么｡
他们只会看到你连接到某个国家的服务器｡
最后但同样重要的是, 它还可以保护我们免受黑客或任何拦截我们连接的人的攻击,
因为我们所有的数据都是加密的, 因此,
我们并不在乎谁拦截了这些数据,
这些数据将是乱码｡
现在, 同样由于结构的原因,
在选择VPN提供商时需要小心, 因为此结构将VPN提供商作为中间人引入,
因此如您所见, 我们首先将所有内容发送到VPN服务器, 然后再将其发送到Internet｡
VPN服务器能够解密这些数据, 因为隧道,
VPN加密, 只在我们的计算机和VPN服务器之间使用｡
因此, 如果VPN服务器的管理员想要分析您的数据,
并看到您发送和接收的内容, 他们将能够做到这一点｡
因此, 你需要确保你选择一个信誉良好的VPN提供商,
一个公司, 你可以信任.
你想远离免费提供商, 因为提供VPN服务是非常昂贵的.
因此, 如果有人能够免费给你, 他们一定有另一个角度,
或者另一个原因为什么他们免费给你｡
你要确保VPN的供应商保持没有日志,
并与所有这一切, 你可以使用HTTPS无处不在插件与VPN.
如果您这样做, 您实际上将解决数据离开VPN服务器的问题,
因为您的数据将在您的计算机和VPN服务器之间使用两层加密进行加密｡
首先使用VPN加密,
其次使用TLS, 因为HTTPS无处不在｡
然后, 离开VPN服务器的数据将使用一层加密进行加密,
这是由HTTPS Everywhere强制执行的加密｡
因此, 即使VPN提供商能够看到您的数据,
并且能够解密VPN隧道中使用的加密, 他们仍然无法看到您的数据,
因为它仍然使用TLS加密｡
因此, 这基本上解决了VPN服务器能够看到您的数据的问题,
因为在VPN服务器上,
您的数据仍将使用TLS加密｡
总结一下我们介绍的保护数据免受中间人攻击的两种方法,
HTTPS Everywhere非常好,
而且是免费的｡
唯一的问题是它只适用于HTTPS网站,
拦截数据的人仍然能够看到我们访问的网站, 他们仍然能够运行DNS欺骗攻击｡
然后我们谈到了使用VPN｡
使用VPN后, 所有内容都得到了加密,
这就更好了｡
我们在本课程中讨论过的所有攻击都不会起作用,
因为所有内容都被加密了｡
唯一的问题是, 它不是免费的｡
有免费的服务, 但就像我说的, 他们不是很好,
所以你不应该使用他们, 只是不要使用VPN,
如果你不想支付它.
VPN的另一个问题是,
VPN提供商可以看到您的数据,
因此您引入了中间人｡
但我们可以更进一步, 通过VPN使用HTTPS
Everywhere, 这样, 我们就可以获得使用VPN的所有好处｡
因此, 所有内容都得到加密,
保护我们免受所有中间人攻击, 但不会出现VPN提供商能够看到我们的数据的问题, 因为我们的数据将使用两层加密｡
因此, 即使VPN提供商也无法看到我们发送或接收的内容,
因为它仍将使用TLS加密｡
因此, 唯一的缺点, 使用HTTPS无处不在与VPN的事实是,
你必须支付VPN服务.