web-dev-qa-db-ja.com

IISでは、SSL 3.0 POODLEの脆弱性(CVE­-2014­-3566)にどのようにパッチを適用しますか?

IISを実行しているWindows Server 2012システムで CVE­-2014­-3566 にパッチを適用するにはどうすればよいですか?

Windows Updateにパッチはありますか、またはSSL 3.0を無効にするためにレジストリ変更 を行う必要がありますか

53
Eric Lathrop

「パッチ」はありません。これはプロトコルの脆弱性であり、実装のバグではありません。

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)で、Enabledという名前のDWORD値を作成し、0のままにします。

SSL 2.0の無効化も同じように行う必要がありますが、上記のレジストリパスでSSL 2.0という名前のキーを使用する点が異なります。

私はすべてのバージョンをテストしたわけではありませんが、この変更を有効にするには再起動が必要であると想定してもおそらく安全だと思います。

58
Evan Anderson

インストールを簡単にするために、この「disable ssl 2 and 3.reg」ファイルを 上記のEvanの回答 から導き出しました。

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
24
Eric Lathrop

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 }
12
Vasili Syrakis

プロトコルを無効にするために使用できるNartacの無料ユーティリティがあります。

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

9
DrundoSoft

以下は、レジストリキーの存在をテストし、必要に応じて作成し、必要な値を入力して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ジョブまたはコマンドラインを管理者として実行してください。レジストリ情報がある一部のWebサイトでは、レジストリキーが作成または変更された後、再起動が必要です。

8
Kazi

またはIISCryptoのコピーを取得して[ベストプラクティス]ボタンをクリックし、SSL 3.0をオフにして適用してから再起動します

4
Tom

SSL3を無効にする必要はありません。 SSL3を有効にしてPOODLE mitigatedにすることができます。

# 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のサポート(SSLv3でRC4を使用)が可能であり、構成のセキュリティは許容範囲を超えています。 IE6と本当に古いクライアントだけがSSLv3またはRC4暗号を使用します。

3

IIS 7.5&8の設定に役立つ優れたPowerShellスクリプトがあります。

このPowerShellスクリプトは、Microsoft Internet Information Server 7.5および8.0(IIS)をセットアップして、TLS 1.1およびTLS 1.2プロトコルをサポートし、転送秘密をサポートします。さらに、安全でないSSL2とSSL3、およびブラウザーもフォールバックする可能性のあるすべての安全でない弱い暗号を無効にすることにより、SSL接続のセキュリティを強化します。このスクリプトは、現在のベストプラクティスルールを実装しています。

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

3
David Thomas