代理后面的 Windows 网络上 Firefox、Ubuntu 上的 SSL 证书问题

代理后面的 Windows 网络上 Firefox、Ubuntu 上的 SSL 证书问题

我的问题:启用 SSL 的网站 (HTTPS) 无法在我的 Firefox 浏览器上正确呈现。办公室的网络团队表示,问题是由于代理服务器无法正确识别我的系统,因此代理服务器上的证书交换无法正常工作。HTTPS 网站(如银行网站)可以正常呈现。这些网站似乎被代理绕过,以防止解密加密请求。网络团队给了我一个证书 (.p12) 文件来导入 Firefox,但这没有帮助。

此问题仅发生在 Linux 系统上。我已在 smb.conf 文件中输入正确的域名,以使我的系统位于域中,但这也无济于事。

设置:我在一台 Ubuntu 11.10 机器上,使用 Firefox 14 浏览器。我在办公室的 Windows 网络上,位于代理服务器后面。

任何信息或线索都将不胜感激。

答案1

事实上,您在这个网络内和没有这个代理的情况下获得了这个代理后面的不同证书,这似乎表明这是一个 SSL 检查代理(或“MITM 代理”。

此类代理服务器能够通过模拟目标服务器来查看加密的 SSL/TLS 流量。它们通过生成自己的证书来替换真正的服务器的证书。此类证书由代理服务器中嵌入的 CA 颁发(代理服务器可能能够动态生成证书)。公司网络内的工作站(或类似网络,无论代理服务器安装在何处)可以识别此类证书,因为这些计算机已配置为信任代理服务器的 CA 证书,以及(或代替)操作系统或浏览器提供的默认 CA 证书列表。

(您可以将其视为“合法的 MITM 攻击”,但这实际上并不是攻击,因为对该额外 CA 证书的信任必须得到当地政策制定者的批准并由系统管理员设置。)

您的系统管理员团队很可能在 Windows 计算机上安装了该 CA 证书,但您的 Ubuntu 计算机可能被遗漏了(如果您自己安装了,则很有可能)。这不是代理服务器无法正确识别您的系统的问题;而是您的系统未配置为信任您的代理服务器。

您需要自己在您的机器和浏览器中安装该 CA 证书。您可以要求您的网络团队提供该 CA 证书,或者您应该能够自己从 Windows 机器中导出它:从连接正常的机器上查看您访问的任何网站的颁发者证书(通常可以通过“查看详细信息”之类的命令访问,具体取决于您在那里使用的浏览器),将其导出(PEM/Base-64)并将其导入到您的 Linux 机器上。

您需要将其作为受信任的机构导入 Firefox(选项/首选项 -> 高级 -> 加密 -> 查看证书 -> 机构 -> 导入... 并勾选“信任此 CA 证书”以识别网站)。其他应用程序有不同的 CA 证书存储库:复制一份/etc/ssl/certs/也可能会很有用。

当然,结果是,无论谁负责该代理服务器,都能够查看您在该网络中使用的任何 HTTPS 站点上交换的流量,但无论如何,任何以这种方式配置的 Windows 机器上都是这种情况。

相关内容