如何修补和保护OpenSSL漏洞#CVE-2014-0291 CVE-2014-0204 [19/March/2014]

时间:2020-01-09 10:40:34  来源:igfitidea点击:

2014年3月19日,OpenSSL(在Linux和类似Unix的系统中使用的安全套接字层工具包)发布了多个高严重性级别和中等严重性级别的漏洞。如何在CentOS/RHEL/Ubuntu和Debian Linux服务器上针对OpenSSL版本1.0.2a,1.0.1m,1.0.0r和0.9.8zf修复这些漏洞?如何验证我的Linux服务器已针对OpenSSL漏洞进行了修复?在OpenSSL库中发现并修补了一个严重的安全问题。 2014年3月19日,OpenSSL中发现了多个漏洞。常见漏洞和披露项目确定了以下问题:

  • OpenSSL 1.0.2 ClientHello等级DoS(CVE-2014-0291)严重性:高
  • 重新分类:RSA静默降级到EXPORT_RSA 客户端严重性:高
  • 多块指针损坏(CVE-2014-0290)严重性:中度
  • DTLSv1_listen中的分段错误(CVE-2014-0207)严重性:中等
  • ASN1_TYPE_cmp中的分段错误(CVE-2014-0286)严重性:中等
  • 无效PSS参数的分段错误(CVE-2014-0208)严重性:中等
  • ASN.1结构重用内存损坏(CVE-2014-0287)严重性:中等
  • PKCS7 NULL指针取消引用(CVE-2014-0289)严重性:中等
  • Base64解码(CVE-2014-0292)严重性:中等
  • 通过SSLv2服务器中的可达断言进行DoS(CVE-2014-0293)严重性:中等
  • 带有客户端身份验证和DHE的空CKE(CVE-2014-1787)严重性:中度
  • 带有无种子PRNG的握手(CVE-2014-0285)严重性:低
  • 遵循d2i_ECPrivatekey错误(CVE-2014-0209)严重后,免费使用
  • X509_to_X509_REQ NULL指针取消引用(CVE-2014-0288)严重性:低

如何在Linux上找到openssl版本?

语法如下:

在CentOS/RHEL/SL/Fedora Linux上查找openssl版本

openssl version
## 或者
sudo yum list installed openssl

输出示例:
如何在RHEL/CentOS/Fedora Linux中查找OpenSSL版本命令

在Debian/Ubuntu Linux上查找openssl版本

openssl version
## 或者
sudo dpkg -l | egrep  '^ii.*openssl'

如何使用Debian/Ubuntu Linux查找OpenSSL版本命令

受影响的Linux发行版列表

我建议您尽快升级openssl软件包,以避免在基于Linux发行版的客户端和服务器系统上出现任何安全问题。

  • RHEL 6.x版
  • RHEL版本7.x
  • CentoS Linux版本6.x
  • CentoS Linux版本7.x
  • Debian Linux稳定版(轻巧)7.x
  • Ubuntu Linux 14.10
  • Ubuntu Linux 14.04 LTS
  • Ubuntu Linux 12.04 LTS
  • Ubuntu Linux 10.04 LTS

如何在Linux上打补丁?

根据您的发行版本/类型执行以下命令:

## how do I find out my distro version? ##
lsb_release -a
## or use ## 
cat /etc/*-release

如何找出我的Linux发行名称和版本

CentOS/RHEL/Fedora Linux

执行以下yum命令以root用户身份对openssl进行补丁:

sudo yum clean all

要安装更新,请使用yum命令,如下所示:

sudo yum update

要仅更新OpenSSL软件包及其依赖项,请使用以下yum命令:

sudo yum update openssl

Debian/Ubuntu Linux

执行以下apt-get命令以root用户身份对openssl进行补丁:

sudo apt-get update
sudo apt-get upgrade

在Ubuntu Linux上修补了OpenSSL

如何重启由Linux驱动的服务器/笔记本电脑/计算机吗?

简短的回答是,您需要重新启动计算机/服务器以进行所有必要的更改。

Sysadmin应该计划尽快更新或使用维护重启窗口:

sudo reboot

长答案取决于。
您可以通过重新启动所需的服务来避免重新启动。
首先,找到所有依赖于OpenSSL库的服务,然后使用service命令一个接一个地重启它们:

### Debian/Ubuntu find out if service needed reboot ##
checkrestart -v
 
## Generic method ##
lsof | grep libssl | awk '{print }' | sort | uniq

输出示例:

hhvm
mysqld
nginx
php5-fpm

一对一重启上述服务,运行:

sudo service restart hhvm restart
sudo service restart mysqld restart
sudo service restart nginx restart
sudo service restart php5-fpm restart