仅仅过了几天,互联网上仍然充斥着新闻cve - 2014 - 0160,更广为人知的名字是“心脏出血”。CSO汇编了以下信息,以帮助管理员和安全团队理解问题、确定其风险,并在需要时修复问题。
“心脏出血”并不能真正改变什么,有两个原因 | |
Heartbleed (CVE-2014-0160):问题概述和修复它所需的资源 | |
下面是一些网络设备有缺陷的选项(提示:并不是很多) | |
你需要知道的关于心脏出血和OpenSSL | |
心脏出血的后果-下一个是什么? | |
服务器制造商匆忙推出心脏出血补丁 | |
|
概述:
2014年4月7日,“心脏出血”漏洞在互联网上被全面披露,但问题的根本原因在两年前就被引入了OpenSSL平台。
这个bug的名字是一个文字游戏。媒体和一些供应商有错误地将问题报告为恶意软件这是一种与事实相去甚远的描述。同样地,其他不准确的报告说这个问题是在SSL / TLS协议内部的问题。这两种解释都是错误的。
存在Heartbleed错误是因为TLS/DTLS心跳功能的OpenSSL实现存在缺陷。所以这是服务器软件的问题,而不是证书的问题。漏洞本身可以被归类为一个重要的信息披露问题。
影响:
在他们的咨询美国cert完美地描述了这个问题。
OpenSSL版本1.0.1到1.0.1f在TLS/DTLS心跳功能的实现中包含一个缺陷(RFC6520)。这个漏洞允许攻击者在使用漏洞OpenSSL libssl库的应用程序中一次最多获取64k的私有内存块。请注意,攻击者可以反复利用该漏洞来增加泄漏块包含预期机密的几率。
如果被攻击者锁定,该缺陷将产生一些(如果不是全部)以下内容:
- SSL私钥,允许在通信被拦截时解密;然而,专家表示,攻击者不太可能成功破坏私钥。
- 提交给运行在服务器上的应用程序和服务的用户名和密码。这是最有可能的攻击载体,但目前还没有与之相关的安全事件,至少目前还没有。
- 会话令牌也暴露在这个缺陷中,cookie值也是如此。
一旦漏洞被公开,许多研究人员和供应商就开始着手检查整个攻击表面。
因此,有报告说,这个漏洞可以用来扩大流量和触发DDoS,并暴露应用程序配置文件,包括连接字符串数据库用户名和密码都是清晰可见的。
规模和范围(什么是脆弱的):
发现漏洞的研究人员解释了漏洞的最重要方面,因为它涉及范围:
最值得注意的使用OpenSSL的软件是开源web服务器,如Apache和nginx。根据Netcraft 2014年4月的网络服务器调查,仅这两个活跃网站的市场份额就超过了66%。
此外,OpenSSL还用于保护电子邮件服务器(SMTP、POP和IMAP协议)、聊天服务器(XMPP协议)、虚拟专用网络(SSL vpn)、网络设备和各种各样的客户端软件。幸运的是,许多大型消费网站由于保守地选择了SSL/TLS终止设备和软件而得以保存。
具有讽刺意味的是,更小、更先进的服务或那些已经升级到最新和最好加密的服务将受到最大的影响。此外,OpenSSL在客户端软件中非常流行,在网络设备中也很流行,因为网络设备在获取更新方面具有很大的惰性。
以下版本的OpenSSL容易出现此缺陷:
- OpenSSL v. 1.0.1f
OpenSSL的以下版本是不易受此缺陷影响:
- OpenSSL v. 1.0.1g(当前版本)
- OpenSSL诉1.0.0x
- OpenSSL诉0.9.8x
以下Linux发行版附带了易受攻击的OpenSSL版本:
- Debian老生常谈的(稳定)
- Ubuntu 12.04.4 LTS
- CentOS 6.5
- Fedora 18
- OpenBSD 5.3
- FreeBSD 10.0
- NetBSD 5.0.2
- OpenSUSE 12.2
可以使用OpenSSL version -a命令获得OpenSSL的版本。2014年4月7日之前构建的OpenSSL 1.0.1x版本存在漏洞。
A解释为发现这个缺陷的研究人员:
易受攻击的版本已经存在两年多了,它们已经被现代操作系统迅速采用。一个主要的原因是TLS版本1.1和1.2随第一个易受攻击的OpenSSL版本(1.0.1)一起发布,而安全社区一直在推动TLS 1.2,这是由于早期针对TLS的攻击(比如野兽)。
测试的漏洞:
为了确定漏洞,已经部署了一些服务,使组织能够检查其服务器的状态。以下两种服务是最值得推荐的。
要解决这一问题:
解决心脏出血造成的问题是一个多步骤的过程。
1.更新OpenSSL
对于Ubuntu和Debian系统,应该通过发布apt-get update和apt-get install -y libssl1.0.0 OpenSSL命令来更新OpenSSL。
然后,发出lsof -n | grep ssl | grep DEL并重新启动列出的所有服务。
-
Debian安装可以先使用apt-get更新,然后再使用apt-get升级。
-
对于CentOS使用yum clean all && yum更新“openssl*”。
发出lsof -n | grep ssl | grep DEL并重启列出的所有服务。
-
Fedora是18不再支持。下面的方法适用于Fedora 19和20。
对于Fedora 19 x86_64:
yum -y安装koji
openssl-1.0.1e-37 - fc19.1
百胜localinstall openssl fc19.1.x86_64.rpm——1.0.1e - 37.
-
Fedora 20 x86_64:
yum -y安装koji
openssl-1.0.1e-37 - fc20.1
百胜localinstall openssl fc20.1.x86_64.rpm——1.0.1e - 37.
用i686替代32位系统,用armv7hl替代ARM系统(仅限Fedora 20)。
-
对于OpenBSD,请看这个文档:
http://ftp.openbsd.org/pub/OpenBSD/patches/5.4/common/007_openssl.patch
-
对于FreeBSD,请参阅这些文件:
http://svnweb.freebsd.org/base?view=revision&revision=264267
http://svnweb.freebsd.org/base?view=revision&revision=264266
http://svnweb.freebsd.org/base?view=revision&revision=264265
-
对于NetBSD,请参阅这个文档:
http://mail-index.netbsd.org/current-users/2014/04/09/msg024667.html
如果由于某些原因无法更新OpenSSL,则可以通过恢复到OpenSSL的非脆弱版本,或者使用-DOPENSSL_NO_HEARTBEATS标志重新编译OpenSSL来解决该漏洞。
2.撤销和替换
一旦修复了服务器,它使用的所有私钥都需要重新生成。完成此操作后,需要撤销SSL证书,并使用新生成的密钥颁发新的证书。请确保重新启动服务器,以确保终止任何活动会话。
在那之后,所有账户的密码都应该更改。如果有什么不同的话,这只是一个非常谨慎的好主意。在对此问题的技术咨询中,Accuvant推荐使用以下密码:
更改所有帐户的密码,包括以下内容:
- 可能与主机交互的单点登录平台
- 可能使用OpenSSL/Apache的设备web界面登录
- 可能已用于后端身份验证的activedirectory帐户
额外的资源:
一组SNORT规则已经被释放与此漏洞相关。Rapid7发布了通过Nexpose检测漏洞的指导, Metasploit有发布了一个模块Heartbleed。
供应商反应
本文将根据需要进行更新。请随意使用下面的评论部分来分享任何其他信息。
本文“Heartbleed (CVE-2014-0160):问题概述和修复它所需的资源”最初由方案 。