當(dāng)安全協(xié)議不安全了:OpenSSL漏洞
SSL,全稱Secure Socket Layer,為Netscape所研發(fā),用以保障在Internet上數(shù)據(jù)傳輸之安全,利用數(shù)據(jù)加密(Encryption)技術(shù),可確保數(shù)據(jù)在網(wǎng)絡(luò)上之傳輸過(guò)程中不會(huì)被截取及竊聽。簡(jiǎn)單的說(shuō),就是加密傳輸?shù)臄?shù)據(jù),避免被截取監(jiān)聽等。
SSL應(yīng)該是大家平時(shí)接觸最多的安全協(xié)議了,大家可以看訪問一些網(wǎng)址的時(shí)候,一般是http://開頭,如果發(fā)現(xiàn)https://開頭就是采用了SSL安全協(xié)議。比如,大家在登陸微信網(wǎng)頁(yè)版的時(shí)候就可以看到:
一般來(lái)說(shuō),比如nginx,可以通過(guò)以下方式就可以進(jìn)行配置:
<code># HTTPS server # server { listen 443; server_name localhost; ssl on; ssl_certificate /opt/nginx/sslkey/server.crt; ssl_certificate_key /opt/nginx/sslkey/server.key; location / { root /home/workspace/; index index.asp index.aspx; } }</code>
大家可以看到,監(jiān)聽的是443端口,然后通過(guò)ssl on;來(lái)開啟,同時(shí)通過(guò)ssl_certificate和sl_certificate_key配置證書和key文件,具體的就不多解釋了,大家可以自己搜索下。
那么證書和key又是怎么一回事呢?接下來(lái)就要講到OpenSSL了。
進(jìn)行過(guò)nginx編譯的同學(xué)都知道,在編譯nginx的時(shí)候,如果想讓nginx支持開啟SSL,那么必須加一個(gè)--with-http_ssl_module 的配置項(xiàng)。那么又何讓服務(wù)器支持這個(gè)配置項(xiàng)呢?又如何生成nginx配置中SSL所需要的證書和key文件呢?都是源于OpenSSL(openssl_百度百科)。
OpenSSL是一個(gè)強(qiáng)大的安全套接字層密碼庫(kù),Apache使用它加密HTTPS,OpenSSH使用它加密SSH,但是,你不應(yīng)該只將其作為一個(gè)庫(kù)來(lái)使用,它還是一個(gè)多用途的、跨平臺(tái)的密碼工具。
大家平時(shí)如果采用公私鑰的方式連接服務(wù)器,也是需要用到OpenSSL的。簡(jiǎn)單的理解,OpenSSL是一個(gè)強(qiáng)大的支持庫(kù),更是一個(gè)強(qiáng)大的密碼工具。雖然要支持SSL協(xié)議不一定得采用OpenSSL,但是基本大部分的都是采用OpenSSL。
相信前面簡(jiǎn)單的介紹能讓大家了解到OpenSSL的重要性,也明白了SSL協(xié)議是做什么的,那么大家應(yīng)該就可以理解,本來(lái)采用SSL協(xié)議是為了數(shù)據(jù)傳輸?shù)陌踩?,是為了更安全,但是OpenSSL的漏洞直接導(dǎo)致了本該是讓為了更安全的設(shè)置變成了致命的危險(xiǎn)。

全國(guó)443端口:1601250,有33303個(gè)受本次OpenSSL漏洞影響
看了這些,稱為"心臟出血"完全不為過(guò)。今天估計(jì)又有許多運(yùn)維同學(xué)可忙的了。具體的漏洞分析我也不多說(shuō)了,大家可以看wooyun上的文章(關(guān)于OpenSSL“心臟出血”漏洞的分析)
說(shuō)了這么多,可能有些同學(xué)覺得都不要去訪問那些是https的網(wǎng)站了,其實(shí)也大可不必,官方其實(shí)已經(jīng)放出補(bǔ)丁了,修復(fù)方法:
升級(jí)到最新版本OpenSSL 1.0.1g無(wú)法立即升級(jí)的用戶可以以-DOPENSSL_NO_HEARTBEATS開關(guān)重新編譯OpenSSL1.0.2-beta版本的漏洞將在beta2版本修復(fù)
對(duì)于個(gè)人用戶的話,大家不用太擔(dān)心,雖然說(shuō)影響有點(diǎn)大,不過(guò)問題主要是出在服務(wù)商,而且像那些大網(wǎng)站,比如微信、淘寶等都已經(jīng)修復(fù)了,實(shí)在不放心,大家可以這幾天暫時(shí)不要訪問使用了SSL協(xié)議的網(wǎng)站進(jìn)行登陸等操作,特別是網(wǎng)銀等網(wǎng)站。