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

Nik*_*adi 14 ssl certificates

我是 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 没有连接到该网站。”

Ste*_*ich 48

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

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

继续进行的正确方法不是禁用验证,而是将代理使用的 CA 证书添加为受信任。通过这种方式,您可以在没有任何警告的情况下使用代理,但仍然不容易受到中间人攻击,就像禁用所有验证一样。

请向您的网络管理员询问正确的 CA 证书,然后按照此处所述的 Firefox示例进行安装(尽管此特定站点适用于 Windows,但与 Linux 上的 Firefox 相同)。


小智 8

正确的方法是添加代理使用的 CA 证书。如果它们经常轮换,这确实会变得很烦人。要安装证书以供大多数应用程序使用(与使用自己的证书存储的 Firefox 不同),请执行以下操作:

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

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

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

where[certificate-name]匹配没有原始 (.crt) 扩展名的证书的文件名。

注意:在 Ubuntu 16.04 下测试过,但我希望它在 18.04 下表现相同。