如何在Ubuntu 18.04中将OpenSSL 1.1.0升级到1.1.1?


17

我一直在运行安装了Ubuntu 18的生产服务器。最近,我发现在客户位置安装的某些防火墙上不允许使用我的Web应用程序。

我发现我的服务器正在按TLSv1.0, TLSv1.1, TLSv1.2协议进行通信,我假设防火墙设置仅允许按TLSv1.3协议与服务器进行通信。

由于Ubuntu 18随带OpenSSL version 1.1.0,并且要获得服务器支持,TLS v1.3我必须将OpenSSL升级到version 1.1.1最新版本。

由于这是运行nginx服务器的生产服务器,因此我不想直接在服务器上尝试任何操作。

root@energy-prod:~# nginx -v
nginx version: nginx/1.14.0 (Ubuntu)

在不干扰服务器其他任何设置的情况下,将OpenSSL升级到v1.1.1的最佳方法是什么?


2
仅供参考:»将OpenSSL 1.1.1 SRU转换为Bionic« list.ubuntu.com/archives/ubuntu-devel/2018-December/…同时,与负责防火墙配置的各个联系人进行交谈,询问要求/建议/豁免。我怀疑您是唯一运行18.04并有此问题的人,也不认为目前不支持TLS 1.3是一个问题,因为它仍然很新,并且与您的陈述相反,我读到它仍然会导致某些问题中间盒,但您不会不问就知道。
LiveWireBT '18

2
直到该SRU通过之后,才能进行升级。依靠OpenSSL进行升级的东西太多了,因为它可能破坏一切。
托马斯·沃德

Answers:


34

注意:从2019年8月开始,应该可以通过正常的软件包升级/18.04的安装来安装openSSL 1.1.1。或者,您可以直接从此处下载.deb软件包。


根据OpenSSL网站

最新的稳定版本是1.1.1系列。这也是我们的长期支持(LTS)版本,支持到2023年9月11日。

由于当前Ubuntu存储库中没有此文件,因此您需要手动下载,编译和安装最新的OpenSSL版本。

以下是要遵循的说明:

  1. 打开一个终端(Ctrl+ Alt+ t)。
  2. 获取压缩包: wget https://www.openssl.org/source/openssl-1.1.1a.tar.gz
  3. 使用以下命令解压缩tarball tar -zxf openssl-1.1.1a.tar.gz && cd openssl-1.1.1a
  4. 发出命令./config
  5. 发出命令makesudo apt install make gcc成功运行此命令之前,您可能需要运行)。
  6. 运行make test以检查可能的错误。
  7. 备份当前的openssl二进制文件: sudo mv /usr/bin/openssl ~/tmp
  8. 发出命令sudo make install
  9. 创建从新安装的二进制文件到默认位置的符号链接:
    sudo ln -s /usr/local/bin/openssl /usr/bin/openssl
    
  10. 运行命令sudo ldconfig以更新符号链接并重建库缓存。

假设执行步骤4到10没有错误,则您应该已经成功安装了新版本的OpenSSL。

再次从终端发出命令:

openssl version

您的输出应如下所示:

OpenSSL 1.1.1a  20 Nov 2018

1
关于“从2019年6月起,应该可以通过正常的软件包升级/安装来安装openSSL 1.1.1”:只是请注意,在Ubuntu 18.04上似乎并非如此(至少在我尝试过的两台机器上) )...
logidelic

@logidelic有趣。感谢您指出了这一点。我会记录下来。我的主要系统是19.04,我有几个基于仿生(18.04)的派生类(Mint),它们已经收到了反向移植。显然,launchpad.net / ubuntu / + source / openssl / 1.1.1-1ubuntu2.1〜18.04.4仍可能仅是“提议”的,或者在18.04中可以作为源使用。我不确定自己的状态。
凯文·鲍恩

还曾在Debian Jessie上工作。使用的是1.1.1c,因为它与Buster中的版本相同。
Rudolf Vavruch
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.