openssl漏洞補丁修復

CVE-2014-0160漏洞背景
2014年4月7日OpenSSL發佈了安全公告,在OpenSSL1.0.1版本中存在嚴重漏洞(CVE-2014-0160)。OpenSSL Heartbleed模塊存在一個BUG,問題存在於ssl/dl_both.c文件中的心跳部分,當***者構
造一個特殊的數據包,滿足用戶心跳包中無法提供足夠多的數據會導致memcpy函數把SSLv3記錄之後的數據直接輸出,該漏洞導致***者可以遠程讀取存在漏洞版本的OpenSSL服務器內存中多達64K
的數據。
在目前已有的資料中,國內外同行已經稱本漏洞爲 “擊穿心臟”、“毀滅級”、“今年最嚴重”的漏洞。由於SSL協議是網絡加密登陸認證、網絡交易等的主流安全協議,而OpenSSL又是主流的SSL
搭建平臺。因此這些稱呼好不爲過,建議各網絡服務提供者、管理機構和用戶高度注意本漏洞的處理情況,希望廣大用戶做出相應的對策。
OpenSSL受影響版本的分佈
根據已經公開的信息,該漏洞影響分佈情況如下。
1、OpenSSL 1.0.1f (受影響)
2、OpenSSL 1.0.2-beta (受影響)
3、OpenSSL 1.0.1g (不受影響)
4、OpenSSL 1.0.0 branch (不受影響)
5、OpenSSL 0.9.8 branch (不受影響)
處置建議如下
3.1 針對網絡管理員,可以做的事情包括
鑑於本漏洞的嚴重程度,如果確定本漏洞存在,對一般性的網絡服務者,暫停服務進行處置是一種較好的應對策略。
如果確定本漏洞存在,又必須保證服務不能停止,可以在漏洞修補過程中,暫時停止https服務,改用http服務,但這會帶來相關認證信息明文傳輸的風險,具體利害需要做出謹慎的判斷權衡。
具體修補方式爲:
OpenSSL版本升級到最新的1.0.1g
重新生成你的私鑰
請求和替換SSL的證書
也可以使用-DOPENSSL_NO_HEARTBEATS參數重新編譯低版本的OpenSSL以禁用Heartbleed模塊,最新版本升級地址爲:https://www.openssl.org/source/. (OpenSSL官方)
3.2 針對普通網絡用戶,我們鄭重提出的建議包括
鑑於本漏洞的嚴重程度,在不能確定你所網站和服務修補了本漏洞的情況下,在未來2~3天內(2014年4月9日日起)不登陸,不操作是一種較好的應對策略(這些操作包括網購、網銀支付等)。
如果你必須進行操作,可以關注這些網站和服務的修改情況。
一些手機客戶端的登陸,是對SSL的封裝,因此手機登錄也不安全。
其他安全企業團隊會公佈目前仍有問題的站點、或沒有問題的站點情況,請予以關注。
下面是centos系統或redhat系統的修復方法:
總之我都是把版本升級到官網最新的版本:openssl-1.0.1g(2014.4.7更新的)
先進行支撐包的安裝:
yum install -y zlib
openssl升級步驟:
0. 首先通過 #openssl version –a 查看系統中存在的OpenSSL版本號
下載最新版本的openssl源碼包
# wget ftp://ftp.openssl.org/source/openssl-1.0.1g.tar.gz
2. 安裝openssl
1. tar xzvf openssl-1.0.1g.tar.gz  
2. cd openssl-1.0.1g  
3. ./config shared zlib
4. make  
5. make install  
6. mv /usr/bin/openssl /usr/bin/openssl.OFF
7. mv /usr/include/openssl /usr/include/openssl.OFF
8. ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
9. ln -s /usr/local/ssl/include/openssl /usr/include/openssl
配置庫文件搜索路徑
10. echo “/usr/local/ssl/lib” >> /etc/ld.so.conf
11. ldconfig -v  
3 查看openssl版本號,驗證安裝正確性
 1、#openssl version -a
penSSL 1.0.1g 7 Apr 2014
built on: Fri Apr 11 13:49:37 CST 2014
platform: linux-x86_64
options:  bn(64,64) rc4(16x,int) des(idx,cisc,16,int) idea(int) blowfish(idx)
compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -DTERMIO -O3 -Wall -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/local/ssl"
下面是我自己寫的一個小腳本:
#cat openssl-update.sh
yum install -y zlib
echo "*****************************************************************************************************************************"
openssl version -a
cd /root
wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz
tar xzvf openssl-1.0.1g.tar.gz  
cd openssl-1.0.1g
./config shared zlib
make  
make install  
mv /usr/bin/openssl /usr/bin/openssl.OFF
mv /usr/include/openssl /usr/include/openssl.OFF
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
echo “/usr/local/ssl/lib” >> /etc/ld.so.conf
ldconfig -v
echo "*****************************************************************************************************************************"
openssl version -a
#chmod +x openssl-update.sh
#./openssl-update.sh >>openssl-update.log
這是我自己的愚見,有問題可以探討


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章