升级 SSL 库无法修复 heartbleed

Kap*_*hik 5 ubuntu ssl heartbleed

我刚刚在我的 Ubuntu 12.04 服务器上升级了 openssl 库来修复 heartbleed 错误。这是我为“openssl version -a”命令获得的输出:

OpenSSL 1.0.0g 18 Jan 2012
built on: Fri Apr 11 09:20:16 UTC 2014
platform: linux-x86_64
options:  bn(64,64) rc4(8x,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 -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DWHIRLPOOL_ASM
OPENSSLDIR: "/usr/local/ssl"
Run Code Online (Sandbox Code Playgroud)

据我了解,“建立”日期应该是 2014 年 4 月 7 日之后,这里似乎就是这种情况。完成这些更改后,我重新启动了 Apache,但我仍然发现我的网站容易受到 Heartbleed 错误的影响。

我在这里错过了什么吗?

我通过下载最新的源代码并编译/安装来升级 ssl 库。

[更新] 在下面Stephan 的评论之后,我直接使用apt-get 升级了openssl。我还更新了我的 PATH 以指向新升级的 openssl lib。

这是我在执行“openssl version -a”时看到的

OpenSSL 1.0.1 14 Mar 2012
built on: Mon Apr  7 20:33:29 UTC 2014
platform: debian-amd64
options:  bn(64,64) rc4(8x,int) des(idx,cisc,16,int) blowfish(idx) 
compiler: cc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -DOPENSSL_NO_TLS1_2_CLIENT -DOPENSSL_MAX_TLS1_2_CIPHER_LENGTH=50 -DMD32_REG_T=int -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)

根据“构建于”,该库已更新为最新的 4 月 7 日补丁。然而,我的网站仍然显示出容易受到心脏出血的影响。

请帮助!

Ste*_*ski 13

保护自己免受 Heartbleed 侵害的最简单、最快的方法是从供应商提供的二进制包更新 OpenSSL。除非您知道自己在做什么,或者想花更多时间学习,否则不要从源代码编译。如果您需要做的只是更新软件,那么从源代码编译更具挑战性并且是浪费时间。它可以具有教育意义和启发性。

OpenSSL 1.0.0g 18 Jan 2012
built on: Fri Apr 11 09:20:16 UTC 2014
Run Code Online (Sandbox Code Playgroud)

这有些不对劲。你想要 1.0.1g 而不是 1.0.0g。但是 Heartbleed 只是 OpenSSL 1.0.1 和 1.0.2 中的一个问题。OpenSSL 1.0.0 不易受到攻击。您是否下载了旧的源文件?请注意,Ubuntu 并不总是准确报告 OpenSSL 版本,您还需要更新 libssl。

据我了解,“建于”日期应该是 2014 年 4 月 7 日之后,这里似乎就是这种情况

不,再看一遍。您的“建立”日期是“UTC 2014 年 4 月 11 日 09:20:16”。那是你编译这个源的时候吗?

请注意,如果您从源代码构建,则需要应用正确的标志。阅读http://www.openssl.org/news/secadv_20140407.txt 上的安全通知

受影响的用户应升级到 OpenSSL 1.0.1g。无法立即升级的用户也可以使用 -DOPENSSL_NO_HEARTBEATS 重新编译 OpenSSL。

  • 尝试使用 `make uninstall` 从源代码卸载。在此处寻求帮助 http://askubuntu.com/questions/87111/if-i-build-a-package-from-source-how-can-i-uninstall-or-remove-completely (2认同)