最近无意间和同事聊到,连接公司 WiFi,到底会不会被监控?如果该热点已经是透明代理了,那么到底会不会泄露已经加密的隐私数据?

1 代理

对于大多数安全研究者来说,接触代理这一概念可能都是通过 Burpsuite 抓包完成的,通过在本地设置代理为 Brup 所在 IP 地址,并将证书导入相应设备,实现抓包。其实这一过程就是模拟了正向代理的设置过程。常见的代理类型包括正向代理、反向代理以及透明代理。

如果代理想查看 HTTPS 流量,一般而言,在代理结构中使用 HTTPS 取决于服务拦截连接并提供自己的证书,客户端必须接受该证书才能继续通信。除非设备已导入证书,否则此过程将被视为不安全的连接,并生成⚠警告信息。

  • 对于具有域控制器的环境,可以批量部署证书,这不是问题;但在较小的结构中,手动执行此操作会产生相当大的工作需求。
  • 并非每个应用程序都基于 HTTP 协议。这意味着数以千计的其他端口可以绕过代理。

1.1 正向代理

正向代理(Forward Proxy)也成为普通代理,是一种代理服务器,通过拦截流量将其转发到目标服务器。正向代理隐藏了客户端真实 IP 地址和位置信息,目标服务器只能看到代理服务器的相关信息。

  • 抓包 - 最常见的 Burpsuite 抓包就是将你的电脑作为正向代理。
  • VPN - 正常情况下,我们是访问不了 Google 的,但是通过 VPN 是可以的。在访问 Google 时,先连上 VPN 服务器将我们的 IP 地址变成美国的 IP 地址,然后就可以顺利的访问了。
  • 防火墙 - 监管部门或者公司,指定员工电脑必须设置代理才能访问网络,此时正向代理服务器可以查看员工电脑上的所有流量。

1.2 反向代理

反向代理(Reverse Proxy)位于接受客户端请求的服务器前面。它类似于转发代理,但主要区别在于它确保没有客户端可以直接向服务器发出请求。所以服务器的 IP 地址对客户端是隐藏的,可以防止 DDoS 攻击。正向代理代理客户端,反向代理代理服务器。

  • 负载平衡 - 此站点不是管理单个服务器的所有网络流量,而是将网络流量平均分布在服务器池中以处理对同一站点的请求。这将防止任何单个服务器因客户端请求而过载。
  • 缓存 - 反向代理可以缓存请求的内容以减少服务器上的负载。
  • 压缩 - 反向代理可以压缩内容以进行优化。
  • SSL 加密 - 可以配置反向代理来加密和解密 SSL 通信以保护请求和响应。

1.3 透明代理

透明代理(Transparent Proxy)和非透明代理最显著的区别是,正向代理会修改客户端发送的请求,并让客户端(例如 Web 浏览器)知道请求已更改。也就是说透明代理,对于客户端和服务端都是一个透明的存在,用户并没有感知。正向代理需要在客户端进行配置,透明代理是不需要的。基于上述特征,通常,我们建议对托管设备使用正向代理,对非托管设备使用透明代理。

例如,在咖啡店连接公共 WiFi,弹出登录页面(Portal),此时公共热点就充当了透明代理,即使后续登录热点,关闭该登录页面之后,此时你所有的流量仍然可能经过透明代理。但是透明代理只能监测 TCP 层流量,至于能否监测到应用层实际的明文信息,取决于是否进行了加密。

1.4 案例分析

再回到最初的问题,中间人即代理到底能不能看到我们所有上网的流量数据,我们来举几个实际案例来分析。在如下几种情况下,流量还能被监控吗?

公司内部网络,员工需要在电脑上设置代理,才能够访问外部网络。

这是一种典型正向代理行为,如果只是在客户端设置代理,代理服务器理论上只能看到 HTTP 报文,看不到 HTTPS。但是如果不仅使用公司网络,而且使用公司信息安全软件,那么该软件很有可能已经被部署了代理服务器的证书,此时代理服务器不仅仅会简单修改客户端的 IP,而且会欺骗客户端,将自己的证书替换服务端证书,发送给客户端。从而完成伪造服务端,解密 HTTPS 报文。

公司内部网络,员工没有设置代理,正常访问外部网络。

这是一种典型透明代理行为,对于员工是无感的,如果员工使用自己的电脑,并且没有安装公司信息安全软件,在这种情况下,是和我们连接普通 WiFi 热点一样,透明代理服务器能够拦截常规的 HTTP 报文,但是无法解密 HTTPS 报文。同样道理,如果电脑安装了公司内部软件,那么很有可能电脑也被部署了代理服务器的证书,原本不会修改而只是透传的透明代理服务器,可能同样会修改服务器返回的证书,替换为自己的证书,返回给客户端。这种情况下,所有应用层报文理论上都是可以被代理服务器解析为明文的。

公司内部网络,员工没有设置代理,也没有安装公司软件。

根据上述分析,这种情况乍看一下,即使公司网络存在透明代理服务器,也只能监控到 HTTP 的流量,一旦启用 SSL/TLS,那么应用层数据对于中间人不可见。但是,如果你访问的域名是公司拥有的域名,那么理论上仍然可以监控到你访问公司域名的明文信息。比如尤其是 Google、微软这种大厂,拥有的域名相当多。

这里还存在一种情况,某些客户端软件会忽略证书校验错误,这时,这些客户端访问相关站点的流量可能就会被透明代理服务器解密为明文。

简单总结一下

  • 能够监控流量不代表能够看到所有应用层明文信息
  • 透明代理只是客户端无感知,如果想监控所有 SSL 流量,仍然需要在客户端进行一定的操作,例如导入证书
  • 客户端如果在代码层面选择忽略证书,极有可能会导致敏感信息泄露

以上只是在技术层面分析代理监测流量和用户上网行为的可行性,然而实际情况却有所不同。

2 加密网络流量分析

根据《Cisco Encrypted Traffic Analytics White Paper 》的描述,出于性能和资源原因,采用批量解密、分析和重新加密的传统威胁检查并不总是实用或可行的。此外,它还会损害隐私和数据完整性。

因此大家不用过于担心在企业工作时,泄露个人隐私。如果企业解密所有流量,用户会感觉不安。要想在不牺牲隐私的前提下保护网络环境安全,企业只能引入另一层,从策略层面上确定要解密什么流量。

对一些机构而言,电子邮件可能是一种威胁向量,因此企业选择解密邮件流量。但这类答案对于每家企业而言都会有所不同,因为它们还必须从文化的角度来思考这一问题。

在任何一天,没有人知道他们的数字业务中有多少是透明的,有多少是加密的。如果流量被加密,则通常进行加密以满足强制执行特定安全策略的合规性要求。对于企业的信息安全部门来说,如何确定 SSL 流量的解密比例,是一项具有挑战性的工作,当然也有很多安全公司提供完整的解决方案。 任何 IT 部门的主管都不会想要在每个点上解密这类流量,因为它将会导致大量性能损失。

3 总结

总体而言,万物互联的时代,企业有能力监控员工访问互联网留下的每一处痕迹,但是在比以往任何时候都注重个人隐私的今天,再加上代理解密 SSL 会消耗巨大资源,实际很多公司只会根据风控策略选择解密部分敏感数据。除了加强内部合规风险审查之外,另一方面,政府、企业更多的是需要考虑如何保护个人数据不被滥用,不被泄露,增强他们在民众间的公信力。

4 推荐文献

  • Google’s Part in an Information Collection Framework
  • Internet Censorship detection: A survey
  • What’s the main difference between transparent and non-transparent proxies?
  • Transparent proxy, know its benefits and limitations
  • 透明代理入门
  • Cisco Encrypted Traffic Analytics White Paper (思科加密流量分析白皮书)
  • 解密 SSL 流量,发现隐藏威胁

正向代理、反向代理以及透明代理与隐私保护相关推荐

  1. 正向代理/反向代理/透明代理/透明模式

    1.正向代理(forward)是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转 ...

  2. 正向代理、透明代理、反向代理

    代理方式有三种:正向代理.透明代理和反向代理. 一.正向代理 正向代理是一个位于客户端和目标服务器之间的代理服务器(中间服务器).为了从目标服务器取得内容,客户端向代理服务器发送一个请求,并且指定目标 ...

  3. 理论+实验 详解Squid部署--传统代理--透明代理--日志分析--反向代理

    目录 一 缓存代理概述 1.1 Web代理的工作机制 1.2 代理的基本类型 1.3 使用代理的好处 二 Squid安装及运行 2.1 编译安装Squid 3.4.6 2.2 Squid配置文件调整 ...

  4. 什么是 tproxy 透明代理?

    在 Istio 最新的 Ambient 模式中,使用了 tproxy 做透明流量劫持(见此博客 [1] ),这与 Sidecar 模式中基于 IPtables 的流量劫持方式有些许不同,这篇文文章,我 ...

  5. # 什么是Tproxy透明代理

    什么是Tproxy透明代理 文章目录 什么是Tproxy透明代理 1 什么是代理? 1.1 代理的功能 1.2 代理的分类 2 使用 tproxy 透明代理 3 透明代理的优点 4 透明代理的缺点 5 ...

  6. 【Mitmproxy】Mac + Python + mitmproxy透明代理配置,拦截所有网络请求

    Mac OS Monterey 版本 12.1 mitmproxy==8.0.0 Mitmproxy --version Mitmproxy: 8.0.0.dev Python: 3.9.13 Ope ...

  7. 【安卓安全】透明代理定向抓APP包

    参考了以下大佬的文章: 文章一 文章二 文章三 工具:iptables + redsocks2 + Charles 前期准备 配置charls证书 要使用charles抓https的流量,就需要正确配 ...

  8. Linux下透明代理+Privoxy实现页面相关的广告植入

    一. 前言 Linux系统下Privoxy实现广告植入的方式很简单.通常的做法,就是将HTTP流量(端口80,8080等)NAT到Privoxy,然后由Privoxy实现流量的过滤与广告的植入.这种方 ...

  9. 防火墙的ISP选路与DNS透明代理

    ​ISP选路 ISP选路功能也称为运营商地址库选路功能,当FW作为出口网关设备连接多个ISP网络时,通过ISP选路功能可以使访问特定ISP网络的流量从相应出接口转发,保证流量转发使用最短路径,提高转发 ...

  10. Linux---squid透明代理

    Linux-squid透明代理 一.什么是透明代理? 透明代理:与传统代理实现的功能是一样,区别在于客户机不需要手动指定代理服务器的地址和端口,而是通过静态路由.防火墙策略将web访问重定向,实际上仍 ...

最新文章

  1. setFilters使用方法
  2. mac查看图片分辨率_Mac图像检查工具-Graphic Inspector
  3. Ubuntu16.04用源安装Nginx+PHP5.6+MySQL5.6
  4. [Freescale]E9学习笔记-LTIB总结
  5. ODP 使用 ArrayBind 时可能会遇到的巨坑 'System.IConvertible' 的解决方法
  6. JDK源码解析之 Java.lang.Boolean
  7. android richtext显示html,【报Bug】关于rich-text显示html 的问题
  8. BZOJ 1232 USACO 2008 Nov. 安慰奶牛Cheer
  9. coreos 安装 mysql_手把手教你在 CoreOS 上构建你的第一个应用
  10. 分布形态的度量-偏度系数与峰度系数的探讨
  11. oracle访问syno,[Oracle]同义词(synonym)
  12. 冯·诺依曼,天才中的天才
  13. 产业的互联网化是什么时代_新时代:为什么互联网公司不应忽视65岁以上的一代...
  14. 一文看懂Modbus, Rtu, Rs485等名词的联系
  15. 华为最新5G V2X高级使用案例曝光,未来交通是这样的!
  16. 简易Android专注模式的实现
  17. 笔画输入法教程――如何学习笔画输入法
  18. 《程序员健康指南》阅读笔记
  19. ANSYS workbench的模态分析基本原理和步骤
  20. 什么是大数据?什么是数据科学

热门文章

  1. 巴菲特 投资“金”定律
  2. 在ImportNew上翻译的文章列表
  3. numpy中的高斯分布函数 normal 的具体详解
  4. 标准开道,金融业灾备阔步向前
  5. hive整合hbase
  6. PB powerbuilder程序设计中的尺度单位PBU
  7. 手机里有哪些不想卸载且好用的APP?
  8. Storm DRPC 使用
  9. Java实现CRUD操作
  10. 这些天的生活挺无聊的!