मैं पूडल एसएसएल 3.0 फॉलबैक हमले के लिए अपनी भेद्यता को कम करने की कोशिश कर रहा हूं । हमारे व्यवस्थापक पहले ही हमारे सर्वरों के लिए इनबाउंड कनेक्शन के लिए टीएलएस के पक्ष में एसएसएल को अक्षम करना शुरू कर चुके हैं। और हमने अपनी टीम को सलाह भी दी है कि वे अपने वेब ब्राउजर में एसएसएल को निष्क्रिय कर दें। मैं अब हमारे .NET कोडबेस को देख रहा हूं, जो System.Net.HttpWebRequest के माध्यम से विभिन्न सेवाओं के साथ HTTPS कनेक्शन शुरू करता है । मेरा मानना है कि ये कनेक्शन एक MITM हमले के लिए असुरक्षित हो सकते हैं यदि वे TLS से SSL तक की गिरावट की अनुमति देते हैं। यहाँ मैंने वही निर्धारित किया है जो अब तक किया है। क्या कोई यह सत्यापित कर सकता है कि मैं सही हूं? यह भेद्यता एकदम नया है, इसलिए मुझे अभी तक Microsoft से कोई भी मार्गदर्शन देखना है कि इसे .NET में कैसे कम किया जाए:
System.Net.Security.SslStream वर्ग के लिए अनुमत प्रोटोकॉल, जो .NET में सुरक्षित संचार को रेखांकित करता है, प्रत्येक AppDomain के लिए System.Net.ServicePointManager.SecurityProtocol संपत्ति के माध्यम से वैश्विक रूप से सेट किया गया है।
.NET 4.5 में इस प्रॉपर्टी का डिफ़ॉल्ट मान है
Ssl3 | Tls
(हालाँकि मैं इसका बैक अप लेने के लिए दस्तावेज़ीकरण नहीं ढूँढ सकता।) SecurityProtocolType फ्लैग्स विशेषता के साथ एक एनम है, इसलिए यह उन दोनों मानों का एक बिटवाइज़ या बिट है। आप इस कोड की लाइन के साथ अपने वातावरण में इसे देख सकते हैं:Console.WriteLine (System.Net.ServicePointManager.SecurityProtocol.ToString ());
इससे पहले कि आप अपने ऐप में किसी भी कनेक्शन को शुरू करें, इसे सिर्फ
Tls
या शायद बदल दिया जाएTls12
:System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls;
महत्वपूर्ण: चूंकि संपत्ति कई बिटवाइज़ फ़्लैग का समर्थन करती है, मेरा मानना है कि SslStream हैंडशेक के दौरान अन्य अनिर्दिष्ट प्रोटोकॉल में स्वचालित रूप से वापस नहीं आएगा । अन्यथा, कई झंडे का समर्थन करने का क्या मतलब होगा?
TLS 1.0 बनाम 1.1 / 1.2 पर अपडेट करें:
Google सुरक्षा विशेषज्ञ एडम लैंगली के अनुसार, TLS 1.0 को बाद में POODLE के लिए असुरक्षित पाया गया , यदि इसे सही तरीके से लागू नहीं किया गया है , तो आपको TLS 1.2 पर विशेष रूप से जाने पर विचार करना चाहिए।
.NET फ्रेमवर्क 4.7 और इसके बाद के संस्करण के लिए अपडेट करें:
नीचे के रूप में प्रो। वॉन लेमोन्गर्ल द्वारा आवंटित किया गया। .NET फ्रेमवर्क के संस्करण 4.7 के साथ शुरू, इस हैक का उपयोग करने की कोई आवश्यकता नहीं है क्योंकि डिफ़ॉल्ट सेटिंग ओएस को सबसे सुरक्षित टीएलएस प्रोटोकॉल संस्करण चुनने की अनुमति देगा। देखें ट्रांसपोर्ट लेयर सिक्योरिटी (TLS) .नेट फ्रेमवर्क के साथ सर्वोत्तम प्रथाओं और जानकारी के लिए।