FREAK: OpenSSL 漏洞 (CVE-2015-0204)
2015 年 1 月,Red Hat 产品安全团队解决了 OpenSSL 中的 CVE-2015-0204 漏洞,并发出通知 RHSA-2015-0066 和 RHSA-2015-0800。该漏洞被评级为 中等影响 。目前在新闻中将这个漏洞称为 FREAK。
背景资料
即使最初不是由 OpenSSL 客户端要求,它也会接受 EXPORT 级(不安全)密钥。这一点可被中间人攻击利用,拦截该客户端最初请求的标准密钥,并要求服务器提供 EXPORT 级密钥。然后该客户端会接受这个弱密钥,这样攻击者就可以分解该密钥,并解密客户端与服务器之间的通讯。
影响
虽然 Red Hat Enterprise Linux(5.11, 6.6 和 7.1)中附带的最新版 OpenSSL 默认禁用 EXPORT 级密码,但应用程序可利用 OpenSSL 程序库启用该功能。因此,应将这个漏洞视为能够影响所有尚未安装 OpenSSL 软件包修复版本的 Red Hat Enterprise Linux 5、6 和 7 系统,其中包括服务器、工作站、桌面及 HPC 节点变体。
同时还会影响 Red Hat Enterprise Linux 5 中使用的 openssl097a 版本。由于 Red Hat Enterprise Linux 5 目前处于支持及维护生命周期的 产品 3 阶段,在此阶段仅提供关键安全问题通知,因此目前尚无计划在未来的 Red Hat Enterprise Linux 5 更新中解决这个问题。
解决方案
要杜绝 Open SSL 客户端被渗透的可能,请安装更新的 OpenSSL 软件包,您可在这个通知中下载该软件包:RHSA-2015-0066 和 RHSA-2015-0800。
要安装更新,请使用 yum
软件包管理器,如下:
yum update
仅更新 OpenSSL 软件包及其相依性,请使用:
yum update openssl
注:要确保连接到 OpenSSL 服务器的未打补丁的客户端不会受到这个漏洞的映像,建议在该服务器中禁用 EXPORT 级密码,如下面“较少损失”中所述。
注:更新后重启系统是保证所有受影响服务使用更新的 ssl 库的最安全的方法。如果不想重启,也可以参考以下所述內容。
重启进程以便更改生效
如上所述,最安全也是最简单的方法是重启整个系统。另外,要重启受影响的服务,请参考以下步骤:
如何确定哪些进程需要重启
要列出受影响的服务,请运行 lsof
命令,查询 DEL
,如下所示:
# lsof | grep DEL | grep -e crypto -e libssl
sshd 7708 root DEL REG 253,0 139948 /usr/lib64/libcrypto.so.1.0.1e
^^^--- sshd service
certmonge 7940 root DEL REG 253,0 139948 /usr/lib64/libcrypto.so.1.0.1e
^^^--- certmonger service
Xorg 7986 root DEL REG 253,0 139948 /usr/lib64/libcrypto.so.1.0.1e
^^^--- Xwindows service
sshd 8990 root DEL REG 253,0 139948 /usr/lib64/libcrypto.so.1.0.1e
^^^--- 由附带 bash shell 的 ssh 登录使用
master 7796 root DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
^^^--- postfix service
qmgr 7809 postfix DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
^^^--- postfix service
tuned 7866 root DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
^^^--- tuned service
pickup 9501 postfix DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
^^^--- postfix service
httpd 9524 root DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
^^^--- httpd service
httpd 9526 apache DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
httpd 9527 apache DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
httpd 9528 apache DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
httpd 9529 apache DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
httpd 9530 apache DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
httpd 9531 apache DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
httpd 9532 apache DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
httpd 9533 apache DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
httpd 9534 apache DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
httpd 9535 apache DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
重启由 chkconfig
管理的服务:
# service sshd restart
# service certmonger restart
# service postfix restart
# service tuned restart
# service httpd restart
重启 Xorg:
# init 3
# lsof | grep DEL | grep -e crypto -e libssl
# init 5
然后再检查一次,要删除最后的列表,请退出:
# lsof | grep ssl | grep lib | grep DEL
sshd 8990 root DEL REG 253,0 139948 /usr/lib64/libcrypto.so.1.0.1e
^^^--- 由附带 bash shell 的当前 ssh 登录使用
# logout
减少未打补丁客户端的损失
要减少本文章中所述漏洞造成的影响,您还可以在您的客户端或服务器中禁用 EXPORT 级密码。建议在服务器中执行此操作,特别是在您无法保证为所有连接到您服务器的客户端都打好补丁的时候。
在 httpd 中禁用 EXPORT 密码
要允许 httpd
网页服务器使用 EXPORT 级密码,请在 /etc/httpd/conf.d/ssl.conf
配置文件的 SSLCipherSuite
行长添加 !EXP
指令。例如:
SSLCipherSuite HIGH:!aNULL:!MD5:!EXP
修改 ssl.conf 后续重启 httpd 服务。
# service httpd restart
Comments