linux心跳出血漏洞,heartbleeder 自动检测 OpenSSL 心脏出血漏洞 (附修复指南)
heartbleeder 可以探測(cè)你的服務(wù)器是否存在 OpenSSL CVE-2014-0160 漏洞 (心臟出血漏洞)。
什么是心臟出血漏洞?
CVE-2014-0160,心臟出血漏洞,是一個(gè)非常嚴(yán)重的 OpenSSL 漏洞。這個(gè)漏洞使得攻擊者可以從存在漏洞的服務(wù)器上讀取64KB大小的內(nèi)存信息。這些信息中可能包含非常敏感的信息,包括用戶請(qǐng)求、密碼甚至證書(shū)的私鑰。
據(jù)稱,已經(jīng)有攻擊者在某寶上嘗試使用漏洞讀取數(shù)據(jù),在讀取200次后,獲取了40多個(gè)用戶名和7個(gè)密碼。
如何使用 heartbleeder 檢測(cè)心臟出血漏洞?
安裝
可以在gobuild.io下載編譯好的二進(jìn)制文件的壓縮包。包括Windows、Linux、MacOSX。
由于服務(wù)器操作系統(tǒng)最常用的是Linux,因此這里提供一下下載Linux二進(jìn)制壓縮包的命令:
Linux(amd64)
wget http://gobuild.io/github.com/titanous/heartbleeder/master/linux/amd64 -O output.zip
Linux(i386)
wget http://gobuild.io/github.com/titanous/heartbleeder/master/linux/386 -O output.zip
下載后解壓縮即可。
也可以自行編譯安裝(Go版本需在1.2以上), 使用如下命令:
go get github.com/titanous/heartbleeder
二進(jìn)制文件會(huì)放置在 $GOPATH/bin/heartbleeder。
使用
$ heartbleeder example.com
INSECURE - example.com:443 has the heartbeat extension enabled and is vulnerable
Postgres 默認(rèn)在 5432 端口使用 OpenSSL,如果你使用Postgres服務(wù)器,則需使用如下命令:
$ heartbleeder -pg example.com
SECURE - example:5432 does not have the heartbeat extension enabled
如何手工檢測(cè)心臟出血漏洞
如果不方便安裝heartbleeder,或者不放心自動(dòng)檢測(cè)的結(jié)果,也可以手動(dòng)檢測(cè)。
首先判斷服務(wù)器上的Openssl版本是否是有漏洞的版本。目前有漏洞的版本有: 1.0.1-1.0.1f(包含1.0.1f)以及 1.0.2-beta。你可以使用如下的命令查看服務(wù)器上的當(dāng)前版本:
openssl version
接著你需要判斷是否開(kāi)啟了心跳擴(kuò)展:
openssl s_client -connect 你的網(wǎng)站:443 -tlsextdebug 2>&1| grep 'TLS server extension "heartbeat" (id=15), len=1'
如果以上兩個(gè)條件你都滿足的話,很遺憾,你的服務(wù)器受此漏洞影響,需要盡快修復(fù)。
如何修復(fù)
將受影響的服務(wù)器下線,避免它繼續(xù)泄露敏感信息。
停止舊版的 openssl 服務(wù),升級(jí) openssl 到新版本,并重新啟動(dòng)。
生成新密鑰。(因?yàn)楣粽呖赡芡ㄟ^(guò)漏洞獲取私鑰。)將新密鑰提交給你的CA,獲得新的認(rèn)證之后在服務(wù)器上安裝新密鑰。
服務(wù)器上線。
撤銷舊認(rèn)證。
撤銷現(xiàn)有的會(huì)話cookies。
要求用戶修改密碼。
總結(jié)
以上是生活随笔為你收集整理的linux心跳出血漏洞,heartbleeder 自动检测 OpenSSL 心脏出血漏洞 (附修复指南)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Velocity模板语言(VTL):说明
- 下一篇: linux 其他常用命令