我们有一个运行 OpenVPN 的 AWS 服务器,它是使用 Ubuntu 13.10 构建的。在宣布 Heartbleed 漏洞后,我们更新了服务器。今天早上,我们将服务器升级到 14.04。“openssl version -a”的当前输出是:
OpenSSL 1.0.1f 6 Jan 2014
built on: Mon Apr 7 21:22:23 UTC 2014
platform: debian-amd64
options: bn(64,64) rc4(16x,int) des(idx,cisc,16,int) blowfish(idx)
compiler: cc -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -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)
我使用以下方法验证了服务器仍然易受攻击的事实:
:~$ openssl s_client -connect openvpn.example.com:443 -tlsextdebug 2>&1| grep 'server extension "heartbeat" (id=15)' || echo safe
TLS server extension "heartbeat" (id=15), len=1
Run Code Online (Sandbox Code Playgroud)
尝试运行“sudo apt-get install openssl”会返回当前版本已经安装。解决此问题的最佳选择是什么?是否出现发行版升级时出现问题;即 14.04 OpenSSL 包实际上在危险范围之外吗?还是存储库本身可能存在问题?
正如@david6 指出的那样,OpenSSL 的版本可能仍然是一个易受攻击的版本。这是因为 Ubuntu 与许多其他发行版一样,会向后移植安全修复程序,而不是更新到软件的全新版本(并且可能会在此过程中获取新功能及其伴随的错误)。因此,仅仅因为您运行的是 OpenSSL 的“易受攻击版本”并不意味着您运行的是易受攻击的 OpenSSL 版本。
但是,如果可用的 Heartbleed 审核表明您仍然易受攻击,那么您仍然易受攻击。
我认为正在发生的事情是您已经更新了软件包,但是您还没有重新启动使用 OpenSSL 的服务,因此它们仍然保留在启动时加载的旧版本。
有两种简单的方法可以解决这个问题:
重新启动服务器。
识别并重新启动受影响的服务。一个简单的方法来做到这一点是,checkrestart从debian-goodies
包。它应该识别受影响的服务,甚至告诉您哪些 init 脚本将重新启动它们:
$ sudo apt-get install debian-goodies
$ sudo checkrestart
Run Code Online (Sandbox Code Playgroud) 归档时间: |
|
查看次数: |
10903 次 |
最近记录: |