這兩天OpenSSL Heart Bleed 漏洞搞得人心惶惶,請看這篇文章:分析、診斷OpenSSL Heartbleed Bug,目前可知的能夠利用此漏洞的版本是:
OpenSSL 1.0.1 through 1.0.1f (inclusive) are vulnerable
OpenSSL 1.0.1g is NOT vulnerable
OpenSSL 1.0.0 branch is NOT vulnerable
OpenSSL 0.9.8 branch is NOT vulnerable
到自己管理的伺服器上執行一下命令:
[root@server ~]# openssl version
OpenSSL 1.0.1e-fips 11 Feb 2013
很明顯,我的伺服器上存在漏洞,於是,到網上下載了一個指令碼:Python指令碼檢測OpenSSL Heart Bleed (心臟流血)漏洞,測試一下:
liang@liang:~/golang$ python ssltest.py
Enter a host: www.xxxx.com
Testing www.xxxx.com... vulnerable.
代表此網站存在漏洞可被利用。
幸好,Centos 已提供升級包,解決此問題:
[root@server ~]# yum -y install openssl
[root@server ~]# openssl version -a
OpenSSL 1.0.1e-fips 11 Feb 2013
built on: Tue Apr 8 02:39:29 UTC 2014
platform: linux-x86_64
options: bn(64,64) md2(int) 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 -DKRB5_MIT -m64 -DL_ENDIAN -DTERMIO -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -Wa,--noexecstack -DPURIFY -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: "/etc/pki/tls"
engines: dynamic
[root@server ~]# reboot
先安裝yum -y install openssl,然後輸出openssl版本和built日期,如果built日期是Apr 8, 2014之前的,都存在問題,上面顯示已經更新了openssl版本,不會存在heartbleed漏洞。
最後一步,是重新啟動伺服器,再用指令碼檢測:
liang@liang:~/golang$ python ssltest.py
Enter a host: www.111cn.net
Testing www.xxxx.com... not vulnerable.
已經修複了。