我的公司可以看到我访问了哪些 HTTPS 站点吗?

信息安全 tls http 代理人
2021-09-05 04:15:30

在工作中,我的公司使用互联网监控软件 (Websense)。我知道如果我访问 https ssl 加密网站(例如https://secure.example.com),他们看不到我在该网站上所做的事情,因为所有流量都已加密。但是他们看到我访问了https://secure.example.com吗?

4个回答

在执行任何 HTTP 请求(例如GETPOSTHEAD等)之前首先建立加密连接,但主机名和端口是可见的。

还有许多其他方法可以检测您正在访问的网站,例如:

  • 您的 DNS 查询(即他们会看到 secure.example.com 的 IP 请求)
  • 通过网络监控(例如 netflow、IP 到 IP 会话、嗅探等)
  • 如果您正在使用的设备归公司所有,并且他们具有管理员访问权限/特权来查看设备上的任何内容(例如查看您的浏览器缓存)

逃避 Websense 代理的一种流行方法是首先通过 HTTPS 与外部代理(例如https://proxy.org/)建立连接,然后从那里发出请求。

这是可能的,但它需要一些设置。这是它的完成方式,以及如何判断。

在从中央位置推送软件更新的公司计算机上,可以向您的计算机发送“受信任”证书,该证书将存储在受信任证书旁边,例如 Verising 或 Entrust。

您公司的代理将持有该证书的私钥。

当您访问 HTTPS 网站时,例如https://mybank.com/,代理会将自己置于中间。它将与您的浏览器建立 HTTPS 连接,动态生成mybank.com的证书。它将重放(并可能监控或记录)您在新连接上的所有流量,从代理到 mybank.com。

您可以通过查看挂锁图标来判断是否是这种情况。如果您看到 mybank.com 的证书是由 acmesprockets.com(您公司的名称)颁发的,那么您就知道他们可以看到您的“加密”流量。但是由于您的公司可以强制您的计算机信任任何证书,他们可以使用众所周知的名称创建证书,例如“Entrust.net Secure Server Certification Authority”(即使根据某些商标法这可能是非法的)。

那你怎么知道?连接到网站后,查看证书。每个浏览器的详细信息各不相同,但单击 https 旁边的挂锁图标通常是开始的地方。从该证书中,找到证书指纹并在线查找更好的是,对证书颁发机构做同样的事情。如果您没有在网上找到证书指纹(但是当您在家或在手机上时可以),您的 HTTPS 流量很可能在此过程中被解密。

简单的代理服务器

即使是简单的代理也会看到并记录服务器的名称例如访问https://example.com/some/address.html将创建一个从浏览器到代理服务器的请求:

CONNECT example.org:443 HTTP/1.1
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:2.0b13pre) ...
Proxy-Connection: keep-alive
Host: example.org

连接的其余部分是加密的,一个简单的代理只是转发它。

.

复杂的代理服务器

但是,还有更复杂的代理服务器,它们能够以纯文本形式查看完整的流量但是,这些类型的代理服务器要求您安装根证书,他们可以为其动态创建服务器证书。

在浏览器中查看证书链通常会发现这种中间人攻击。至少在由您自己的公司而不是国家机构完成的常见情况下:

具有自定义根证书的中间代理

使用 HTTPS,首先建立 SSL/TLS 隧道,并且 HTTP 流量仅发生在该隧道内。一些信息仍然泄漏:

  • 如果客户端使用代理,则与代理的连接如下所示:CONNECT www.example.com:443使用目标服务器名称。或者,客户端可以发送目标服务器 IP 地址,但这只是稍微不那么暴露;而且,要知道服务器 IP 地址,客户端必须使用公司自己提供的 DNS 服务器进行名称解析。

  • 最近足够多的客户端将发送目标服务器名称作为初始 SSL 握手的一部分(即服务器名称指示扩展)。

  • 服务器通过发回其证书进行响应,其中包括在普通视图和定义中的服务器名称。

从这些我们可以得出结论,目标服务器名称绝对不是秘密。你可以假设你的公司已经学会了。

通信的其余部分是加密的,因此名义上是外人无法访问的。但是,客户端发送和接收的数据包的长度仍然可以被任何窃听者推断(如果使用 RC4 密码套件,则具有单字节精度),这也可以揭示很多信息,具体取决于上下文.

如果您的公司非常重视安全性,那么它可能已经安装了更高级的代理,例如Blue Coat 的 ProxySG此类系统通过为目标服务器动态生成假证书来执行中间人攻击。这使他们能够访问完整的数据,就像没有 SSL 一样。

但是请注意,只有当公司可以将代理用于颁发假证书的根 CA 证书添加到您的桌面系统的信任库时,这种拦截才有可能。这是一个相当侵入性的动作。因此,如果他们做到这一点,他们为什么会止步于此?他们可能已经很容易地插入了一些间谍软件,这些软件将插入您的 Web 浏览器、键盘和显示器;你在这台机器上做的每一件事他们都知道。

或者,如果您可以确保您的机器不受公司的任何干扰(例如,它是您自己的设备并且您没有在其上安装公司提供的软件),那么 MitM-proxy 无法解密您的 SSL 连接。

向公司隐藏流量的一个非常简单的方法是根本不使用他们的设施。带上您自己的带 3G 密钥的笔记本电脑(或连接到您的智能手机)。通过为自己的 Internet 付费,您可以逃避基于网络的检测并花时间在 Web 上漫游,而不是做您有偿做的工作(但是,当然,对偷懒者的检测从未仅限于使用计算机化的小玩意儿) .