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