हार्दिक: खुले तौर पर और ओपनएसएसएल संस्करण की जांच कैसे करें?


88

मैं GNU / Linux और अन्य प्रणालियों पर OpenSSL संस्करण की जांच करने के लिए एक विश्वसनीय और पोर्टेबल तरीके से देख रहा था, इसलिए उपयोगकर्ता आसानी से पता लगा सकते हैं कि हार्टब्लड बग के कारण उन्हें अपना एसएसएल अपग्रेड करना चाहिए या नहीं।

मैंने सोचा था कि यह आसान होगा, लेकिन मैं जल्दी से Ubuntu 12.04 LTS पर नवीनतम OpenSSL 1.0.1g के साथ एक समस्या में भाग गया:

खुलता है संस्करण -a

मैं एक पूर्ण संस्करण देखने की उम्मीद कर रहा था, लेकिन इसके बजाय मुझे यह मिला:

ओपनएसएसएल 1.0.1 14 मार्च 2012
पर निर्मित: मंगल जून 4 07:26:06 यूटीसी 2013
मंच: [...]

मेरे अप्रिय आश्चर्य के लिए, संस्करण पत्र नहीं दिखा। कोई f नहीं, कोई g नहीं है, बस "1.0.1" है और वह है। सूचीबद्ध तिथियां (गैर) असुरक्षित संस्करण की खोज में सहायता नहीं करती हैं।

1.0.1 (af) और 1.0.1g के बीच अंतर महत्वपूर्ण है।

प्रशन:

  • संस्करण की जांच करने का एक विश्वसनीय तरीका क्या है, अधिमानतः डिस्ट्रो पार?
  • संस्करण पत्र पहली जगह में क्यों नहीं दिख रहा है? मैं इसे किसी और चीज़ पर परीक्षण करने में असमर्थ था, लेकिन उबंटू 12.04 एलटीएस।

अन्य इस व्यवहार को भी रिपोर्ट कर रहे हैं। कुछ उदाहरण:

कुछ (विशिष्ट-विशिष्ट) सुझाव इसमें शामिल हैं:

  • उबंटू और डेबियन: apt-cache policy opensslऔर apt-cache policy libssl1.0.0। यहां संस्करण संख्याओं की तुलना संकुल से करें: http://www.ubuntu.com/usn/usn-2165-1/
  • फेडोरा 20: yum info openssl(ट्विटर पर @znmeb धन्यवाद) औरyum info openssl-libs

यदि OpenSSL का पुराना संस्करण अभी भी निवासी है, तो यह देखना:

यह पता चला है कि उबंटू और डेबियन पर ओपनएसएसएल पैकेज को अपडेट करना हमेशा पर्याप्त नहीं होता है। यदि आप openssl version -aइंगित करते हैं तो आपको libssl1.0.0 पैकेज और -थेन को भी अपडेट करना चाहिए built on: Mon Apr 7 20:33:29 UTC 2014


2
कम से कम यह सुनिश्चित करें कि आपके द्वारा ओपनएसएसएल संस्करण जिस तारीख से पता चलता है, उसके कारण जी नहीं है
पाटो साएंज़

3
यह CentOS पर काम करता है[root@null~]# openssl version -a OpenSSL 1.0.1e-fips 11 Feb 2013
जैकब

1
@ PatoSáinz मैंने जाँच की है apt-cache policy opensslऔर इसने इस पर प्रतिक्रिया दी है: Installed: 1.0.1-4ubuntu5.12जो केवल 12.04 LTS के लिए उबंटू द्वारा जारी किया गया है। मैंने लॉग आउट किया और वापस लौटा। क्या मैं सत्यापित करने के लिए कुछ और कर सकता हूं?
मार्टिज़न

1
मैं इंगित करता हूँ, इसके लिए कि पता नहीं है, यह उपयोगी है के मामले में ... Ubuntu 12.04 LTS OpenSSL 1.0.1 (वेनिला) के साथ भेज दिया।
होपलेसनब

1
यदि वह निर्माण तिथि सही है, तो आपके पास "रिलीज़ संस्करण" कोड 1.0.1e से अधिक हाल का नहीं हो सकता है, क्योंकि 2014 में खुले ओपनएसएल 1.0.1 रिलीज़ नोट्स के बाद 1.0.1f बाहर आया था । व्यक्तिगत OpenSL 1.0.1f रिलीज से पहले व्यक्तिगत लाइनों या वर्गों को आपके Ubuntu संस्करण पर वापस भेज दिया गया हो सकता है। और निर्माण की तारीख कम हो सकती है जो पूरी तरह से सहायक है।
बजे एंटी-कमजोरपासवर्ड

जवाबों:


66

ओपनएसएसएल के आपके संस्करण द्वारा प्रदर्शित तिथि के आधार पर, ऐसा लगता है कि आप वहां प्रदर्शित पूर्ण संस्करण देख रहे हैं।

ओपन SSL 1.0.1 14 मार्च 2012 को जारी किया गया था । 1.0.1a को 2012 के 19 अप्रैल को रिलीज़ किया गया था।

इसलिए, मैं आगे बढ़ने जा रहा हूं और यह बताता हूं openssl version -aकि सिस्टम पर स्थापित OpenSSL के पूर्ण संस्करण को प्रदर्शित करने का उचित, क्रॉस-डिस्ट्रो तरीका है। यह उन सभी लिनक्स डिस्ट्रोस के लिए काम करता है जिनकी मेरे पास पहुँच है, और यह हेल्प.बंटू ओपनएसएसएल डॉक्यूमेंटेशन में सुझाई गई विधि है, साथ ही । Ubuntu LTS 12.04 को वेनिला ओपनएसएसएल v1.0.1 के साथ भेज दिया गया, जो एक संक्षिप्त संस्करण की तरह दिखने वाला संस्करण है, जिसके पीछे एक अक्षर नहीं है।

ऐसा कहने के बाद, ऐसा प्रतीत होता है कि उबंटू में एक प्रमुख बग है (या वे ओपनएसएसएल को कैसे पैकेज करते हैं), इसमें openssl version -a14 मार्च 2012 से मूल 1.0.1 संस्करण लौटना जारी है, भले ही ओपनएसएसएल को किसी में अपग्रेड किया गया हो या नहीं। नए संस्करणों की। और, जब बारिश होती है, तो ज्यादातर चीजों के साथ।

उबंटू ओपनएसएसएल (या अन्य पैकेजों) में बैकपोर्टिंग अपडेट की आदत में एकमात्र बड़ा डिस्ट्रो नहीं है, अपस्ट्रीम अपडेट और वर्जन नंबरिंग पर भरोसा करने की तुलना में रोटर जिसे हर कोई पहचानता है। ओपनएसएसएल के मामले में, जहां पत्र संस्करण संख्याएं केवल बग फिक्स और सुरक्षा अपडेट का प्रतिनिधित्व करती हैं, यह लगभग समझ से बाहर लगता है, लेकिन मुझे सूचित किया गया है कि यह FIPS-मान्य प्लगइन प्रमुख लिनक्स डिस्ट्रोस शिप के साथ खोला गया हो सकता है। किसी भी परिवर्तन के कारण ट्रिगर होने वाले पुनर्विकास के आस-पास की आवश्यकताओं के कारण, यहां तक ​​कि उस प्लग में सुरक्षा छेद भी बदल जाते हैं, यह संस्करण-बंद है।

उदाहरण के लिए, डेबियन पर, फिक्स्ड संस्करण 1.0.1e-2+deb7u5के अपस्ट्रीम संस्करण के बजाय एक संस्करण संख्या प्रदर्शित करता है 1.0.1g

नतीजतन, इस समय, लिनक्स वितरणों में एसएसएल संस्करणों की जांच करने के लिए कोई विश्वसनीय, पोर्टेबल तरीका नहीं है , क्योंकि वे सभी अपने स्वयं के बैकपैक पैच और विभिन्न संस्करण नंबरिंग योजनाओं के साथ अपडेट का उपयोग करते हैं। आपके द्वारा चलाए जा रहे लिनक्स के प्रत्येक अलग-अलग वितरण के लिए आपको निश्चित संस्करण संख्या को देखना होगा, और उस वितरण के विशिष्ट संस्करण की संख्या के खिलाफ स्थापित ओपनएसएसएल संस्करण की जांच करें कि यह निर्धारित करने के लिए कि आपके सर्वर कमजोर संस्करण चला रहे हैं या नहीं।


3
मेरी स्थापना एक साधारण Ubuntu है 12.04 LTS बिना कुछ भी जो मैंने खुद को संकलित किया है या उबंटू रिपॉजिटरी की तुलना में अन्य स्रोतों से डाउनलोड किया है। यदि उबंटू ओपनएसएसएल को संक्षिप्त संस्करण संख्याओं के साथ वितरित कर रहा है, तो openssl version -aएक पोर्टेबल विधि नहीं है (कम से कम उबंटू के लिए पोर्टेबल नहीं है)। मैंने जाँच की है apt-cache policy opensslऔर इसका उत्तर दिया है: Installed: 1.0.1-4ubuntu5.12जो कि केवल उगा उबटन द्वारा १२.०४ एलटीएस के लिए जारी किया गया है। मैंने जाँच करने से पहले लॉग आउट और बैक किया।
मार्टिजन

19
हॉपलेसएनबीबी, बम्परिंग संस्करणों के बजाय फ़्रीपोर्टिंग फ़िक्स की नीति के बारे में कुछ भी संदिग्ध नहीं है; यह मंच स्थिरता सुनिश्चित करने का एक बहुत अच्छा तरीका है, जो सर्वर वातावरण में अत्यधिक वांछनीय है। किसी भी निर्णय की तरह, इसके परिणाम हैं, जिनके बारे में उपयोगकर्ताओं को जागरूक होने की आवश्यकता है; लेकिन सिर्फ इसलिए कि यह " मैं फू xyz चला रहा हूं इसलिए मैं तर्क के नवीनतम शोषक के लिए कमजोर नहीं हूं / हूं , यह एक बुरी बात नहीं है।
9

10
@towo संस्करण संख्या एक कारण के लिए मौजूद हैं। अगर हम सिर्फ ऊपर वाले वर्जन को चोक करने जा रहे हैं, तो विंडो को "एंटरप्राइस" या जो भी हो, वर्जन नंबर से परेशान क्यों करें? मई के रूप में अच्छी तरह से alliterations के साथ हमारे सभी सामान नामकरण शुरू करते हैं। हम असुरक्षित ओपनएसएसएल संस्करणों को पवित्र हार्दिक और फिक्स्ड कनिष्ठ कौगुलेंट कह सकते हैं ।
होपलेस एन ००

7
@ HopelessN00b मुझे लगता है कि आप "यह संस्करण XYZ में तय किया गया था" जाल पर पकड़े जा रहे हैं, वे संस्करण संख्याओं का पालन नहीं करते हैं क्योंकि सभी जो नवीनतम संस्करण में आयात हो रहे हैं वे बग और सुरक्षा सुधार हैं। यदि वे संस्करण संख्या टकराते हैं, तो आप अतिरिक्त कार्यक्षमता की भी उम्मीद करेंगे .. "मेरे पास OpenSSL v XYZ है, मेरे पास ECDHA क्यों नहीं है ????etc"। यह समझ में आता है जब आप समझते हैं कि यह केवल बगफिक्स है।
निकोव

13
@NickW @Jubal @MadHatter को ओपनएसएसएल के साथ बात करें, हालांकि, यह है: After the release of OpenSSL 1.0.0 the versioning scheme changed. Letter releases (e.g. 1.0.1a) can only contain bug and security fixes and no new features.इसलिए, अपस्ट्रीम वर्जनिंग स्कीम को छोड़ने पर कुछ भी प्राप्त नहीं होता है; अद्यतनों का बैकपार्ट करना अनिवार्य रूप से अद्यतन संस्करण का उपयोग करने के समान है, क्योंकि अद्यतन में केवल सुरक्षा और बग फिक्स शामिल हैं। यह क्या करता है चीजों को भ्रमित करने और लिनक्स डिस्ट्रोस में ओपनएसएसएल संस्करण को आंशिक रूप से जांचने का कोई तरीका नहीं है।
HopelessN00b

18

यदि आप कुछ सही मायने में क्रॉस-प्लेटफॉर्म चाहते हैं, तो संस्करण संख्याओं पर निर्भर होने के बजाय खुद को भेद्यता के लिए जांचें।

आपके पास कोड हो सकता है जो एक संस्करण संख्या की रिपोर्ट करता है जो कमजोर होने के लिए जाना जाता है, लेकिन वास्तविक कोड असुरक्षित नहीं है । और रिवर्स - चुपचाप कमजोर कोड - और भी बदतर हो सकता है!

कई विक्रेता जो ओपनएसएसएल और ओपनएसएसएच जैसे ओपन-सोर्स उत्पादों को बंडल करते हैं, वे एपीआई स्थिरता और भविष्यवाणी को बनाए रखने के लिए, कोड के एक पुराने संस्करण में तत्काल सुधारों को वापस ले लेंगे। यह "दीर्घकालिक रिलीज" और उपकरण प्लेटफार्मों के लिए विशेष रूप से सच है।

लेकिन जो विक्रेता इसे चुपचाप करते हैं (अपने स्वयं के संस्करण स्ट्रिंग प्रत्यय को जोड़े बिना) भेद्यता स्कैनर (और भ्रमित करने वाले उपयोगकर्ताओं) में झूठी सकारात्मक को ट्रिगर करने का जोखिम चलाते हैं। इसलिए इस पारदर्शी और परिवर्तनशील बनाने के लिए, कुछ विक्रेता प्रमुख पैकेज संस्करण के लिए अपने स्वयं के तार जोड़ते हैं। डेबियन (ओपनएसएसएल) और फ्रीबीएसडी (ओपनएसएसएच में, VersionAddendumsshd_config निर्देश के माध्यम से ) दोनों कभी-कभी ऐसा करते हैं।

जो विक्रेता ऐसा नहीं करते हैं, वे संभवतया कई प्रत्यक्ष और अप्रत्यक्ष तरीकों के कारण टूटने की संभावना को कम करने के लिए ऐसा कर रहे हैं जो अन्य प्रोग्राम संस्करण संख्याओं को प्रभावित करते हैं।

तो यह इस तरह दिख सकता है:

$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04.4 LTS"

$ openssl version
OpenSSL 1.0.1 14 Mar 2012

... हालांकि यह पैच किया गया है :

$ dpkg -l openssl | grep openssl
ii  openssl  1.0.1-4ubuntu5.12  [truncated]

$ ls -la `which openssl`
-rwxr-xr-x 1 root root 513208 Apr  7 12:37 /usr/bin/openssl

$ md5sum /usr/bin/openssl
ea2a858ab594905beb8088c7c2b84748  /usr/bin/openssl

खेल में इस तरह की चीजों के साथ, यदि आप संस्करण संख्या पर भरोसा नहीं करते हैं तो आप बेहतर हैं


यह स्पष्ट है कि संस्करणों की जाँच करना उतना आसान और पारदर्शी नहीं है जितना मुझे आशा है कि यह होगा। भेद्यता की जाँच करना क्रॉस-प्लेटफ़ॉर्म है, लेकिन यह करना भी अधिक कठिन है: आपके पास चल रहे विशेष रूप से संवेदनशील सॉफ़्टवेयर सेवा के लिए एक विश्वसनीय पीओसी या परीक्षण कार्य होना चाहिए। इस मामले में यह सब अपाचे और nginx के लिए एक पीओसी के साथ शुरू हुआ। क्या होगा अगर मैं उस समय केवल एसएसटीपी के साथ एसएमटीपी का उपयोग कर रहा था, और मैं यह देखना चाहता था कि क्या मैं असुरक्षित हूं? अंततः हमारे पास अधिकांश सेवाओं के लिए परीक्षण होंगे, लेकिन इसमें कुछ समय लग सकता है।
मार्टिज़न

मार्टिज़न, यह एक उचित बिंदु है। जब एक परीक्षण उपलब्ध नहीं होता है, तो माध्यमिक विधियाँ (जैसे आपके लक्षित प्रणालियों पर प्रभावित बायनेरिज़ के लिए चेकसम को ट्रैक करना) कम इष्टतम हैं, लेकिन काम पूरा करने के लिए पर्याप्त अच्छा हो सकता है ... और फिर अगली आग पर आगे बढ़ें। :-)
रॉयस विलियम्स

14

दुर्भाग्य से, मुझे यकीन नहीं है कि ऐसा करने का एक क्रॉस-प्लेटफ़ॉर्म तरीका है। जैसा कि मैं एक ब्लॉग पोस्टिंग में चर्चा करता हूं , OpenSSL का संस्करण Ubuntu 12.04 REMAINS 1.0.1 पर एक निश्चित संस्करण में अपग्रेड करने के बाद प्रदर्शित होता है।

Ubuntu 12.04 केवल के लिए, आप बता सकते हैं कि क्या आपको अपडेट किया गया है यदि नीचे के सभी सत्य हैं:

  1. dpkg -s openssl | grep Version संस्करण 1.0.1-4ubuntu5.12 या बाद का संस्करण दिखाता है।
  2. dpkg -s libssl1.0.0 | grep Version संस्करण 1.0.1-4ubuntu5.12 या बाद का संस्करण दिखाता है।
  3. openssl version -a 7 अप्रैल 2014 या उसके बाद की तारीख को "निर्मित" दिखाता है।

अतिरिक्त जानकारी के लिए @danny को धन्यवाद।


2
ठीक है, उस स्थिति में मुझे उस पैकेज संस्करण को जोड़ना होगा जो 1.0.1-4ubuntu5.12केवल Ubuntu 12.04 LTS के लिए है। यदि आप उबंटू 12.10 पर हैं, 1.0.1c-3ubuntu2.7तो आपको कम से कम संस्करण देखना चाहिए और यदि आप 13.10 पर हैं, तो यह 1.0.1e-3ubuntu1.2स्रोत के अनुसार कम से कम संस्करण होना चाहिए : ubuntu.com/usn/usn-2165-1
Martijn

1
यह दुर्भाग्य से अपर्याप्त है। आपको ubuntu पर भी स्पष्ट रूप से अपग्रेड करना होगाlibssl1.0.0 । यदि आप 7 अप्रैल 2014 से पहले निर्मित तिथि देख रहे हैं, भले ही ओपनस्लेल संस्करण सही है ( 1.0.1-4ubuntu5.12Ubuntu 12.04 के लिए) तो आप अभी भी असुरक्षित हैं।
डेनी

@ डैनी आपने अभी मुझे बहुत काम बचाया है। मैं यह पता लगाने की कोशिश कर रहा था कि निर्माण की तारीख कुछ 12.04 सिस्टम पर सही थी और दूसरों पर गलत। तुम एक जीवन रक्षक हो!
श्योप

openssl version -aहो सकता है कि 7 अप्रैल की बिल्ड डेट की जरूरत न हो, क्योंकि फिक्स को पुराने रिलीज के लिए वापस भेजा जा रहा है।
पैट्रिक जेम्स मैकडॉगल 22

4

निम्नलिखित एक कोशिश दे। यह क्रिप्टो लाइब्रेरी से सभी स्ट्रिंग्स को निकालेगा जो ssh के खिलाफ लिंक है। यह आउटपुट की एक से अधिक लाइन का उत्पादन करता है, लेकिन यदि आवश्यक हो तो इसे 1 लाइन में बदला जा सकता है।

ldd `which ssh` | awk '/\// { print $3 }' | grep crypto | xargs strings  | grep OpenSSL

पैदा करता है

OpenSSLDie
DSA_OpenSSL
...
MD4 part of OpenSSL 1.0.1f 6 Jan 2014 
MD5 part of OpenSSL 1.0.1f 6 Jan 2014
... 
etc

उभरने से पहले जेंटू पर जैसे

[ebuild     U  ] dev-libs/openssl-1.0.1f [1.0.1c] USE="bindist (sse2) tls-heartbeat%* zlib -gmp -kerberos -rfc3779 -static-libs {-test} -vanilla" 4,404 kB

उपरोक्त आदेश में परिणाम है

...
OpenSSL 1.0.1c 10 May 2012

उपरांत

...
OpenSSL 1.0.1f 6 Jan 2014

आउच, फिर भी जी नहीं।


3
मुझे लगा कि आप एक अच्छा समाधान प्रदान करने के बहुत करीब थे, लेकिन दुर्भाग्य से यह Ubuntu 12.04 LTS पर क्रिप्टो लाइब्रेरी के लिए काम नहीं करता है। यह संस्करण के साथ सभी तारों को प्रदर्शित करता है [...] part of OpenSSL 1.0.1 14 Mar 2012, उसी तरह से openssl version -aकरता है। यह एक चाल है जो अन्य मामलों में काम कर सकती है, हालांकि!
Martijn

@Martijn यह दुर्भाग्यपूर्ण है, लेकिन यह ubuntu 12.10 पर काम करता है। अजीब बात है कि यह 12.04 को स्वयं की गलत पहचान करेगा। क्या कई काम हैं? क्या यह संभव है कि ssh सबसे अद्यतित का उपयोग नहीं करता है?
15

मैं किसी भी अन्य ओपनस्क्रीन बायलर या क्रिप्टो लाइब्रेरी को खोजने में असमर्थ था। यह दूसरों द्वारा सुझाया गया है कि अंतर यह है कि, 12.04 एलटीएस पर, उबंटू संस्करण में यूपीआई के बिना बदलावों को वापस कर रहा है। जबकि 12.10 LTS नहीं है और इसलिए Ubuntu एक बैकपोर्ट के बजाय नवीनतम संस्करण का उपयोग करता है।
Martijn

2

क्या इनमें से कोई भी स्क्रिप्ट सभी सेवाओं का परीक्षण करती है, या क्या वे केवल HTTPS का परीक्षण करती हैं ? AFAIK , PostgreSQL असुरक्षित है, लेकिन यह केवल एक अफवाह है जब तक कि एक-में-जंगली हमले की सतह नहीं।

उपयोग के लिए एक मेटास्प्लोइट स्क्रिप्ट उपलब्ध है।

https://github.com/rapid7/metasploit-framework/commit/dd69a9e5dd321915e07d8e3dc8fe60d3c54f551a

आप इसे टाइप कर सकते हैं ( GnuWin32 OpenSSL बाइनरी संस्करण 1.0.1.6, दिनांक 2014-01-14 के साथ परीक्षण किया गया ), या बस इस एक के नीचे टिप्पणी में स्क्रिप्ट का उपयोग करें। यह अधिक सटीक और सरल है!

s_client -connect a23-75-248-141.deploy.static.akamaitechnologies.com:443 -debug -state

एक बार प्रकार बी जुड़ा हुआ है और आप एक कमजोर मेजबान पर देखेंगे और आप डिस्कनेक्ट नहीं होंगे:

B

HEARTBEATING
write to 0x801c17160 [0x801cbc003] (66 bytes => 66 (0x42))
0000 - 18 03 03 00 3d 8f 6f 3c-52 11 83 20 9c a2 c0 49   ....=.o 5 (0x5))
0000 - 18 03 03 00 3d                                    ....=
read from 0x801c17160 [0x801cb7008] (61 bytes => 61 (0x3D))
0000 - 05 4d f5 c0 db 96 d1 f5-c7 07 e5 17 1f 3b 48 34   .M...........;H4
0010 - 6e 11 9d ba 10 0c 3a 34-eb 7b a5 7c c4 b6 c0 c0   n.....:4.{.|....
0020 - b0 75 0e fe b7 fa 9e 04-e9 4e 4a 7d 51 d3 11 1f   .u.......NJ}Q...
0030 - e2 23 16 77 cb a6 e1 8e-77 84 2b f8 7f            .#.w....w.+..
read R BLOCK

आपको दिल की धड़कन की प्रतिक्रिया मिलेगी जो इस के समान है।

एक पैच होस्ट पर, आपको नीचे एक प्रतिक्रिया दिखाई देगी और आपको काट दिया जाएगा:

बी दर्ज करें

HEARTBEATING
write to 0x801818160 [0x8019d5803] (101 bytes => 101 (0x65))
0000 - 18 03 03 00 60 9c a3 1e-fc 3b 3f 1f 0e 3a fe 4c   ....`....;?..:.L
0010 - a9 33 08 cc 3d 43 54 75-44 7d 2c 7b f3 47 b9 56   .3..=CTuD},{.G.V
0020 - 89 37 c1 43 1c 80 7b 87-66 ff cb 55 5f 8d 1a 95   .7.C..{.f..U_...
0030 - 1b 4c 65 14 21 a1 95 ac-7a 70 79 fc cc a0 cf 51   .Le.!...zpy....Q
0040 - 0f 7e c5 56 14 c8 37 c1-40 0b b8 cb 43 96 8a e6   .~.V..7.@...C...
0050 - 21 42 64 58 62 15 fb 51-82 e6 7f ef 21 1b 6f 87   !BdXb..Q....!.o.
0060 - b9 c2 04 c8 47                                    ....G

स्रोत:

ये उपकरण भी हैं:




0

मुझे यह स्क्रिप्ट देवसेंट्रल में मिली :

openssl s_client -connect example.com:443 -tlsextdebug 2>&1| grep 'server extension "heartbeat" (id=15)' || echo safe

example.comउस सर्वर के नाम या आईपी पते से बदलें जिसे आप जाँचना चाहते हैं।

"safe"यदि आपका सर्वर ठीक है या "server extension "heartbeat" (id=15)"नहीं तो वापस आ जाएगा ।

यह संस्करण संख्या पर निर्भर नहीं करता है, लेकिन समस्या का कारण बनने वाले सर्वर एक्सटेंशन को सूचीबद्ध करने पर, इसलिए यह लाइब्रेरी संस्करण शेंनिगन्स के लिए प्रतिरक्षा होना चाहिए।

जिस मशीन पर आप काम कर रहे हैं openssl s_client, उसे ओपनएसएसएल 1.0.1 या बाद में काम करने के लिए इस्तेमाल करना होगा।


4
उपयोगी है, लेकिन आपको यह नहीं बताता है कि आपके पास एक्सटेंशन और फिक्स के साथ संस्करण है या नहीं ।
Mattdm

1
यह वास्तव में भेद्यता के लिए जाँच करने का एक अच्छा तरीका है और कुछ लिपियाँ क्या करती हैं। यह वास्तव में SSH पहुँच की आवश्यकता नहीं है।
स्टीफन लासिवस्की

8
बड़े निशान महत्वपूर्ण चेतावनी - आप जिस मशीन पर काम कर रहे हैं, उसेopenssl s_clientओपनएसएसएल 1.0.1 या बाद में काम करने के लिए इस्तेमाल करना होगा। यदि आप इस कमांड को 0.9.8 या 1.0.0 IT मशीन के साथ मशीन पर चलाते हैं , तो "Safe", कमजोर सर्वर के लिए भी
voretaq7

अजीब। मैं OpenSSL का एक संस्करण चला रहा हूं, जो इस बग से प्रभावित है, फिर भी वह स्ट्रिंग आउटपुट में दिखाई नहीं देता ...
माइकल

@StefanLasiewski मैंने अपना उत्तर अपडेट किया और "आवश्यकता ssh" भाग को हटा दिया
ईगोरिया
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.