当使用SSL连接到资源时,我知道客户端可以验证证书,以确保连接是安全的。
我最近在工作中遇到SSL问题,当连接到我公司的网络时(只在使用特定的WLAN端点时)。在使用浏览器时,我没有遇到任何问题,但当我与curl或java连接时,出现了"SSL证书问题:证书链中的自签名证书问题“或"PKIX路径构建失败;无法找到指向请求目标的有效证书路径”等错误。我查看了浏览器中的证书链,发现该网站的整个证书链已被我公司的证书所取代。然而,只有某些网站是这样的,其他网站如google或amazon仍然装载正确的证书。
现在我有几个问题要问你。如何才能更改所有证书?为什么我的浏览器不抱怨这个?有人知道为什么这只发生在特定的网站上吗?我在一家很大的公司工作,但我仍然没有找到合适的人来谈论这件事。
发布于 2019-05-30 13:33:30
如何才能更改所有证书?
该公司正在使用透明代理对HTTPS通信进行SSL检查。这需要终止连接,例如在防火墙上,并为客户端创建一个新的TLS连接。这需要创建新的(假)证书并使用自己的CA对其进行签名。
为什么我的浏览器不抱怨这个?
用于签名假证书的根CA作为受信任的CA安装到浏览器使用的证书存储区,但cURL或Java没有。
有人知道为什么这只发生在特定的网站上吗?
有些站点可能是可信的,即禁用了对这些站点的检查。有许多做法,例如,一些公司可能会添加手动例外,有些只能检查不属于安全类别的网站。
发布于 2019-05-30 13:36:18
如何才能更改所有证书?
中间的人。您的公司正在使用某种代理设备来拦截您的所有请求,并为您试图连接的地址动态生成一个证书。代理基本上就像一个CA,签署了所有执行MITM的“假”证书。一些供应商倾向于称其为Outbound SSL Inspection。
为什么我的浏览器不抱怨这个?
这是因为每个端点都有部署在证书存储区中的CA证书(对于Windows端点,这是通过GPO完成的),因此可以验证服务器发送的证书(在本例中是由模拟实际服务器的代理发送的)由您显式信任的CA签名的!所以你没有看到像your connection is not private the site's security certificate is not trusted!这样的警告..。
有人知道为什么这只发生在特定的网站上吗?
代理可能有一组规则或策略,这些规则或策略可以跳过各种类别,比如银行,而不是对它们执行MITM。另外,在某些网站上,您将无法执行MITM,因为它们可能使用像certificate pining HSTS这样的技术。
https://security.stackexchange.com/questions/211063
复制相似问题