IIS पर, मैं SSL 3.0 POODLE भेद्यता (CVE-2014-3566) को कैसे पैच करूँ?


53

मैं IIS चल रहे Windows Server 2012 सिस्टम पर CVE-2014-3566 को कैसे पैच करूं ?

क्या Windows अद्यतन में कोई पैच है, या मुझे SSL 3.0 को अक्षम करने के लिए रजिस्ट्री परिवर्तन करना है ?


1
वहाँ एक है माइक्रोसॉफ्ट इसे ठीक 50,495 एमएस KB पेज से लिंक पर।
मैटबियानको

3
मैंने विंडोज 2008 पर इसे फिक्स 50495 चलाने की कोशिश की, और यह त्रुटि के साथ विफल रहा "यह Microsoft फिक्स यह आपके ऑपरेटिंग सिस्टम या सिस्टम संस्करण पर लागू नहीं होता है।" ओह अच्छा।
जोश

जवाबों:


58

कोई "पैच" नहीं है। यह प्रोटोकॉल में भेद्यता है, कार्यान्वयन में बग नहीं।

Windows Server 2003 से 2012 R2 में एसएसएल / टीएलएस प्रोटोकॉल रजिस्ट्री सेट में झंडे द्वारा नियंत्रित किए जाते हैं HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols

SSLv3 को अक्षम करने के लिए, जो POODLE भेद्यता से चिंतित है, उपरोक्त स्थान पर एक उपकुंजी बनाएं (यदि यह पहले से मौजूद नहीं है) नाम दिया गया है SSL 3.0और, इसके तहत, एक उपकुंजी नाम Server(यदि यह पहले से मौजूद नहीं है)। इस स्थान पर ( HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\SSL 3.0\Server) नामक एक DWORD मान बनाएँ Enabledऔर इसे सेट पर छोड़ दें 0

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

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


3
विंडोज सर्वर 2012 पर रीबूट आवश्यक नहीं है। poodlebleed.com पर अपने URL से पहले और बाद में सत्यापित कर सकते हैं और SSL पोर्ट के लिए 443
सिमोन

धन्यवाद, क्या आप जानते हैं कि क्या मुझे पीसीटी को अक्षम करना चाहिए क्योंकि इसके कथित रूप से डिफ़ॉल्ट रूप से अक्षम किया गया है और अभी तक इस तरह से अक्षम नहीं किया गया है?
मार्क ब्रॉडहर्स्ट

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

मैं ऐसा नहीं मानता। मैं मान रहा हूँ कि आप आईस और मेरे अपाचे का उपयोग कर रहे हैं और आपने उस वेबसाइट की जाँच की। और आपको यकीन है कि आपके पास सटीक सही रजिस्ट्री कुंजी है?
साइमन

* अपाचे नहीं (मुझे नहीं पता कि 'माई अपाचे' कहां से आया!)
साइमन

24

बस स्थापना में आसानी के लिए मैंने ऊपर दिए गए इवान के उत्तर से यह "अक्षम ssl 2 और 3.reg" फ़ाइल प्राप्त की :

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server]
"Enabled"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server]
"Enabled"=dword:00000000

12

SSL2 और SSL3 को अक्षम करने का अधिकार:

2..3 | %{ New-ItemProperty -Path "HKLM:SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL $_.0\Server" -Name Enabled -PropertyType "DWORD" -Value 0 -Force }

दुर्भाग्य से उपरोक्त केवल तभी काम करता है यदि रजिस्ट्री उपकुंजी पहले से मौजूद हैं। पीएस को देखना अच्छा होगा जो उन्हें पैदा कर सकता है यदि मौजूद नहीं है या यदि वे करते हैं तो उन्हें अपडेट करें।
जैन्स

क्या आपको यकीन है? मेरा उन्हें मेरे लिए बनाता है। यह
पॉवर्सशेल

2
Yup ... स्क्रीनशॉट अपलोड करें देखें: i.imgur.com/rctFH4D.png PS 3.0 और WSMan 3.0 का उपयोग करना।
जान्स


8

यहां एक PowerShell है जो रजिस्ट्री कुंजियों की उपस्थिति के लिए परीक्षण करेगा, यदि आवश्यक हो तो उन्हें बना सकता है, और फिर SSL 2.0 और SSL 3.0 को अक्षम करने के लिए आवश्यक मान दर्ज करें

$regPath1 = 'HKLM:SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\SSL 2.0'
$regPath2 = 'HKLM:SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\SSL 2.0\Server'
$regPath3 = 'HKLM:SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\SSL 3.0'
$regPath4 = 'HKLM:SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\SSL 3.0\Server'


If(!(Test-Path -Path $regPath1))
{
New-Item -Path $regPath1 -Force
}

If(!(Test-Path $regPath2))
{
New-Item -Path $regPath2 -Force
}
   New-ItemProperty -Path $regPath2 -Name DisabledByDefault -PropertyType DWORD -Value "1" -Force
   New-ItemProperty -Path $regPath2 -Name Enabled -PropertyType DWORD -Value "0" -Force 

If(!(Test-Path $regPath3))
{
New-Item -Path $regPath3 -Force
}

If(!(Test-Path $regPath4))
{
New-Item -Path $regPath4 -Force
}
   New-ItemProperty -Path $regPath4 -Name DisabledByDefault -PropertyType DWORD -Value "1" -Force
   New-ItemProperty -Path $regPath4 -Name Enabled -PropertyType DWORD -Value "0" -Force

इसे SCCM या कमांड लाइन का उपयोग करके तैनात किया जा सकता है - बस SCCM जॉब या कमांड लाइन को प्रशासक के रूप में चलाना सुनिश्चित करें। रजिस्ट्री जानकारी वाली कुछ वेबसाइट दर्शाती हैं कि रजिस्ट्री कुंजियाँ बनाने और / या संशोधित करने के बाद रिबूट की आवश्यकता होती है।


4

या IISCrypto की एक प्रति पकड़ो और सर्वोत्तम प्रथाओं बटन पर क्लिक करें, फिर SSL 3.0 को अनचेक करें और फिर लागू करें, फिर रिबूट करें


3

आपको SSL3 को अक्षम करने की आवश्यकता नहीं है। आप एसएसएल 3 को सक्षम कर सकते हैं और पाले को कम कर सकते हैं ।

# Copy and paste this in PowerShell then restart your server
$cipherSuitesOrder = @(
    'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256',
    'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P384',
    'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256',
    'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P384',
    'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256',
    'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384',
    'TLS_RSA_WITH_AES_128_CBC_SHA256',
    'TLS_RSA_WITH_AES_128_CBC_SHA',
    'TLS_RSA_WITH_AES_256_CBC_SHA256',
    'TLS_RSA_WITH_AES_256_CBC_SHA',
    'TLS_RSA_WITH_RC4_128_SHA',
    'TLS_RSA_WITH_3DES_EDE_CBC_SHA',
    'TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P256',
    'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P256',
    'TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P384',
    'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384_P384',
    'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P256',
    'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P384',
    'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P256',
    'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P384'
)
$cipherSuitesAsString = [string]::join(',', $cipherSuitesOrder)
New-ItemProperty -path 'HKLM:\SOFTWARE\Policies\Microsoft\Cryptography\Configuration\SSL\00010002' \
-name 'Functions' -value $cipherSuitesAsString -PropertyType 'String' -Force | Out-Null

इन सेटिंग्स के साथ आपके पास अभी भी IE6 समर्थन होगा (SSL4 के साथ RC4 का उपयोग करके) और स्वीकार्य कॉन्फ़िगरेशन सुरक्षा की तुलना में अधिक है। केवल IE6 और वास्तव में पुराने ग्राहक SSLv3 या RC4 सिफर का उपयोग करेंगे।


3

एक अच्छी PowerShell स्क्रिप्ट है जो IIS 7.5 और 8 कॉन्फ़िगरेशन के साथ मदद करती है:

यह पॉवरशेल स्क्रिप्ट आपके Microsoft इंटरनेट सूचना सर्वर 7.5 और 8.0 (IIS) को TLS 1.1 और TLS 1.2 प्रोटोकॉल को फॉरवर्ड सिक्योरिटी के साथ सेटअप करती है। इसके अतिरिक्त यह असुरक्षित SSL2 और SSL3 और सभी असुरक्षित और कमजोर सिफर को अक्षम करके आपके एसएसएल कनेक्शनों की सुरक्षा को बढ़ाता है, जो कि एक ब्राउज़र भी गिर सकता है। यह स्क्रिप्ट मौजूदा सर्वोत्तम अभ्यास नियमों को लागू करती है।

https://www.hass.de/content/setup-your-iis-ssl-perfect-forward-secrecy-and-tls-12


हम्म, यकीन नहीं कि यह क्यों वोट दिया गया था। मैंने स्वयं उस उपयोगिता का उपयोग किया और यह पूरी तरह से काम करता है।
डेविड थॉमस

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