openssl 升級爲1.0.1g

SSL,全稱Secure Socket
python

Layer,爲Netscape所研發,用以保障在Internet上數據傳輸之安全,利用數據加密(Encryption)技術,可確保數據在網絡上之傳輸過程當中不會被截取及竊聽。簡單的說,就是加密傳輸的數據,避免被截取監聽等。linux

簡單的理解,OpenSSL是一個強大的支持庫,更是一個強大的密碼工具。雖然要支持SSL協議不必定得采用OpenSSL,可是基本大部分的都是採用OpenSSL.算法

        因爲最近互聯網安全協議OpenSSL v1.0.1到1.0.1f的密碼算法庫中發現了一個很是嚴重bug(CVE-2014-0160),該bug容許攻擊者讀取存在bug的系統的64kb處理內存,暴露加密流量的密鑰,用戶的名字和密碼,以及訪問的內容。這個漏洞被認爲是heartbleed,心臟流血..... 可見嚴重性.安全

         據solidot報道,OpenSSL已經發布了1.0.1g修正bug,Debian發行版也在半小時修復了bug,Fedora發佈了一個權宜的修正方案。 該bug是在2011年引入到OpenSSL中,使用OpenSSL 0.9.8的發行版不受影響,但Debian Wheezy、Ubuntu 12.04.四、 CentOS 6.五、Fedora 1八、SUSE 12.二、OpenBSD 5.四、FreeBSD 8.4和NetBSD 5.0.2以後的版本都受到影響。若是你運行存在該bug的系統,那麼最好廢除全部密鑰。網絡


修復建議:ide

使用低版本SSL的網站,並儘快按以下方案修復該漏洞:工具

升級OpenSSL 1.0.1g網站

使用-DOPENSSL_NO_HEARTBEATS參數從新編譯低版本的OpenSSL以禁用Heartbleed模塊ui


這裏因爲咱們大部分使用debian5 裏面仍是0.9.8e, 該版本不受影響.有些新上項目用的是debian 7  1.0.1e須要升級openssl 到1.0.1g加密

debian 5
root@debian# openssl version -a
OpenSSL 0.9.8g 19 Oct 2007 (Library: OpenSSL 0.9.8o 01 Jun 2010)
built on: Thu Feb 10 19:15:33 UTC 2011
platform: debian-amd64
options:  bn(64,64) md2(int) rc4(ptr,char) des(idx,cisc,16,int) blowfish(ptr2) 
compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -O3 -Wa,--noexecstack -g -Wall -DMD32_REG_T=int -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM
OPENSSLDIR: "/usr/lib/ssl"


debian 7
root@10.1.1.100:~# openssl version -a
OpenSSL 1.0.1e 11 Feb 2013
built on: Sat Feb  1 22:14:33 UTC 2014
platform: debian-amd64
options:  bn(64,64) rc4(16x,int) des(idx,cisc,16,int) blowfish(idx) 
compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wa,--noexecstack -Wall -DMD32_REG_T=int -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/lib/ssl"


 1.安裝相關依賴

root10.1.1.100@:~# apt-get install zlib1g zlib1g-dev

 2. 下載源碼

root10.1.1.100@192.168.37.48:~# wget ftp://ftp.openssl.org/source/openssl-1.0.1g.tar.gz

 3. 編譯安裝

root@10.1.1.100:~# tar xf openssl-1.0.1g.tar.gz 
root@10.1.1.100:~# cd openssl-1.0.1g/
root@10.1.1.100:openssl-1.0.1g# ./config shared zlib
root@10.1.1.100:openssl-1.0.1g# make 
root@10.1.1.100:openssl-1.0.1g# make install
root@10.1.1.100:openssl-1.0.1g# mv /usr/bin/openssl /tmp/
root@10.1.1.100:openssl-1.0.1g# mv /usr/include/openssl/ /tmp/
root@10.1.1.100:openssl-1.0.1g# ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
root@10.1.1.100:openssl-1.0.1g# ln -s /usr/local/ssl/include/openssl/ /usr/include/openssl
#配置文件搜索路徑
root@10.1.1.100:openssl-1.0.1g# echo "/usr/local/ssl/lib" >> /etc/ld.so.conf 
root@10.1.1.100:openssl-1.0.1g# ldconfig -v | grep openssl
ldconfig: Path `/lib/x86_64-linux-gnu' given more than once
ldconfig: Path `/usr/lib/x86_64-linux-gnu' given more than once
	libgnutls-openssl.so.27 -> libgnutls-openssl.so.27.0.0
	libevent_openssl-2.0.so.5 -> libevent_openssl-2.0.so.5.1.7

#查看最新版本
root@10.1.1.100:openssl-1.0.1g# openssl version -a
OpenSSL 1.0.1g 7 Apr 2014
built on: Wed Apr  9 17:15:00 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"


         


在線監測工具  http://filippo.io/Heartbleed/

相關文章
相關標籤/搜索