IIS에서 SSL 3.0 POODLE 취약점 (CVE-2014-3566)을 어떻게 패치합니까? 어떻게 패치 합니까? Windows Update에 패치가 있습니까?

IIS를 실행하는 Windows Server 2012 시스템에서 CVE-2014-3566 을 어떻게 패치 합니까?

Windows Update에 패치가 있습니까? 아니면 SSL 3.0을 비활성화하려면 레지스트리를 변경해야 합니까?



답변

“패치”가 없습니다. 구현상의 버그가 아니라 프로토콜의 취약성입니다.

Windows Server 2003 ~ 2012 R2에서 SSL / TLS 프로토콜은 레지스트리 세트의 플래그로 제어됩니다 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols.

POODLE 취약점과 관련된 SSLv3을 비활성화하려면 위의 위치 (아직없는 경우)에 하위 키를 만들고 그 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것은 위의 레지스트리 경로에 이름이 지정된 키를 사용한다는 점을 제외하고는 같은 방식으로 수행됩니다 .

모든 버전을 테스트하지는 않았지만이 변경 사항을 적용하려면 재부팅이 필요하다고 가정하는 것이 안전하다고 생각합니다.


답변

설치를 쉽게하기 위해 위의 Evan의 답변 에서이 “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

답변

SSL2 및 SSL3을 비활성화하는 Powershell :

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

답변

프로토콜을 비활성화하는 데 사용할 수있는 Nartac의 무료 유틸리티가 있습니다.

https://www.nartac.com/Products/IISCrypto/Default.aspx


답변

레지스트리 키가 있는지 테스트하고 필요한 경우 키를 만든 다음 SSL 2.0 및 SSL 3.0을 비활성화하는 데 필요한 값을 입력하는 PowerShell이 ​​있습니다.

$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 작업 또는 명령 줄을 관리자 권한으로 실행하십시오. 레지스트리 정보가있는 일부 웹 사이트는 레지스트리 키를 생성 및 / 또는 수정 한 후 재부팅해야 함을 나타냅니다.


답변

또는 IISCrypto 사본을 잡고 모범 사례 버튼을 클릭 한 다음 SSL 3.0을 선택 취소하고 적용한 다음 재부팅하십시오.


답변

SSL3을 비활성화 할 필요는 없습니다. SSL3을 활성화하고 POODLE을 완화시킬 수 있습니다.

# 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 지원 (RC4를 사용하는 SSLv3 사용)이 가능하며 구성 보안 수준이 현명합니다. IE6 및 실제로 오래된 클라이언트 만 SSLv3 또는 RC4 암호를 사용합니다.