如何修补 OpenSSL 中的漏洞 [CVE-2014-0224]?

如何修补 OpenSSL 中的漏洞 [CVE-2014-0224]?

我收到了生成我的证书的机构发出的警告,说 OpenSSL 有一个错误,并且发现它影响了 1.0.1 版本。

据我了解,我必须升级到1.0.1小时修复此错误。

这是我第一次处理这些东西,我担心它会如何影响我的服务器。

我需要重启任何服务吗?具体要重启什么?我必须确保这不会花太长时间。

答案1

  1. 确保您拥有当前支持的版本:10.04-server、12.04、14.04 或 13.10。

    ~$ lsb_release -a
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 12.04.4 LTS
    Release:    12.04
    Codename:   precise
    
  2. 确保安装最新更新。sudo apt-get update && sudo apt-get upgrade

  3. 验证。apt-cache policy openssl应显示为已安装的版本1.0.1-4ubuntu5.14

    apt-cache policy openssl
    openssl:
      Installed: 1.0.1-4ubuntu5.14
      Candidate: 1.0.1-4ubuntu5.14
      Version table:
     *** 1.0.1-4ubuntu5.14 0
            500 http://archive.ubuntu.com/ubuntu/ precise/main i386 Packages
            500 http://archive.ubuntu.com/ubuntu/ precise-security/main i386 Packages
            500 http://archive.ubuntu.com/ubuntu/ precise-updates/main i386 Packages
            100 /var/lib/dpkg/status
    
  4. 重新启动所有服务或系统以确保无误。

答案2

给出的答案并没有回答问题,就 x86_64 14.04 的最新软件包而言,最新的 openssl 软件包信息是(如果其他人有不同,请告诉我):

openssl:
  Installed: 1.0.1f-1ubuntu2.3
  Candidate: 1.0.1f-1ubuntu2.3
  Version table:
 *** 1.0.1f-1ubuntu2.3 0
        500 mirror://mirrors.ubuntu.com/mirrors.txt/ trusty-updates/main amd64 Packages
        500 mirror://mirrors.ubuntu.com/mirrors.txt/ trusty-security/main amd64 Packages
        500 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ trusty-security/main amd64 Packages
        100 /var/lib/dpkg/status
     1.0.1f-1ubuntu2 0
        500 mirror://mirrors.ubuntu.com/mirrors.txt/ trusty/main amd64 Packages
        500 http://us.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages

我一直在尝试安装/升级到 1.0.1h 版本这里目前还没有运气,当我取得一些进展时,我会再回来检查。

*****更新:因此我在另一个只需要更新的线程上找到了解决方案(源帖子如下):**

下面单个命令行来编译和安装最新的 openssl 版本。

curl https://www.openssl.org/source/openssl-1.0.1h.tar.gz | tar xz && cd openssl-1.0.1h && sudo ./config && sudo make && sudo make install

通过符号链接用新文件替换旧 openssl 二进制文件。在终端中转到 /usr/bin 并运行以下命令

sudo ln -sf /usr/local/ssl/bin/openssl `which openssl`

重启后一切就绪了。您可能需要创建新证书。这是我更新的原始帖子/帖子。来源

运行命令并重新启动后的输出:

OpenSSL 1.0.1h 5 Jun 2014
built on: Sat Jun 14 22:43:13 EDT 2014
platform: linux-x86_64
options:  bn(64,64) rc4(16x,int) des(idx,cisc,16,int) idea(int) blowfish(idx) 
compiler: gcc -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
OPENSSLDIR: "/usr/lib/ssl"

答案3

该漏洞会影响 OpenSSL 客户端。使用低于 1.0.1 版本的 OpenSSL 的客户端连接到运行 1.0.1 及更高版本的 OpenSSL 服务器时,会受到该漏洞影响,应进行更新。

OpenSSL 团队发布了新版本

修复此问题的唯一方法是安装更新的 OpenSSL 软件包并重新启动受影响的服务。目前,这不会导致证书或私钥信息泄露。

有关详细信息,请参阅这里

相关内容