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


13

我是Linux的新手,正在学习在公司系统上的oracle virtualbox上安装的Ubuntu 18.0401 LTS上的Linux。公司拥有私人代理网络。因此,我在ubuntu上浏览的所有网站都通过代理,并获得了该公司颁发的ssl证书。当我从chrome / firefox浏览时,会出现错误,例如不受信任的来源。当我转到“高级”>“添加例外”时,我可以浏览特定的网站一段时间,然后再经过相同的错误(可能是证书详细信息更改)再浏览一次。选项,而我根本无法下载任何软件。CLI apt-get也不起作用。有人可以告诉一种配置方式,使我们完全绕过ssl验证系统吗?像-禁用SSL证书验证之类的东西。这样我就可以无缝连接到Internet?(当然,被代理阻止的网站仍将被阻止)

在此先感谢一吨!

NK,Linux爱好者

PS:以下是Firefox上的错误;

“您的连接不安全。support.mozilla.org的所有者未正确配置其网站。为了防止您的信息被盗,Firefox尚未连接到该网站。”


请看这里:askubuntu.com/a/94861/783023-我认为您只需要安装公司(或公司代理)的根证书-那就可以了。请记住,某些应用程序(例如Firefox)具有自己的密钥库,因此以下答案也适用。
罗伯特·里德尔

1
对于熟悉此事的人来说,这应该很明显,但无论如何我还是要声明。安装根证书可以使您完全信任该证书的所有者。这意味着该所有者可以例如中间人连接并解密所有https通信,就像您的浏览器在未安装证书的情况下使用公司代理时警告您一样。您可能无法避免,如果您的雇主的IT策略必须使用他们的代理,但是您应该意识到这一点,并避免传输任何个人信息(银行,私人登录信息,等等)
Byte Commander

@ByteCommander,这是非常正确的。实际上,如果我正确地解释了OP,那么由于代理服务会破坏SSL,他目前(不是恶意地)是中间人。另外,禁用SSL也将使您容易受到中间人攻击。
罗伯特·里德尔

感谢您的答复专家。问题是IT团队不会给我证书,因为在经过如此多的批准后,虚拟盒子已经被授予了。他们不会打扰,因为我使用Ubuntu进行自我学习,对他们没有任何困扰。
Nikhil Kadi

Answers:


47

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

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

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

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


7

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

  1. 获取以Base64编码的X.509格式的证书。
    一个简单的方法来获得他们是通过浏览器通过SettingsAdvancedManage Certificates在一个IT管理/自动更新系统。
  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下表现相同。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.