2014-04-13 49 views
1

鑑於最近的心臟病的缺陷,我試圖對我連接的各種系統(電子郵件,登錄頁面等)進行一些分析。我正在嘗試使用OpenSSL命令行工具來驗證我連接的系統正在使用哪些協議。響應使用OpenSSL命令行驗證協議

部分是:

... 
SSL-Session: 
    Protocol : TLSv1 
... 

是所有我需要驗證此服務未使用OpenSSL(特別是越野車1.0.1版本)? (我認爲這是不夠的,因爲我連接了一臺我知道使用Openssl 0.9.8的服務器,並且它使用與上面所示相同的字符串進行響應。)

+0

Stack Overflow是用於編程的網站,發展問題。這個問題似乎與題目無關,因爲它不涉及編程或開發。請參閱幫助中心的[我可以詢問哪些主題](http://stackoverflow.com/help/on-topic)。也許[Unix和Linux堆棧交換](http://unix.stackexchange.com/)或[信息安全堆棧交換](http://security.stackexchange.com/)將是一個更好的地方要問。 – jww

回答

2

TLSv1指協議TLS版本1 ,而openssl,NSS,GnuTLS,PolarSSL ......是協議的實現。您通常無法從正常的TLS對話框中檢測到哪個SSL實現或另一個版本的實現正在運行,因此您最好使用任何可用的工具來檢查服務器是否存在漏洞。

您可以嘗試使用-tlsextdebug選項openssl s_client來了解對方支持哪種TLS擴展。易受攻擊的版本通常表明它們支持心跳擴展,但我不會指望它。當然固定版本也支持這個擴展。如果擴展支持標榜你的openssl s_client -tlsextdebug -connect ...輸出發現這一點:

TLS服務器擴展 「心跳」(ID = 15),LEN = 1

+0

我希望能有更明確的報告目標系統上使用的版本。我想,在某些方面,它是有道理的,它不告訴你底層的機制是什麼,只是API遵守。 – Cronk

+1

SSL是一種可比較的瘦客戶端協議,並不像HTTP那樣喋喋不休,您經常可以獲得諸如服務器版本,PHP版本等信息。您只會獲得必要的信息,例如,使用哪個協議版本以及理解哪些擴展。 –