为什么无人值守升级无法修复令人流血的错误?


20

我已按照说明安装无人值守的升级,以在服务器(ubuntu服务器13.10)上安装自动安全更新。

https://help.ubuntu.com/community/AutomaticSecurityUpdates

您能帮我理解为什么今天早上我的服务器上仍然出现令人讨厌的错误吗?

$ openssl version -a
OpenSSL 1.0.1e 11 Feb 2013
built on: Wed Jan  8 20:58:47 UTC 2014
platform: debian-amd64

其他信息:

$ cat /etc/apt/apt.conf.d/20auto-upgrades
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

$ cat /var/log/apt/history.log
....
Start-Date: 2014-04-03  15:33:59
Commandline: apt-get install nginx
Install: libxau6:amd64 (1.0.8-1, automatic), libx11-data:amd64 (1.6.1-1ubuntu1, automatic), libxcb1:amd64 (1.9.1-3ubuntu1, automatic), libvpx1:amd64 (1.2.0-2, automatic), libgd3:amd64 (2.1.0-2, automatic), libxdmcp6:amd64 (1.1.1-1, automatic), libxslt1.1:amd64 (1.1.28-2, automatic), nginx-common:amd64 (1.4.1-3ubuntu1.3, automatic), nginx:amd64 (1.4.1-3ubuntu1.3), nginx-full:amd64 (1.4.1-3ubuntu1.3, automatic), libx11-6:amd64 (1.6.1-1ubuntu1, automatic), libxpm4:amd64 (3.5.10-1, automatic)
End-Date: 2014-04-03  15:34:02

Start-Date: 2014-04-04  10:26:38
Commandline: apt-get install unattended-upgrades
Install: unattended-upgrades:amd64 (0.79.3ubuntu8)
End-Date: 2014-04-04  10:26:40

谢谢


2
不回答你的问题,但是看看这个答案,以解决您的操作系统askubuntu.com/questions/444817/am-i-affected-heartbleed-bug
环Ø

我同意您应该有一个更新的版本。我的12.04服务器正在自动更新,并且已于昨天更新。你检查了/var/log/apt/history.log吗?
2014年

@jos我有我的/var/log/apt/history.log的内容,这里没有更多信息
Guillaume Vincent

Answers:


28

您的服务器上没有Heartbleed漏洞,已修补OpenSSL以解决此问题(无需升级)。

您已经在OpenSSL版本输出中遗漏了几行重要内容,这就是您知道它已被修补的方式,而不是版本号:

openssl version -a                                                                ✭
OpenSSL 1.0.1e 11 Feb 2013
built on: Mon Apr  7 20:33:19 UTC 2014
platform: debian-amd64
options:  bn(64,64) rc4(16x,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 -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"

4月7日或之后在这里重要的是“建立”线:您很好。否则:您有麻烦。

更新,因为构建日期似乎不太好:

也许无人值守升级尚未运行,在我的服务器上,cron.daily中的脚本配置为在6:25运行

25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

另外,请检查/etc/apt/apt.conf.d/10periodic的内容,并检查是否已安装安全更新:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
APT::Periodic::Unattended-Upgrade "1";

资料来源:https : //help.ubuntu.com/lts/serverguide/automatic-updates.html


1
我有麻烦了:(built on: Wed Jan 8 20:58:47 UTC 2014 platform: debian-amd64
纪尧姆·文森特

刚运行sudo apt-get update && sudo apt-get dist-upgrade,您应该是最新的。
Edd Turtle 2014年

谢谢@EddTurtle,这不是我的问题!我的问题是为什么自动更新不起作用!
Guillaume Vincent

我的/etc/apt/apt.conf.d/10periodic不好,或者cron在凌晨5点没有发现任何升级。谢谢@ mathieu-comandon
Guillaume Vincent

@guillaumevincent我刚刚注意到无人值守升级是您安装的最后一个软件包-因此它必须是配置问题。
2014年

12

首先,您需要执行升级。无人值守升级每天仅运行一次,而且自修复程序发布以来(不到2014年7月2日格林威治标准时间20:00不到一天)。为确保安全,请确保已升级到libssl1.0.01.0.1e-3ubuntu1.2版或更高版本。(确切地说,此修复程序来自版本1.0.1-4ubuntu5.12。)

接下来,请注意,这是一个非常严重的漏洞:它可能已使攻击者可以通过连接到易受攻击的服务器来获取机密数据。如果您正在运行SSL服务器,那么自从宣布漏洞之前不久以来,该服务器内存中的所有数据都可能已泄漏。特别是,这包括服务器的SSL私钥,因此您应该生成一个新的私钥,并撤消旧的私钥。

有关更多信息,请参阅如何修补OpenSSL中的Heartbleed错误(CVE-2014-0160)?


服务器内存中大约两年内的所有内容可能已经泄漏,而不仅仅是从发布之日起。
pieroxy

@pieroxy很长时间以来,服务器内存中的所有内容都极有可能被覆盖,以至于您还应该担心许多其他攻击媒介。例外是,如果您担心的是对手可能更早知道该漏洞并悄悄地利用了它-政府级别的对手可能早就知道了,那么普通的骗子就不太可能了。
吉尔斯(Gilles)'所以

7

您不能相信内部版本字符串。该版本说1.0.1e,该错误从1.0.0到1.0.0f受影响。这是否足以确定您是否仍然存在openssl的漏洞版本?不会。即使应用了一些更新,OpenSSL内部版本也不会更改。可靠识别版本的唯一方法是使用apt-cache policy或其他工具查看程序包管理器版本:

➜  ~  apt-cache policy openssl
openssl:
  Installed: 1.0.1f-1
  Candidate: 1.0.1f-1
  Version table:
 *** 1.0.1f-1 0
        500 http://http.debian.net/debian/ testing/main i386 Packages
        100 /var/lib/dpkg/status
➜  ~  dpkg -l openssl
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version      Architecture Description
+++-==============-============-============-=================================
ii  openssl        1.0.1f-1     i386         Secure Sockets Layer toolkit - cr
➜  ~  

如您所见,我的openssl版本是上乘的,由于它是1.0.1f,因此似乎受到影响,现在如果我检查变更日志:

➜  ~ apt-get changelog openssl
openssl (1.0.1f-1) unstable; urgency=high

  * New upstream version
    - Fix for TLS record tampering bug CVE-2013-4353
    - Drop the snapshot patch
  * update watch file to check for upstream signature and add upstream pgp key.
  * Drop conflicts against openssh since we now on a released version again.

 -- Kurt Roeckx <kurt@roeckx.be>  Mon, 06 Jan 2014 18:50:54 +0100

是的,我仍然受到影响。更改日志中没有任何对CVE-2014-0160的引用。但是,我没有运行任何SSL / TSL服务,所以我可以等待。我只是不必使用此版本的OpenSSL生成SSL证书。如果这样做,我只需要遵循Gilles的建议即可:取消服务,撤销证书,生成新证书。


注意:“ apt-cache changelog”对我来说不是有效命令,但“ aptitude changelog”是有效命令。
ColinM 2014年

1
@ColinM对不起,是apt-get,不是apt-cache,剪贴板问题。
Braiam 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.