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

Sha*_*din 7 security openssl

我收到了来自生成我的证书的机构的警告,它说 OpenSSL 中存在错误,并且已经发现它影响了 1.0.1 版。

据我了解,我必须升级到1.0.1h才能修复此错误。

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

我必须重新启动任何服务吗?究竟是什么?我必须确保这不会花费太长时间。

mik*_*ver 6

  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
    
    Run Code Online (Sandbox Code Playgroud)
  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
    
    Run Code Online (Sandbox Code Playgroud)
  4. 重新启动任何服务或系统只是为了确定。


小智 4

给出的答案没有回答问题,就 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
Run Code Online (Sandbox Code Playgroud)

我一直在从这里安装/升级到 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
Run Code Online (Sandbox Code Playgroud)

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

sudo ln -sf /usr/local/ssl/bin/openssl `which openssl`
Run Code Online (Sandbox Code Playgroud)

重新启动即可。您可能想要/需要创建新证书。这是我更新的原始线程/帖子。来源

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

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"
Run Code Online (Sandbox Code Playgroud)