次の方法で共有


VMM の TLS を設定する

この記事では、System Center - Virtual Machine Manager (VMM) サーバーを使用してトランスポート セキュリティ層 (TLS) プロトコル バージョン 1.2 を設定する方法について説明します。

Note

Virtual Machine Manager では、オペレーティング システム レベルで構成されたプロトコルが使用されます。 たとえば、TLS 1.0、TLS 1.1、TLS 1.2 がオペレーティング システム レベルで有効になっている場合、Virtual Machine Manager は、次の順序で 3 つのプロトコルのいずれかを選択します。

  1. TLS バージョン 1.2
  2. TLS バージョン 1.1
  3. TLS バージョン 1.0

次に、Schannel SSP によって、クライアントとサーバーがサポートできる最も優先順位の高い認証プロトコルが選択されます。

開始する前に

  • VMM サーバーと VMM データベースを実行しているサーバーで、セキュリティ修正プログラムを最新の状態にする必要があります。
  • VMM サーバーで .NET バージョン 4.6 が実行されている必要があります。 これらの手順 従って インストールされている .NET のバージョンを確認します。
  • TLS 1.2 を使用するには、System Center コンポーネントによって SHA1 または SHA2 自己署名証明書が生成されます。 証明機関 (CA) 証明書の SSL 証明書を使用する場合は、SHA1 または SHA2 を使用する必要があります。

TLS 1.2 サポート用の SQL Server 更新プログラムをインストールする

  1. KB 3135244を開きます。
  2. SQL Server バージョンの更新プログラム ダウンロードしてインストールします。
    • SQL Server 2016 を実行している場合は、この更新プログラムは必要ありません。
    • SQL Server 2008 R2 では、TLS 1.2 はサポートされていません。

TLS 1.2 を使用するように VMM サーバーを構成する

TLS 1.2 を除くすべての SCHANNEL プロトコルを無効にします。

レジストリを手動で変更する

  1. レジストリ エディターを開き、HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols に移動します。
  2. Protocolを右クリックし、New>Key を選択します。 キーを入力し、Enter キーを押します。 次のキーを作成するには、次の手順を実行します。
    • SSL3
    • TLS 1.0
    • TLS 1.1
    • TLS 1.2
  3. これらのキーを作成したら、その下に Client および Server キーを作成する必要があります。
    • SSL3 では、New>Key を選択します。 「 Client」と入力し Enter キーを押します。 ここでも、 SSL3 の場合は、もう一度 New>Key を選択します。 次に、「 Server 」と入力し、 Enter キーを押します。
    • このアクションを繰り返して、TLS 1.0、TLS 1.1、および TLS 1.2 の下に Client および Server キーを作成
  4. [クライアント][サーバー] のキーを作成したら、プロトコルを有効および無効にするために、その下に DWORD 値を作成する必要があります。 これを行うには、次のようにします。
    • TLS 1.2 プロトコルを有効にします。 これを行うには、 TLS 1.2 で、 Client キーの下に DWORD 値 DisabledByDefault を作成し、値を 0 に設定します。 次に、DWORD 値 Enabled を作成し、値を 1 に設定します。 Server キーの下に同じ DWORD 値を作成します。
    • 次に、他のプロトコルを無効にします。 これを行うには、 SSL3TLS 1.0 、および TLS 1.1 で、 Client キーの下に DWORD 値 DisabledByDefault を作成し、値を 1 に設定します。 次に、DWORD 値 Enabled を作成し、値を 0 に設定します。 Server キーの下に同じ DWORD 値を作成します。

PowerShell スクリプトを使用してレジストリを変更する

レジストリ値を手動で変更する代わりに、次の PowerShell スクリプトを使用できます。

$ProtocolList       = @("SSL 2.0", "SSL 3.0", "TLS 1.0", "TLS 1.1", "TLS 1.2")
$ProtocolSubKeyList = @("Client", "Server")
$DisabledByDefault  = "DisabledByDefault"
$registryPath       = "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\"

foreach ($Protocol in $ProtocolList)
{
	foreach ($key in $ProtocolSubKeyList)
	{
		$currentRegPath = $registryPath + $Protocol + "\" + $key
		Write-Output "Current Registry Path: `"$currentRegPath`""

		if (!(Test-Path $currentRegPath))
		{
			Write-Output " `'$key`' not found: Creating new Registry Key"
			New-Item -Path $currentRegPath -Force | out-Null
		}
		if ($Protocol -eq "TLS 1.2")
		{
			Write-Output " Enabling - TLS 1.2"
			New-ItemProperty -Path $currentRegPath -Name $DisabledByDefault -Value "0" -PropertyType DWORD -Force | Out-Null
			New-ItemProperty -Path $currentRegPath -Name 'Enabled' -Value "1" -PropertyType DWORD -Force | Out-Null
		}
		else
		{
			Write-Output " Disabling - $Protocol"
			New-ItemProperty -Path $currentRegPath -Name $DisabledByDefault -Value "1" -PropertyType DWORD -Force | Out-Null
			New-ItemProperty -Path $currentRegPath -Name 'Enabled' -Value "0" -PropertyType DWORD -Force | Out-Null
		}
		Write-Output " "
	}
}

Exit 0

TLS 1.2 を使用するように VMM を構成する

  1. VMM サーバーでレジストリ エディターを開きます。 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ に移動します。NetFramework\v4.0.30319
  2. DWORD 値 SchUseStrongCryptoを作成し、値を 1 に設定します。
  3. 次に、HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft に移動します
    .NetFramework\v4.0.30319
  4. この場所で、同じ DWORD 値 SchUseStrongCrypto を作成し、値を 1 に設定します。
  5. 設定を有効にするには、サーバーを再起動します。

PowerShell スクリプトを使用してレジストリを変更する

レジストリ設定は、次の PowerShell スクリプトを使用して変更できます。

# Tighten up the .NET Framework
$NetRegistryPath = "HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319"
New-ItemProperty -Path $NetRegistryPath -Name "SchUseStrongCrypto" -Value "1" -PropertyType DWORD -Force | Out-Null

$NetRegistryPath = "HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319"
New-ItemProperty -Path $NetRegistryPath -Name "SchUseStrongCrypto" -Value "1" -PropertyType DWORD -Force | Out-Null

次のステップ

TLS 1.2 プロトコルの詳細については を参照してください。