SSLv3 को अक्षम करना लेकिन फिर भी Apache में SSLv2Hello का समर्थन करना


12

कई SSL क्लाइंट, विशेष रूप से JDK 6, सर्वर के साथ हैंडशेक करने के लिए SSLv2Hello प्रोटोकॉल का उपयोग करते हैं। इस प्रोटोकॉल का उपयोग करने का मतलब यह नहीं है कि आप उस मामले के लिए एसएसएल 2.0 या 3.0 का उपयोग कर रहे हैं; यह निर्धारित करने के लिए कि प्रोटोकॉल का उपयोग करने के लिए केवल एक हाथ मिलाना है । [ http://tools.ietf.org/html/rfc5246#appendix-E.2]

हालाँकि, Apache में, यदि आप SSLv3 समर्थन को अक्षम करते हैं, तो यह स्पष्ट रूप से SSLv2Hello प्रोटोकॉल के लिए समर्थन को हटा देता है। Apache Tomcat में SSLv2Hello के लिए स्पष्ट समर्थन है; वह है, आप इसे सक्षम कर सकते हैं, लेकिन SSLv3 को सक्षम नहीं कर सकते।

क्या अपाचे में ऐसा करने का कोई तरीका है?

[अपडेट करें]

यह मेरा प्रोटोकॉल कॉन्फिगर है:

  SSLProtocol +TLSv1 +TLSv1.1 +TLSv1.2 -SSLv3

However, in Apache, if you disable SSLv3 support, this apparently removes support for the SSLv2Hello protocol. मैं अपाचे 2.2 के साथ चल रहा हूं SSLProtocol all -SSLv2 -SSLv3और एसएसएल 2 हैंडशेक काम करता है। आप क्या कॉन्फ़िगरेशन चला रहे हैं, जिससे आपको समस्या हो रही है। एसएसएल 2 हैंडशेक को निष्क्रिय करने का एकमात्र तरीका मैं FIPS मोड को सक्षम करना चाहता हूं।
क्रिस एस

1
2014 में उस विरासत के समर्थन को संभालने के लिए एक दर्द क्या है :(? यह सभी के लिए SSLv2 और SSLv3 को नाकाम करने और सार्वभौमिक एक्सटेंशन समर्थन (जैसे SNI) बनाने का समय है।
जेवियर लुकास

2
@XavierLucas, सभी -SSLv2, -SSLv3 करने के बजाय, मैं TLS प्रोटोकॉल का समर्थन करता हूं, जिनका मैं समर्थन करता हूं। मैं यह नहीं देखता कि यह अलग क्यों होगा, लेकिन मैं परीक्षण करूंगा।
मैट ह्यूजेस

@ क्रिस मैं दोनों की कोशिश की: SSLProtocol + TLSv1 + TLSv1.1 + TLSv1.2 -SSLv3 और सभी -SSLv3 -SSLv2। यह अपाचे 2.4.10 के साथ चल रहा है। SSL 2 हैंडशेक की अनुमति देने के लिए न तो कॉन्फ़िगरेशन दिखाई देता है। और मैंने दान मोड को नहीं छुआ है; डिफ़ॉल्ट यह है कि यह अक्षम है।
मैट ह्यूजेस

जवाबों:


7

जाहिरा तौर पर पिछले वर्ष में mod_ssl बदल गया है (मुझे स्रोत के लिए सटीक प्रतिबद्धता नहीं मिली है, लेकिन "समस्या" पाया गया)। स्रोत अब यह करता है:

If SSLProtocol only includes only one Protocol:
    Handshake = That Protocol's Handshake Only
Else
    Handshake = SSLv2 Handshake

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


1
मैं पुष्टि कर सकता हूं, कि क्रिस 'पैच मदद करता है - कर्ल (और git जैसे libcurl- प्रोग्राम) अब हमारे सर्वर से फिर से बात कर सकता है, इसके बावजूद SSLv3 अक्षम किया गया है - बिना sslscanकिसी भेद्यता को चिह्नित किए । लेकिन पैच कुछ इनवेसिव लगता है और मैं एएसएपी की समीक्षा के लिए क्रिस को अपाचे परियोजना में प्रस्तुत करने के लिए कहना चाहता हूं। मैं खुद एक टिकट दर्ज करूंगा, अगर क्रिस नहीं करता है :-) बहुत बहुत धन्यवाद, क्रिस!
मिखाइल टी।

1
संगतता मोड को बाध्य करने के लिए एक अलग निर्देश जोड़ना बेहतर होगा। अगर मेरे पास कुछ खाली समय है तो मैं लिखूंगा, लेकिन मुझे नहीं लगता कि यह "पैच" लंबे समय में एक अच्छा विचार है।
क्रिस एस

हाँ, ऐसा प्रतीत होता है कि Apache डेवलपर्स क्या विचार कर रहे हैं। [सूत्र] [१] देखें। मैंने वहां शुरुआत की ... [१] mail-archives.apache.org/mod_mbox/httpd-dev/201410.mbox/…
मिखाइल टी।

1

तो यह पता चला कि यह एक गैर-मुद्दा था। अपाचे SSLV2 हैंडशेक को मेरे द्वारा ऊपर पोस्ट किए गए कॉन्फ़िगरेशन के साथ स्वीकार करेगा। मुझे यह सोचकर एक हाथ मिलाने की गलती से गुमराह किया गया कि यह मुद्दा था; यह वास्तव में सिर्फ एक कॉन्फ़िगरेशन समस्या थी जहां सर्वर क्लाइंट के सीए पर भरोसा नहीं कर रहा था।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.