मैं SSLV3 POODLE भेद्यता (CVE-2014-3566) कैसे पैच / वर्कअराउंड करता हूं?


157

बाद जानवर हमले और Heartbleed बग , अब मैं एसएसएल में एक नया जोखिम के बारे में सुना है / TLS बुलाया POODLE । मैं खुद को शोषित होने से कैसे बचा सकता हूं?

  • क्या केवल सर्वर या क्लाइंट भी प्रभावित होते हैं?
  • क्या यह OpenSSL / GnuTLS विशिष्ट है?
  • किस तरह की सेवाएं प्रभावित होती हैं? केवल HTTPS या IMAPS, SMTPS, OpenVPN, आदि?

कृपया मुझे इस भेद्यता से बचने के लिए उदाहरण दिखाएं।


2
अधिक जानकारी यहाँ SSL3 "पूडल" भेद्यता
Braiam

1
@Braiam हाँ मुझे पता है, प्रतिभाशाली थॉमस फिर से! हालाँकि, यह एक बहुत क्रिप्टोग्राफ़िक उन्मुख क्यू एंड ए है। AU पर यह Q & A व्यावहारिक और उबंटू उन्मुख जानकारी प्रदान करने वाला है। :-)
gertvdijk

10
है ना? आप "से अधिक व्यावहारिक समाधान की उम्मीद कैसे करते हैं" यदि आप पैच स्थापित नहीं करते हैं, तो निओग्रग आपके प्लीहा को खा जाएगा।
Braiam

2
@Braiam सबसे पहले: कोई पैच नहीं है (मेरा जवाब पढ़ें)। मुझे लगता है कि थॉमस DIY-Ubuntu वेब सर्वर होस्टिंग के बजाय उपकरणों की बात कर रहा है। लोड बैलेंसर जैसे उपकरण आमतौर पर डिफ़ॉल्ट सेटिंग्स बदलने के लिए फर्मवेयर अपडेट की पेशकश करते हैं या इसे कॉन्फ़िगर करने में सक्षम होने के लिए कार्यक्षमता प्रदान करेंगे। हालाँकि, उबंटू में यह सभी उपयोगकर्ता / प्रशासक के लिए है।
gertvdijk

वास्तव में वहाँ है: विक्रेताओं सभी SSLv3 संबंधित कोड को अक्षम / हटा सकते हैं, इसलिए आपको कुछ भी छूने की आवश्यकता नहीं है।
ब्राह्म

जवाबों:


209

पृष्ठभूमि की जानकारी

एसएसएल को इंटरनेट पर परिवहन स्तर को सुरक्षित करने के लिए डिज़ाइन किया गया है। 'वेब' उर्फ ​​HTTP के लिए आप इसे HTTPS के रूप में जानते होंगे, लेकिन इसका उपयोग अन्य एप्लिकेशन प्रोटोकॉल के लिए भी किया जाता है। SSLv2 पहला व्यापक रूप से इस्तेमाल किया जाने वाला परिवहन सुरक्षा प्रोटोकॉल था, लेकिन लंबे समय बाद असुरक्षित नहीं पाया गया। उत्तराधिकारी SSLv3 और TLSv1 अब व्यापक रूप से समर्थित हैं। TLSv1.1 और TLSv1.2 नए हैं और बहुत अधिक समर्थन प्राप्त कर रहे हैं। सबसे ज्यादा अगर 2014 से जारी सभी वेब ब्राउज़र को इसके लिए समर्थन नहीं है।

Google इंजीनियरों द्वारा हाल ही में की गई खोज बताती है कि SSLv3 का अब उपयोग नहीं किया जाना चाहिए (जैसे SSLv2 को लंबे समय से हटा दिया गया है)। जो क्लाइंट आपकी साइट / सेवा से कनेक्ट नहीं हो पाएंगे, वे संभवतः बहुत सीमित हैं। CloudFlare ने घोषणा की कि उनके 0.09% से कम आगंतुक अभी भी SSLv3 पर निर्भर हैं।

सरल समाधान: SSLv3 को अक्षम करें।

क्या उबंटू कोई अपडेट प्रदान करता है?

हां, SCSV सुविधा के अलावा usn-2385-1 के माध्यम से , लेकिन यह पूरी तरह से समस्या को कम नहीं करता है क्योंकि यह SSLv3 को अक्षम नहीं करता है और पैच केवल तभी काम करेगा जब कनेक्शन के दोनों किनारों को पैच किया गया हो। आप इसे अपने पैकेज मैनेजर में अपने नियमित सुरक्षा अपडेट के माध्यम से प्राप्त करेंगे।

तो, अभी भी आपको SSLv3 को अक्षम करने के लिए खुद ही कार्रवाई करनी होगी (यह कॉन्फ़िगर करने योग्य है)। क्लाइंट / ब्राउज़र के भविष्य के संस्करण SSLv3 को सबसे अधिक संभावना में निष्क्रिय कर देंगे। उदाहरण के लिए फ़ायरफ़ॉक्स 34 ऐसा करेगा।

कार्यान्वयन के स्तर पर उबंटू में डिफ़ॉल्ट रूप से SSLv3 को पूरी तरह से अक्षम करना संभवत: गैर-HTTPS SSL उपयोग के लिए कुछ सामानों को तोड़ देगा जो इतना कमजोर नहीं है, इसलिए मुझे लगता है कि अनुरक्षक ऐसा नहीं करेंगे और केवल यह SCSV पैच लागू किया जाएगा।

SCSSV usn-2385-1 के माध्यम से ओपनएसएसएल में अपडेट क्यों नहीं करता है?

वास्तव में, इस तरह के सवाल पूछना बंद करें और बस कुछ पैराग्राफ छोड़ें और SSLv3 को अक्षम करें। लेकिन हे, अगर तुम आश्वस्त नहीं हो, तो तुम यहाँ जाओ:

POODLE से पता चलता है कि CBC सिफर के साथ SSLv3 टूट गया है, SCSV को लागू करने से इसमें बदलाव नहीं होता है। एससीएसवी केवल यह सुनिश्चित करता है कि आप कुछ टीएलएस प्रोटोकॉल से किसी भी कम टीएलएस / एसएसएल प्रोटोकॉल को डाउनग्रेड न करें क्योंकि सामान्य मामलों के लिए आवश्यक मैन-इन-द-मिडिल हमले की आवश्यकता होती है।

यदि आपको कुछ सर्वर का उपयोग करना है जो कि टीएलएस की पेशकश नहीं करता है, लेकिन केवल एसएसएलवी 3, तो आपके ब्राउज़र के पास वास्तव में कोई विकल्प नहीं है और एसएसवी 3 का उपयोग करके सर्वर से बात करनी है, जो तब किसी भी डाउनग्रेड हमले के बिना असुरक्षित है।

यदि आपको कुछ सर्वर का उपयोग करना है जो TLSv1 + और SSLv3 भी प्रदान करता है (जो हतोत्साहित किया गया है) और आप यह सुनिश्चित करना चाहते हैं कि एक हमलावर द्वारा आपका कनेक्शन SSLv3 में डाउनग्रेड नहीं किया जाएगा, तो सर्वर और क्लाइंट दोनों ही SCSV पैच के लिए उपयोग करते हैं।

इस समस्या को पूरी तरह से कम करने के लिए SSLv3 की अक्षमता आपके लिए पर्याप्त है और आप यह सुनिश्चित कर सकते हैं कि आप डाउनग्रेड नहीं होंगे। और आप SSLv3- केवल सर्वर से बात नहीं कर पाएंगे।

ठीक है, तो मैं SSLv3 को कैसे अक्षम करूं?

एप्लिकेशन विशिष्ट अनुभागों में नीचे देखें: फ़ायरफ़ॉक्स, क्रोम, अपाचे, नेग्नेक्स और पोस्टफ़िक्स अभी के लिए कवर किए गए हैं।

क्या केवल सर्वर या क्लाइंट भी प्रभावित होते हैं?

सर्वर और क्लाइंट दोनों SSLv3 (भले ही दोनों TLSv1 / TLSv1.1 / TLS1.2 एक डाउनग्रेड हमले के कारण सक्षम हैं) को स्वीकार करने पर भेद्यता मौजूद है।

सर्वर व्यवस्थापक के रूप में आपको अपने उपयोगकर्ताओं की सुरक्षा के लिए अब SSLv3 को अक्षम करना चाहिए ।

एक उपयोगकर्ता के रूप में, आपको उन वेबसाइटों पर जाकर अपने आप को सुरक्षित करने के लिए अब SSLv3 को अक्षम करना चाहिए जो अभी भी SSLv3 का समर्थन करते हैं।

क्या यह OpenSSL / GnuTLS / ब्राउज़र विशिष्ट है?

नहीं, यह एक प्रोटोकॉल (डिज़ाइन) बग है, कार्यान्वयन बग नहीं। इसका मतलब है कि आप इसे वास्तव में पैच नहीं कर सकते (जब तक कि आप पुराने एसएसएल 3 के डिजाइन को नहीं बदल रहे हैं)।

और हाँ, एक नया OpenSSL सुरक्षा रिलीज़ है , लेकिन नीचे पढ़ें ( लेकिन मुझे वास्तव में SSLv3 समर्थन की आवश्यकता है ... कारण X, Y, Z! ) के लिए आप SSLv3 को पूरी तरह से अक्षम करने पर बेहतर ध्यान क्यों देंगे।

क्या मैं नेटवर्क (फ़ायरवॉल) स्तर पर SSLv3 को मार सकता हूं?

खैर, हां, शायद। मैंने इसे आगे के विचारों और काम के लिए एक अलग ब्लॉग पोस्ट में डाल दिया। हमारे पास कुछ जादू iptablesनियम हो सकते हैं जिनका आप उपयोग कर सकते हैं!

मेरा ब्लॉग पोस्ट: POODLE के लिए iptables का उपयोग करके अपने नेटवर्क में SSLv3 को कैसे ले जाएं?

क्या यह केवल HTTPS के लिए या IMAP / SMTP / OpenVPN और SSL समर्थन वाले अन्य प्रोटोकॉल के लिए भी प्रासंगिक है?

वर्तमान हमला वेक्टर, जैसा कि शोधकर्ताओं द्वारा दिखाया गया है, पीड़ित के मशीन पर चलाए जा रहे जावास्क्रिप्ट का उपयोग करके सर्वर को भेजे गए प्लेनटेक्स्ट को नियंत्रित करने के साथ काम करता है। यह वेक्टर एक ब्राउज़र का उपयोग किए बिना गैर-HTTPS परिदृश्यों पर लागू नहीं होता है।

इसके अलावा, आम तौर पर एक SSL क्लाइंट सत्र को SSLv3 (TLSv1 + हैंडशेक क्षमताओं में देखा जाने वाला) के लिए डाउनग्रेड करने की अनुमति नहीं देता है, लेकिन ब्राउज़र बहुत पिछड़े संगत होना चाहते हैं और वे करते हैं। प्लेनटेक्स्ट को नियंत्रित करने और HTTP हेडर के विशिष्ट तरीके से बनाया गया संयोजन इसे शोषक बनाता है।

निष्कर्ष: अब HTTPS के लिए SSLv3 को अक्षम करें, अपनी अगली सेवा विंडो में अन्य सेवाओं के लिए SSLv3 को अक्षम करें।

क्या असर हुआ? क्या मुझे अपना सर्वर प्रमाणपत्र रद्द करने और पुनर्जीवित करने की आवश्यकता है? (हार्दिक के साथ)

नहीं, इसके लिए आपको अपने प्रमाणपत्रों को घुमाने की जरूरत नहीं है। भेद्यता सत्र डेटा से प्लेनटेक्स्ट रिकवरी को उजागर करती है, यह किसी भी रहस्य (न ही सत्र कुंजी या प्रमाणपत्र कुंजी) तक पहुंच प्रदान करती है।

एक हमलावर सबसे अधिक संभावना है कि सत्र अपहरण जैसे सादे कुकीज़ को चोरी करने में सक्षम है । एक अतिरिक्त बाधा पूर्ण (सक्रिय) मिटम हमले की आवश्यकता है

क्या मेरे SSL कॉन्फ़िगरेशन को सामान्य रूप से बेहतर बनाने के लिए मैं कुछ और कर सकता हूं?

एक उपयोगकर्ता के रूप में, आपके ब्राउज़र में SSLv3 को अक्षम करने के अलावा, वास्तव में नहीं। ठीक है, बस हमेशा नवीनतम सुरक्षा अद्यतन स्थापित करें।

सर्वर के लिए, मोज़िला के टीएलएस सर्वर गाइड का पालन ​​करें । और क्वालिस के एसएसएल लैब्स टेस्ट के साथ परीक्षण करें । यह वास्तव में आपकी साइट पर ए + रेटिंग पाने के लिए कठिन नहीं है। बस अपने पैकेजों को अपडेट करें और मोज़िला गाइड से सिफारिशों को लागू करें।

लेकिन मुझे वास्तव में SSLv3 समर्थन की आवश्यकता है ... कारण X, Y, Z के लिए! अब क्या?

खैर, एक पैच है जो TLSv1 सक्षम ग्राहकों के डाउनग्रेड हमले को रोकता है, जिसे एसएसएलवी 3 फॉलबैक प्रोटेक्शन कहा जाता है। यह TLSv1 + की सुरक्षा में सुधार करेगा, वैसे (डाउनग्रेड हमला कठिन / असंभव है)। यह उबंटू सुरक्षा सलाहकार usn-2385-1 में एक अधिक हाल के ओपनएसएसएल संस्करण से एक बैकपोर्ट के रूप में पेश किया गया है ।

बड़ी पकड़: काम करने के लिए क्लाइंट और सर्वर दोनों को इस पैच की आवश्यकता होती है। इसलिए, मेरे विचार से जब आप क्लाइंट और सर्वर दोनों को अपडेट कर रहे हैं तो आपको सिर्फ TLSv1 + में अपग्रेड करना चाहिए।

हालाँकि, कृपया, कृपया अभी के लिए अपने नेटवर्क में SSLv3 को रिटायर करें। सुरक्षा मानकों के उन्नयन में प्रयास करें और एसएसएलवी 3 को खोदें।

मैंने प्रोटोकॉल डाउनग्रेड हमले को खत्म करने के लिए SCSV समर्थन के बारे में सुना। क्या मुझे इसकी आवश्यकता है?

यदि आपको वास्तव में किसी विषम कारण के लिए SSLv3 की आवश्यकता है, लेकिन यह TLSv1 + में सुरक्षा को बेहतर बनाता है, तो हाँ, मैं आपको इसे स्थापित करने की सलाह दूंगा। Ubuntu इस सुविधा के लिए usn-2385-1 में एक अद्यतन प्रदान करता है । आप इसे अपने पैकेज मैनेजर में अपने नियमित सुरक्षा अपडेट के माध्यम से प्राप्त करेंगे।

निजी रूप से होस्ट की गई साइटों (जैसे इंट्रानेट / ऑफ़लाइन) के लिए भेद्यता का परीक्षण करना।

यदि वे SSLv3 का समर्थन करते हैं, तो आपके सर्वर असुरक्षित हैं। यहाँ कई विकल्प हैं:

  • OpenSSL s_client के साथ:

    openssl s_client -connect <server>:<port> -ssl3
    

    यदि कनेक्शन सफल होता है, तो sslv3 सक्षम है। यदि यह विफल रहता है, तो यह अक्षम है। जब यह विफल हो जाता है तो आपको कुछ इस तरह देखना चाहिए:

    error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
    
  • का उपयोग कर nmap:

    nmap --script ssl-enum-ciphers -p 443 myhostname.tld
    

    इसका उत्पादन ' SSLv3: No supported ciphers found' होना चाहिए । अपने होस्टनाम / पोर्ट के लिए समायोजित करें।

  • सिफरस्कैन का उपयोग करना । बाइनरी को क्लोन / डाउनलोड करें और इसे निष्पादित करें:

    ./cipherscan myhostname.tld
    

    इसे 'प्रोटोकॉल' कॉलम के तहत SSLv3 के साथ कुछ भी सूचीबद्ध नहीं करना चाहिए ।


फ़ायरफ़ॉक्स ब्राउज़र

मान को खोलें about:config, ढूंढें security.tls.version.minऔर सेट करें 1। फिर किसी भी खुले एसएसएल कनेक्शन को छोड़ने के लिए अपने ब्राउज़र को पुनरारंभ करें।

संस्करण 34 से फ़ायरफ़ॉक्स डिफ़ॉल्ट रूप से SSLv3 को अक्षम कर देगा और इस प्रकार कोई कार्रवाई ( स्रोत ) की आवश्यकता नहीं है । हालांकि, लेखन के समय, 33 अभी जारी है और 34 को 25 नवंबर के लिए निर्धारित किया गया है।


Google Chrome (लिनक्स)

/usr/share/applications/google-chrome.desktopफ़ाइल को संपादित करें , जैसे;

sudo nano /usr/share/applications/google-chrome.desktop

शामिल करने के लिए शुरू होने वाली सभी पंक्तियों को संपादित करें ।Exec=--ssl-version-min=tls1

जैसे कोई लाइन

Exec=/usr/bin/google-chrome-stable %U

हो जाता है

Exec=/usr/bin/google-chrome-stable --ssl-version-min=tls1 %U

फिर ब्राउज़र को पूरी तरह से बंद करना सुनिश्चित करें (क्रोम ऐप्स आपके ब्राउज़र को पृष्ठभूमि में सक्रिय रख सकते हैं!)।

नोट: आपको हर .desktopलॉन्चर -क्रोम पैकेज अपडेट को इस लॉन्चर फ़ाइल को ओवरराइट करते हुए दोहराना पड़ सकता है । डिफ़ॉल्ट रूप से SSLv3 अक्षम के साथ एक Google क्रोम या क्रोमियम ब्राउज़र अभी तक लिखने की घोषणा नहीं की गई है।


अपाचे HTTPD सर्वर

यदि आप एक Apache वेब सर्वर चला रहे हैं जो वर्तमान में SSLv3 की अनुमति देता है, तो आपको Apache कॉन्फ़िगरेशन को संपादित करना होगा। डेबियन और उबंटू सिस्टम पर फ़ाइल /etc/apache2/mods-available/ssl.conf है । CentOS और Fedora पर फ़ाइल /etc/httpd/conf.d/ssl.conf है । आपको अन्य एसएसएल निर्देशों के साथ अपने अपाचे कॉन्फ़िगरेशन में निम्नलिखित पंक्ति को जोड़ना होगा।

SSLProtocol All -SSLv2 -SSLv3

यह SSLv2 और SSLv3 को छोड़कर सभी प्रोटोकॉल की अनुमति देगा।

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

SSLCipherSuite          ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
SSLHonorCipherOrder     on
SSLCompression          off
# Read up on HSTS before you enable it (recommended)
# Header add Strict-Transport-Security "max-age=15768000"

फिर जांचें कि क्या नया कॉन्फ़िगरेशन सही है (कोई टाइपो आदि नहीं):

sudo apache2ctl configtest

और सर्वर को पुनरारंभ करें, जैसे

sudo service apache2 restart

CentOS और फेडोरा पर:

systemctl restart httpd

अधिक जानकारी: अपाचे प्रलेखन

अब इसका परीक्षण करें: यदि आपकी साइट सार्वजनिक रूप से उपलब्ध है, तो क्वालिस के एसएसएल लैब्स टूल का उपयोग करके इसका परीक्षण करें ।


Nginx सर्वर

यदि आप Nginx चला रहे हैं, तो अन्य SSL निर्देशों के बीच अपने विन्यास में निम्नलिखित पंक्ति शामिल करें:

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

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

ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
ssl_prefer_server_ciphers on;
# Read up on HSTS before you enable it (recommended)
# add_header Strict-Transport-Security max-age=15768000;

और सर्वर को पुनरारंभ करें, जैसे

sudo service nginx restart

संदर्भ: Nginx प्रलेखन

अब इसका परीक्षण करें: यदि आपकी साइट सार्वजनिक रूप से उपलब्ध है, तो क्वालिस के एसएसएल लैब्स टूल का उपयोग करके इसका परीक्षण करें ।


लाइटटैप वेबसर्वर

Lighttpd संस्करण> 1.4.28 SSLv2 और v3 को अक्षम करने के लिए एक कॉन्फ़िगरेशन विकल्प का समर्थन करता है। 1.4.28 से पहले लाइटटैप रिलीज आपको केवल SSLv2 को अक्षम करने की अनुमति देता है। कृपया ध्यान दें कि उबंटू 12.04 एलटीएस और पहले सर्वश्रेष्ठ लाइटटैप v1.4.28 पर स्थापित है और इसलिए उनके वितरण के लिए एक साधारण फिक्स उपलब्ध नहीं है। इसलिए इस फिक्स का उपयोग केवल Ubuntu संस्करणों के लिए 12.04 से अधिक होना चाहिए।

उबंटू संस्करण 12.04 या डेबियन 6 के लिए, एक अपडेटेड लाइटटैप पैकेज ओपनएसयूएस रिपॉजिटरी से उपलब्ध है: http://download.opensuse.org/repositories/server:/http/Debian_6.0

पैकेज डेबियन 6 (निचोड़) के लिए अभिप्रेत है, लेकिन 12.04 (सटीक) पर भी काम करता है

निर्देश के /etc/lighttpd/lighttpd.confबाद निम्नलिखित पंक्तियों को जोड़ने के लिए अपना संपादन करेंssl.engine = "enable"

ssl.use-sslv2          = "disable"
ssl.use-sslv3          = "disable"

फिर आपको sudo service lighttpd restartलाइटटैप सेवा को एक के साथ फिर से शुरू करना चाहिए और एक ssl3 हैंडशेक टेस्ट करना चाहिए जैसा कि पहले के खंडों में वर्णित है कि परिवर्तन सफलतापूर्वक लागू किया गया था।

Http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_SSL से लिया गया ।


उपसर्ग SMTP

'अवसरवादी एसएसएल' (एन्क्रिप्शन नीति लागू नहीं की गई और सादा भी स्वीकार्य है) के लिए, आपको कुछ भी बदलने की आवश्यकता नहीं है। यहां तक ​​कि SSLv2 सादे से बेहतर है, इसलिए यदि आपको अपने सर्वर को सुरक्षित करने की आवश्यकता है, तो आपको वैसे भी 'अनिवार्य एसएसएल' मोड का उपयोग करना चाहिए।

के लिए 'अनिवार्य एसएसएल' मोड पहले से ही कॉन्फ़िगर किया जा रहा है, बस जोड़ / बदल smtpd_tls_mandatory_protocols भीतर का कनेक्शन और के लिए सेटिंग smtp_tls_mandatory_protocols आउटबाउंड कनेक्शन के लिए:

smtpd_tls_mandatory_protocols=!SSLv2,!SSLv3
smtp_tls_mandatory_protocols=!SSLv2,!SSLv3

वैकल्पिक रूप से, यदि आप अवसरवादी एन्क्रिप्शन के लिए SSLv3 को अक्षम करना चाहते हैं (भले ही यह ऊपर बताए अनुसार अनावश्यक हो), तो इस प्रकार करें:

smtpd_tls_protocols=!SSLv2,!SSLv3
smtp_tls_protocols=!SSLv2,!SSLv3

और पोस्टफ़िक्स को पुनः आरंभ करें:

sudo service postfix restart

मेल भेजे

(अनाम उपयोगकर्ता द्वारा असत्यापित संपादन, मैं Sendmail के साथ सहज नहीं हूं, कृपया सत्यापित करें।)

ये विकल्प LOCAL_CONFIGआपके अनुभाग में कॉन्फ़िगर किए गए हैंsendmail.mc

LOCAL_CONFIG
O CipherList=HIGH
O ServerSSLOptions=+SSL_OP_NO_SSLv2 +SSL_OP_NO_SSLv3 +SSL_OP_CIPHER_SERVER_PREFERENCE
O ClientSSLOptions=+SSL_OP_NO_SSLv2 +SSL_OP_NO_SSLv3

दरबा

Dovecot v2.1 + में, अपनी /etc/dovecot/local.conf(या एक नई फ़ाइल में /etc/dovecot/conf.d) निम्नलिखित जोड़ें :

ssl_protocols = !SSLv2 !SSLv3

और डवकोट को पुनः आरंभ करें:

sudo service dovecot restart

पुराने संस्करणों के लिए आपको स्रोत कोड को पैच करना होगा ।


कूरियर-इमाप (imapd-ssl)

कूरियर-इमैप Ubuntu 12.04 और अन्य पर डिफ़ॉल्ट रूप से SSLv3 की अनुमति देता है। आपको इसे अक्षम करना चाहिए और टीएलएस के लिए बाध्य करने के बजाय STARTTLS का उपयोग करना चाहिए। /etc/courier/imapd-sslनिम्नलिखित परिवर्तनों को प्रतिबिंबित करने के लिए अपनी कॉन्फ़िगरेशन फ़ाइल को संपादित करें

IMAPDSSLSTART=NO
IMAPDSTARTTLS=YES
IMAP_TLS_REQUIRED=1
TLS_PROTOCOL=TLS1
TLS_STARTTLS_PROTOCOL=TLS1
TLS_CIPHER_LIST="<take those from the Mozilla TLS Server guide!>"

HAProxy सर्वर

SSL HAProxy> = 1.5 में समर्थित है।

/etc/haproxy.cfgफ़ाइल संपादित करें और अपनी bindलाइन ढूंढें । अपेंड करें no-sslv3। उदाहरण के लिए:

bind :443 ssl crt <crt> ciphers <ciphers> no-sslv3

संदर्भ: HAProxy प्रलेखन


OpenVPN

अप्रभावित ( स्रोत ) प्रतीत होता है ।

OpenVPN TLSv1.0 का उपयोग करता है, या (= = 2.3.3 के साथ) वैकल्पिक रूप से TLSv1.2 और इस प्रकार POODLE द्वारा प्रभावित नहीं होता है।


कठपुतली

कठपुतली HTTPS पर SSL का उपयोग करता है, लेकिन इसका उपयोग 'ब्राउज़र' क्लाइंट द्वारा नहीं किया जाता है, बस कठपुतली एजेंट जो कि दिखाए गए वेक्टर पर हमला करने के लिए असुरक्षित नहीं हैं। हालाँकि, SSLV3 को निष्क्रिय करने के लिए यह सबसे अच्छा अभ्यास है।

मेरी अनुशंसा है कि आप अपने कठपुतली मास्टर को स्थापित करने के लिए स्टीफनरजोन / कठपुतली के कठपुतली मॉड्यूल का उपयोग करें जिसमें मैंने कुछ समय पहले एसएसएलवी 3 को मार दिया था।


7
यह जवाब बहुत जल्दबाजी में सार्वजनिक रूप से भेद्यता जारी करने के बाद बनाया गया था। वहाँ अभी भी त्रुटियाँ हो सकती हैं - हमेशा की तरह, संपादित करने / सुधार करने के लिए स्वतंत्र महसूस करें।
gertvdijk

1
Nginx config में ssl_protocols के निर्देश के बाद बृहदान्त्र नहीं होना चाहिए
मिशेल

1
ठीक है, फ़ायरफ़ॉक्स के लिए मेरा मानना ​​है कि यह क्या चल रहा है।
fuglede

4
यह मोज़िला सुरक्षा ब्लॉग पोस्ट मैन्युअल रूप से प्राथमिकताओं को बदलने के बजाय इस ऐड-ऑन को स्थापित करने का सुझाव देता है ।
लेगोशिया

1
@muru यहाँ फ़ायरवॉल स्तर पर SSLv3 को मारने पर एक शुरुआत है। blog.g3rt.nl/take-down-sslv3-using-iptables.html
gertvdijk

4

हो सकता है कि ubuntu विशिष्ट न हो, लेकिन Node.js में Poodle कमजोरता के इर्द-गिर्द काम करने के secureOptionsलिए require('constants').SSL_OP_NO_SSLv3आप एक https या tls सर्वर बनाते समय सेट कर सकते हैं ।

अधिक जानकारी के लिए https://gist.github.com/3rd-Eden/715522f6950044da45d8 देखें


1
IMO आपको Node / Python / Ruby या सीधे कुछ भी जैसे HTTP (S) को उजागर नहीं करना चाहिए। Apache / Nginx / ... की तरह एक अच्छे HTTPd को सामने रखें
gertvdijk

हाँ, आपको सीधे उजागर नहीं करना चाहिए। भाषाएँ tcp लेयर HTTP के साथ उतनी अच्छी नहीं हैं, लेकिन वे सॉकेट्स पर रॉक करते हैं। Nginx को एक सॉकेट से पढ़ने दें। :-)
जेआरजी

4
यह एक डाउन वोट के लायक नहीं था। ऐसे बहुत से मामले हैं जहाँ एक HTTP सर्वर की मेजबानी के अलावा tls का उपयोग किया जाता है।
Psanford

@gertvdijk & jrg Node.js कोई भाषा नहीं है। यह स्केलेबल नेटवर्क अनुप्रयोगों के निर्माण के लिए एक रूपरेखा है। और जैसा कि आप कहते हैं कि आपको एक अपाचे सर्वर के पीछे Node.js रखना चाहिए (और यहां तक ​​कि इसे "सभ्य" भी कहा जाता है) पहले से ही स्पष्ट है कि आपको बिल्कुल पता नहीं है कि आप किस बारे में बात कर रहे हैं। यह बताते हुए कि वे tpc / http के साथ अच्छे नहीं हैं, जाहिर तौर पर व्यक्तिगत पूर्वाग्रह हैं। कृपया विषयवस्तु पर ध्यान दें कि आप समझ में नहीं आने वाले वोटिंग तकनीक के नीचे बचकर रहें।
3Eden

@ 3rdEden खैर, शायद मेरी टिप्पणी थोड़ी सामान्य थी, लेकिन यहां कुछ नोट्स हैं जिन्हें मैं बनाना चाहता हूं। 1) मैंने नीचा नहीं दिखाया, 2) मेरी टिप्पणी एक कोमल 'आईएमओ' थी, 3) शायद यह सुरक्षा में मेरी पृष्ठभूमि है, लेकिन मैंने सीखा है कि किसी को सीधे दुनिया में 80/443 के लिए एक आवेदन ढांचे को उजागर नहीं करना चाहिए उत्पादन। (प्रदर्शन प्रयोजनों के लिए जब तक)। 4) मैं यह नहीं देखता कि आपकी पोस्ट सामान्य प्रश्न उबंटू आगंतुक के लिए एक 'उत्तर' कैसे है; यह सिर्फ Node.js की तैनाती के एक निश्चित विशिष्ट मामले के लिए बहुत विशिष्ट है।
gertvdijk 13

0

कूरियर के लिए "फिक्स" tls 1.1 और tls 1.2 को निष्क्रिय करता है। 1.1 या उच्चतर tls के साथ कूरियर चलाने का एक तरीका प्रतीत नहीं होता है। आपके सर्वर पर पीसीआई स्कैन सिफारिश के साथ वापस आ सकता है:

SSL / TLS सर्वर कॉन्फ़िगर करें यदि समर्थित हो तो केवल TLS 1.1 या TLS 1.2 का उपयोग करें। SSL / TLS सर्वर को केवल सिफर सुइट्स का समर्थन करने के लिए कॉन्फ़िगर करें जो ब्लॉक सिफर का उपयोग नहीं करते हैं।


-1

चूंकि POODLE भेद्यता प्रोटोकॉल में एक डिज़ाइन दोष है और कार्यान्वयन बग नहीं, कोई पैच नहीं होगा। इसे कम करने का एकमात्र तरीका अपाचे सर्वर में SSLv3 को अक्षम करना है। नीचे की पंक्तियों को ssl.conf में जोड़ें और एक सुंदर अपाचे पुनरारंभ करें।

SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS"

1
आरसी 4 और गैर-कार्यात्मक ईसीडीएसए को शामिल करने के लिए -1, क्योंकि अधिकांश लोगों के पास आरएसए प्रमाणपत्र हैं। कृपया अपने सर्वर को ठीक से कॉन्फ़िगर करने के तरीके के बारे में पढ़ें। wiki.mozilla.org/Security/Server_Side_TLS
gertvdijk

2
@gertvdijk मैं RC4 के बारे में आपसे सहमत हूं, लेकिन इसमें ECDSA सुइट्स को शामिल करने के लिए दुख नहीं है। यह हानिरहित है यदि आपके पास केवल एक आरएसए प्रमाणपत्र है और यदि आप बाद में ईसीडीएसए प्रमाणपत्र प्राप्त करते हैं तो आपको अपने कॉन्फ़िगरेशन को ठीक करने की परेशानी से बचाता है।
मैट नॉर्डहॉफ

@MattNordhoff मेला पर्याप्त है, लेकिन मेरा मतलब है कि नियमित रूप से RSA प्रमाणपत्र आधारित कॉन्फ़िगरेशन के लिए बहुत से सिफर नहीं बचे हैं। यह अधिकांश ब्राउज़रों में काम करेगा, लेकिन किसी को संगतता समस्याओं का सामना करना पड़ सकता है।
gertvdijk

निश्चित रूप से इस सूची से RC4 से छुटकारा पाएं, यह सुरक्षित नहीं है। शेष के साथ रहें यदि आप कर सकते हैं। 3DES कमजोर है, लेकिन मैंने इसे संगतता के लिए एक विशेष स्थान पर बदल दिया है। मैं इसे करने के लिए नफरत करता हूँ क्योंकि यह कमजोर है, लेकिन कम से कम यह वास्तव में टूटा नहीं है ...
ब्रायन नोब्लुच
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.