中间人根证书到底有多大用?

245 天前
 iminto
都说中间人根证书不安全,那到底危害在哪?

公司会在员工电脑上安装一个根证书,一个深信服客户端,同时设置域控。

我知道用 fiddler 抓 https 的包,fiddler 会生成一个中间人根证书,然后用户主动信任中间人这个根证书,就能抓到任何 https 的包了。这个过程大家都知道,但是这是用户主动的。

公司安装的这个根证书,也是存放到企业受信任根里面了,问题是:

如果仅仅是安装了这个根证书(一般解释都是用于信任自签发证书的企业内部网站的双向验证),在没有安装任何本地客户端的情况下

1.我的浏览数据是否还是安全的?在路由一侧能否看到我的浏览数据?
2.作为网站开发者,能否针对这种情况进行识别和处理?
3.如果装了本地客户端,这个中间人的不安全到底是怎么体现的?
2222 次点击
所在节点    信息安全
20 条回复
dhb233
245 天前
1 、能
2 、很难
3 、上面两条还不够?
cwyalpha
245 天前
搜一下深信服 微信监控
iminto
245 天前
@dhb233

我的理解是 fiddler 能抓到 github 的数据,是因为 fiddle 利用中间人证书 r 给 github 颁发了一个子证书才能做到。

而,如果仅仅是电脑上安装了一个受信任的自签名根证书,没有其它操作和配置的话,这个 https 通讯,中间人是没有参与进来的
kera0a
245 天前
@iminto 中间人只需要在网络链路的任意位置。不需要在你设备上
iminto
245 天前
@kera0a 确实忘了这茬了,公司是在路由这层模仿 fidder 进行中间人攻击的。

至于本地客户端,则是进行了更多的进程和文件级别监控
finab
245 天前
@iminto 你把 fiddle 想象成公司的路由器, 公司也可以中中间人根证书 给网站颁发一个子证书, 代替你与网站通信,再把结果用它自己颁发的证书返回给你的设备,所以你只要连了公司网,有根证书就已经被中间人了,不需要你设备运行什么软件。
H97794
245 天前
主交换机/主路由 直接就是深信服设备
或者主交换机/主路由 将所有通讯数据转发一份到深信服设备
totoro625
245 天前
简单的理解就是:中间人根证书+HTTPS = HTTP
把 HTTPS 相对于 HTTP 的优点看一遍就好了
cheng6563
245 天前
fidder 的 CA 都是本地离线直接生成的吧我记得。这样 CA 的私钥也只存在你电脑里,只要这个不泄露那就没啥问题。
iyiluo
245 天前
一般用 ssl pinning 来防止这种中间人攻击,很多需要安全通信的 app 都会上 ssl pinning 。
dhb233
245 天前
装这个证书不就是让路由器解密你的 https 流量的吗。。。
neilp
245 天前
1. 能. 可以做流量劫持. 可以给你的 ssl 内容签名,你却发现不了.
2. 能. 就是使用 sslpin. 原理就是假设你第一次访问对应网站是没问题的. 浏览器回记住网站的公钥. 后面再访问, 即使是 ssl 签名验证过了, 也回再检查公钥是否匹配.
3. 根证书是整个 ssl 体系最后一层保护, 也是最脆弱的一层. 如果更证书被污染了. 任何 ssl 的安全性荡然无存.
yuzo555
245 天前
Windows 任何软件请求一下管理员权限,用户无脑点个允许就可以不知不觉添加一张监控所有 HTTPS 访问的根证书,说起来是挺可怕的
FastAce
245 天前
道高一尺,魔高一丈,很简单,重点本地再加一层 HTTPS 代理入站,自签也行,之后用 VLESS 的 reality 作为出站,或者 VLESS 的 reality 同时搭建 [出入站] 也行,你审查我就对抗审查,就即便是抓包,也看起来是普通 HTTPS 流量
FastAce
245 天前
搭建好之后,所有的流量看起来只访问了 vless 中配置的一个出现域名,实际上想怎么访问就怎么访问
FastAce
245 天前
就记着一个思路,怎么对抗 G.F.W 就怎么对抗所谓的内网行为审查
ShuWei
244 天前
有了中间人根证书,中间人就可以随意签发任意地址的证书,然后在中间劫持、解密、重封包,完全没有安全可言了。网站如果想识别,也是可以,不过,最终还是道高一尺 魔高一丈的相互对抗而已
troilus
242 天前
@finab 请教一下,这种情况在浏览器等客户端通过查看 https 网站证书可以辨别出来吗? 难道网站任然显示的是没问题的证书而实际上证书是中间人颁发的子证书?
troilus
241 天前
@troilus 用 fiddler 尝试了下大部分可以辨别出来
testcaoy7
238 天前
1 、当然可以
2 、作为网站开发者,能做的不多,目前可以解决该安全问题的有三种技术:TLS-PSK (预共享密钥 TLS )、mTLS (双向认证 TLS )、应用层的零知识验证。这三种技术基本上都会让用户一头雾水,前两者需要专门配置浏览器,而且好像除了 Firefox 以外没有良好的支持。零知识需要深奥的密码学知识,自己搞基本上等同于瞎搞,而国内似乎就没有这方面有资质的商业公司。
3 、本地客户端会读取系统 CA 证书,因为第三方签发的 CA 已经被系统信任,所以你的 HTTPS 流量可以被任何使用系统证书存储的软件解密。另一个可行的解决方案是让你的客户端使用 NSS ( Firefox 就用的这个)。NSS 是单独的证书存储系统,只要第三方 CA 没有导入到你的 NSS 数据库里面,你的客户端流量就不会被 MiTM 。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1036739

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX