我是用的Centos ,目前官方說受威脅的版本是1.0.1f, 1.0.1e, 1.0.1d, 1.0.1c, 1.0.1b, 1.0.1a, 1.0.1 。在OpenSSL 1.0.1g版本中“ Heartbleed”漏洞被修復。所有centos6.5的系統運行OpenSSL 1.0.1e (openssl-1.0.1e-16.el6_5.4) 都會受到威脅,貌似只有6.5的會受到威脅。
先查看你的openssl版本,命令如下:
復制代碼代碼如下: #openssl version
或者
復制代碼代碼如下: #openssl version -a //加 -a參數會顯示更詳細
又或
復制代碼代碼如下: #yum info openssl //redhat系列的可以用
ubuntu 和debian 可以用下面的命令:
復制代碼代碼如下: #dpkg-query -l 'openssl'
好吧,哥用的就是OpenSSL 1.0.1f ,受威脅的版本。呵呵,真坑。不過沒開啟 Heartbleed ,又沒設置https訪問,沒影響,不過還是升級下。
輸入升級openssl版本的命令:
復制代碼代碼如下:#yum clean all && yum update "openssl*" //redhat系列可用這個
ubuntu和debian可以使用下面的命令:
復制代碼代碼如下:#apt-get update
#apt-get upgrade
OpenSuSE使用下面的命令:
復制代碼代碼如下:#zypper update
確保你安裝的是openssl-1.0.1e-16.el6_5.7版本 或者更新的版本。yum源中沒有這個包的話,只能自己去下載rpm包安裝了。我估計是肯定有的。
為毛安裝openssl-1.0.1e-16.el6_5.7 版本呢?因為這個版本已經修復了,見 http://lists.centos.org/pipermail/centos-announce/2014-April/020249.html
然後再執行以下命令,檢查還有哪些進程仍然在使用被刪掉的舊版本openssl庫 :
復制代碼代碼如下:#lsof -n | grep ssl | grep DEL
沒有就是正常了。有的話,那你就必須重新每個使用舊版本openssl庫的進程了。所以,我懶得一個個重啟了,又是小博客,直接重啟服務器了。
如果可能的話,建議重新生成ssl 私鑰,改密碼之類的。
注意:還可以用下面這條命令檢查你安裝的這個版本的openssl時候打好了補丁,因為每次修復漏洞,打補丁後,軟件包本身都會在日志(change-log)裡記錄這些信息。命令如下:
復制代碼代碼如下:# rpm -q --changelog openssl-1.0.1e | grep -B 1 CVE-2014-0160 // CVE-2014-0160是這個漏洞的代碼,可以去openssl的官網查的
顯示:
復制代碼代碼如下: * Mon Apr 07 2014 Tom謾擰 Mr謾z <[email protected]> 1.0.1e-16.7
- fix CVE-2014-0160 - information disclosure in TLS heartbeat extension
說明這個版本已經修復了這個漏洞。