在 Ubuntu 中完全禁用 SSL 证书验证

在 Ubuntu 中完全禁用 SSL 证书验证

我是 Linux 新手,正在公司系统上安装 Oracle Virtualbox 的 Ubuntu 18.0401 LTS 上学习 Linux。公司有私人代理网络。因此,我在 ubuntu 上浏览的所有网站都通过代理并获得公司颁发的 SSL 证书。当我从 chrome/firefox 浏览时,它会出现错误,例如来源不可信。当我转到 > 高级 > 添加例外时,我可以浏览该特定网站一段时间,然后过一段时间再次出现相同的错误(可能是证书详细信息发生了变化)在浏览器中,至少我经过这样的努力可以浏览,但 Ubuntu 软件甚至没有提供这样的选项,我根本无法下载任何软件。CLI apt-get 也不起作用。有人能告诉我一种配置方法,让我们完全绕过系统范围内的 SSL 验证吗?比如 --disable SSL 证书验证。这样我就可以无缝连接到互联网了吗?(当然,被代理阻止的网站仍然会被阻止)

提前致谢!

NK,Linux 爱好者

PS:以下是firefox上的错误;

“您的连接不安全 support.mozilla.org 的所有者对其网站配置不当。为了保护您的信息不被盗用,Firefox 未连接到此网站。”

答案1

在 Ubuntu 中完全禁用 SSL 证书验证

幸运的是,除了再次编译相关应用程序并在代码中禁用证书验证外,这实际上是不可能的。

正确的做法不是禁用验证,而是将代理使用的 CA 证书添加为受信任证书。这样,您就可以在没有任何警告的情况下使用代理,但仍然不会像禁用所有验证那样容易受到任意中间人攻击。

请向您的网络管理员索取正确的 CA 证书,然后按照示例所述进行安装这里适用于 Firefox(尽管这个特定的网站是针对 Windows 的,但它与 Linux 上的 Firefox 相同)。

答案2

正确的方法是添加代理使用的 CA 证书。如果频繁轮换证书,这可能会很烦人。要安装证书,以便代理使用它们最多应用程序(与使用自己的证书存储区的 Firefox 不同),执行以下操作:

  1. 获取 Base64 编码 X.509 格式的证书。
    获取证书的简单方法是通过IT 管理/自动更新系统上的Chrome Settings,通过Advanced、 。Manage Certificates
  2. 将其复制到/usr/local/share/ca-certificates
    (可选择创建一个新的子文件夹)
  3. 如果扩展名不是 .crt,请重命名文件。
  4. sudo update-ca-certificates

重复此练习时,证书可能不会更新。您可以通过先运行来解决此问题。

sudo rm -f /etc/ssl/certs/[certificate-name].pem

其中[certificate-name]匹配不带原始 (.crt) 扩展名的证书文件名。

注意:在 Ubuntu 16.04 下测试,但我预计在 18.04 下其行为也将相同。

相关内容