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

dol*_*lar 29 upgrade openssl 18.04

我一直在运行安装了 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)
Run Code Online (Sandbox Code Playgroud)

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

Kev*_*wen 67

注意:从 2019 年 8 月起,openSSL 1.1.1 应该可以通过 18.04 的正常包升级/安装进行安装。或者,您可以直接从这里下载 .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.1g.tar.gz
  3. 解压 tarball tar -zxf openssl-1.1.1g.tar.gz && cd openssl-1.1.1g
  4. 发出命令./config
  5. 发出命令make(您可能需要先运行sudo 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
    
    Run Code Online (Sandbox Code Playgroud)
  10. 运行命令sudo ldconfig以更新符号链接并重建库缓存。

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

再次,从终端发出命令:

openssl version
Run Code Online (Sandbox Code Playgroud)

您的输出应如下所示:

OpenSSL 1.1.1g  21 Apr 2020
Run Code Online (Sandbox Code Playgroud)

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