Configurar o TLS 1.2 para VMM
Este artigo descreve como configurar o protocolo TLS (Transport Security Layer) versão 1.2 com o servidor VMM (Virtual Machine Manager) do System Center.
Observação
O Virtual Machine Manager usará o protocolo configurado no nível do sistema operacional. Por exemplo, se o TLS 1.0, o TLS 1.1 e o TLS 1.2 estiverem habilitados no nível do sistema operacional, o Virtual Machine Manager selecionará um dos três protocolos na seguinte ordem de preferência:
- TLS versão 1.2
- Versão do TLS 1.1
- TLS versão 1.0
O SSP Schannel seleciona o protocolo de autenticação preferencial que o cliente e o servidor podem dar suporte.
Antes de começar
- O VMM deve estar executando o VMM 2016 com o Pacote Cumulativo de Atualizações 4 ou posterior.
- As correções de segurança devem estar atualizadas no servidor do VMM e no servidor que executa o banco de dados do VMM.
- O servidor VMM deve estar executando o .NET versão 4.6. Siga estas instruções para determinar qual versão do .NET está instalada.
- Para trabalhar com o TLS 1.2, os componentes do System Center geram certificados autoassinados SHA1 ou SHA2. Se forem usados certificados SSL de uma autoridade de certificação, eles deverão usar SHA1 ou SHA2.
Instalar uma atualização do SQL Server para suporte ao TLS 1.2
- Abra o KB 3135244.
- Baixe e instale a atualização para sua versão do SQL Server.
- Você não precisará dessa atualização se estiver executando o SQL Server 2016.
- O SQL Server 2008 R2 não oferece suporte ao TLS 1.2.
Configurar o servidor VMM para usar o TLS 1.2
Desative todos os protocolos SCHANNEL, exceto o TLS 1.2.
Modificar manualmente o registro
- Abra o Editor do Registro e navegue até HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols.
- Clique com o botão direito do mouse em Protocolo, selecione Nova>chave. Digite a tecla e pressione Enter. Execute este procedimento para criar as seguintes chaves:
- SSL3
- TLS 1.0
- TLS 1.1
- TLS 1.2
- Depois de criar essas chaves, você precisa criar as chaves Cliente e Servidor sob elas.
- Para SSL3, selecione Nova>chave. Digite Cliente e pressione Enter. Novamente, para SSL3, selecione Nova>Chave novamente. Em seguida, entre em Servidor e pressione Enter.
- Repita a ação para criar as chaves Cliente e Servidor em TLS 1.0, TLS 1.1 e TLS 1.2.
- Depois de criar as chaves do Cliente e do Servidor, você precisará criar valores de DWORD sob elas, para habilitar e desabilitar os protocolos. Faça isso da seguinte maneira:
- Habilite o protocolo TLS 1.2. Para fazer isso, no TLS 1.2, na chave Client, crie o valor DWORD DisabledByDefault e defina o valor como 0. Agora crie um valor DWORD Enabled e defina o valor como 1. Crie os mesmos valores DWORD na chave do servidor .
- Agora desative os outros protocolos. Para fazer isso, em SSL3, TLS 1.0 e TLS 1.1, na chave Client, crie o valor DWORD DisabledByDefault e defina o valor como 1. Agora crie um valor DWORD Enabled e defina o valor como 0. Crie os mesmos valores DWORD na chave do servidor .
Modificar o registro com um script do PowerShell
Em vez de modificar os valores do Registro manualmente, você pode usar o script do PowerShell a seguir.
$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
Configurar o VMM para usar o TLS 1.2
- Abra o editor do Registro no servidor VMM. Navegue até HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ . NetFramework \ v4.0.30319.
- Crie o valor DWORD SchUseStrongCrypto e defina o valor como 1.
- Navegue até HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft
. NetFramework \ v4.0.30319. - Nesse local, crie o mesmo valor DWORD SchUseStrongCrypto e defina o valor como 1.
- Reinicie o servidor para que as configurações entrem em vigor.
Modificar o registro com um script do PowerShell
Você pode modificar as configurações do Registro usando o script do PowerShell a seguir.
# 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
Próximas etapas
Saiba mais sobre o protocolo TLS 1.2.