Implementar o Transport Layer Security 1.2
Este artigo descreve como permitir que o System Center Operations Manager utilize o TLS (Transport Layer Security) 1.2.
Observação
O Operations 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 estão habilitados no nível do sistema operacional, o Operations 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.
Execute as seguintes etapas para implementar o protocolo TLS versão 1.2 no Operations Manager:
Observação
O Microsoft OLE DB Driver 18 para SQL Server (recomendado) tem suporte com o Operations Manager 2016 UR9 e posterior.
- Instale o SQL Server 2012 Native Client 11.0 ou o Microsoft OLE DB Driver (x64) em todos os servidores de gerenciamento e no servidor do console Web.
- Instale o Microsoft ODBC Driver (x64) em todos os servidores de gerenciamento e no servidor do console Web.
- Instale a atualização necessária do SQL Server que dá suporte ao TLS 1.2.
- Instale um mínimo do Pacote Cumulativo de Atualizações 4 para o SCOM 2016 em todos os componentes.
- Verifique se os servidores têm um .NET 4.6 mínimo instalado como compatível com seu sistema operacional: versões e dependências do .NET Framework
- Não instale o .NET 4.8, pois houve problemas conhecidos com incompatibilidades do SCOM 2016.
- Configure o Windows para usar apenas o TLS 1.2.
- Configure o .NET para utilizar o TLS 1.2 por padrão.
- Configure os Serviços de Coleta de Auditoria, se instalados.
- Instale o Microsoft OLE DB Driver for SQL versão 18.7.4 em todos os servidores de gerenciamento e no servidor do console Web.
- Instale o Microsoft ODBC Driver for SQL versão 17.10.6 em todos os servidores de gerenciamento e no servidor do console Web.
- Configure o Windows para usar apenas o TLS 1.2.
- Configure o .NET para utilizar o TLS 1.2 por padrão.
- Configure os Serviços de Coleta de Auditoria, se instalados.
Observação
Se estiver utilizando a criptografia de conexão do SQL Server, você precisará instalar estas versões de driver:
- Driver 19 do Microsoft OLE DB: https://aka.ms/downloadmsoledbsql
- Driver ODBC 18 da Microsoft: https://aka.ms/downloadmsodbcsql
Mais informações sobre como configurar a criptografia de conexão SQL podem ser encontradas aqui: Configurar o Mecanismo de Banco de Dados do SQL Server para criptografar conexões
O Operations Manager gera certificados autoassinados SHA1 e SHA2. Isso é necessário para habilitar o TLS 1.2. Se certificados assinados por CA forem usados, verifique se os certificados são SHA1 ou SHA2.
Observação
Se suas políticas de segurança restringirem o TLS 1.0 e 1.1, a instalação de um novo servidor de gerenciamento, servidor de gateway, console Web e função do Reporting Services do Operations Manager 2016 falhará porque a mídia de instalação não inclui as atualizações para dar suporte ao TLS 1.2. A única maneira de instalar essas funções é habilitando o TLS 1.0 no sistema, aplicando o Pacote Cumulativo de Atualizações 4 e, em seguida, habilitando o TLS 1.2 no sistema. Essa limitação não se aplica ao Operations Manager versão 1801.
Configurar o sistema operacional Windows para usar apenas o protocolo TLS 1.2
Use um dos métodos a seguir para configurar o Windows para usar apenas o protocolo TLS 1.2.
Método 1: modificar o Registro manualmente
Importante
Siga as etapas nesta seção com cuidado. Problemas sérios podem ocorrer se você modificar o Registro incorretamente. Antes de modificá-lo, faça backup do Registro para a restauração em caso de problemas.
Use as etapas a seguir para ativar/desativar todos os protocolos SCHANNEL em todo o sistema. Recomendamos que você habilite o protocolo TLS 1.2 para todas as comunicações de entrada e de saída.
Observação
Fazer essas alterações no Registro não afeta o uso de protocolos Kerberos ou NTLM.
Faça login no servidor usando uma conta que tenha credenciais administrativas locais.
Inicie o Editor do Registro selecionando e segurando Iniciar, insira regedit na caixa de texto Executar e selecione OK.
Localize a seguinte subchave do Registro:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
Crie uma subchave em Protocolos para:
- SSL 2.0
- SSL 3.0
- TLS 1.0
- TLS 1.1
- TLS 1.2.
Crie uma subchave Cliente e Servidor em cada subchave de versão de protocolo criada anteriormente. Por exemplo, a subchave para TLS 1.0 seria
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server
Para desabilitar cada protocolo, crie os seguintes valores DWORD em Servidor e Cliente:
- Habilitado [Valor = 0]
- DisabledByDefault [Valor = 1]
Para habilitar o protocolo TLS 1.2, crie as seguintes chaves do Registro:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server
:
Em seguida, crie os seguintes valores DWORD em Servidor e Cliente:
- Habilitado [Valor = 1]
- DisabledByDefault [Valor = 0]
Feche o Editor do Registro.
Método 2: modificar o Registro automaticamente
Execute o seguinte script do Windows PowerShell como Administrador para configurar automaticamente o sistema operacional Windows para usar apenas o protocolo TLS 1.2:
$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 " "
}
Configurar o .NET Framework para usar apenas o TLS 1.2
O .NET normalmente exige que o aplicativo defina qual protocolo TLS usar para comunicação, no caso do SCOM, no entanto, precisaremos informar ao .NET em todo o sistema qual protocolo usar.
Depois de concluir a configuração de todos os pré-requisitos do Operations Manager, execute as etapas a seguir em todos os servidores de gerenciamento, no servidor que hospeda a função de console Web e em qualquer computador Windows em que o agente esteja instalado.
Importante
Siga as etapas nesta seção com cuidado. Problemas sérios podem ocorrer se você modificar o Registro incorretamente. Antes de fazer qualquer modificação, faça backup do registro para restauração caso ocorram problemas.
Observação
O SCOM em execução no sistema operacional Windows 2012 precisa de alterações adicionais para usar o TLS 1.2 sobre HTTP para monitoramento UNIX/LINUX. Para habilitar o TLS 1.2 como protocolos de segurança padrão no WinHTTP no Windows, as seguintes alterações precisam ser feitas de acordo com a atualização para habilitar o TLS 1.1 e o TLS 1.2 como protocolos seguros padrão no WinHTTP no Windows.
- Instale KB3140245 nos servidores de gerenciamento/gateways no pool de recursos UNIX/LINUX.
- Faça backup dos registros modificados conforme mencionado no artigo da base de dados.
- Faça download e execute a ferramenta Easy Fix nos Servidores/Gateways de Gerenciamento no UNIX/LINUX Resource Pool.
- Reinicialize os servidores.
Modificar manualmente o registro
- Abra o Editor do Registro
- Localize a seguinte subchave do Registro:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727
- Crie os seguintes pares de valores DWORD:
- SchUseStrongCrypto [Valor = 1]
- SystemDefaultTlsVersions [Valor = 1]
- Crie os seguintes pares de valores DWORD:
- Localize a seguinte subchave do Registro:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v2.0.50727
- Crie os seguintes pares de valores DWORD:
- SchUseStrongCrypto [Valor = 1]
- SystemDefaultTlsVersions [Valor = 1]
- Crie os seguintes pares de valores DWORD:
- Localize a seguinte subchave do Registro:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319
- Crie os seguintes pares de valores DWORD:
- SchUseStrongCrypto [Valor = 1]
- SystemDefaultTlsVersions [Valor = 1]
- Crie os seguintes pares de valores DWORD:
- Localize a seguinte subchave do Registro:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319
- Crie os seguintes pares de valores DWORD:
- SchUseStrongCrypto [Valor = 1]
- SystemDefaultTlsVersions [Valor = 1]
- Crie os seguintes pares de valores DWORD:
- Reinicie o sistema para que as configurações entrem em vigor.
Modificar automaticamente o registro
Execute o seguinte script do Windows PowerShell no modo Administrador para configurar automaticamente o .NET Framework para evitar dependências do TLS 1.0 herdadas da estrutura:
# Tighten up the .NET Framework
$NetRegistryPath1 = "HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v2.0.50727"
New-ItemProperty -Path $NetRegistryPath1 -Name "SchUseStrongCrypto" -Value "1" -PropertyType DWORD -Force | Out-Null
New-ItemProperty -Path $NetRegistryPath1 -Name "SystemDefaultTlsVersions" -Value "1" -PropertyType DWORD -Force | Out-Null
$NetRegistryPath2 = "HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319"
New-ItemProperty -Path $NetRegistryPath2 -Name "SchUseStrongCrypto" -Value "1" -PropertyType DWORD -Force | Out-Null
New-ItemProperty -Path $NetRegistryPath2 -Name "SystemDefaultTlsVersions" -Value "1" -PropertyType DWORD -Force | Out-Null
$NetRegistryPath3 = "HKLM:\SOFTWARE\Microsoft\.NETFramework\v2.0.50727"
New-ItemProperty -Path $NetRegistryPath3 -Name "SchUseStrongCrypto" -Value "1" -PropertyType DWORD -Force | Out-Null
New-ItemProperty -Path $NetRegistryPath3 -Name "SystemDefaultTlsVersions" -Value "1" -PropertyType DWORD -Force | Out-Null
$NetRegistryPath4 = "HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319"
New-ItemProperty -Path $NetRegistryPath4 -Name "SchUseStrongCrypto" -Value "1" -PropertyType DWORD -Force | Out-Null
New-ItemProperty -Path $NetRegistryPath4 -Name "SystemDefaultTlsVersions" -Value "1" -PropertyType DWORD -Force | Out-Null
Configurações adicionais
Se isso estiver sendo implementado para o System Center 2016 – Operations Manager, depois de aplicar o Pacote Cumulativo de Atualizações 4, certifique-se de importar os pacotes de gerenciamento incluídos nesse pacote cumulativo localizado no seguinte diretório: \Arquivos de Programas\Microsoft System Center 2016\Operations Manager\Server\Pacotes de Gerenciamento para Pacotes Cumulativos de Atualizações.
Se você estiver monitorando uma versão compatível do servidor Linux com o Operations Manager, siga as instruções do site adequado para a sua distribuição a fim de configurar o TLS 1.2.
Serviços de Coleta de Auditoria
Para os Serviços de Coleta de Auditoria (ACS), você deve fazer alterações adicionais no registro no servidor do Coletor ACS. O ACS usa o DSN para fazer conexões com o banco de dados. Você deve atualizar as configurações de DSN para torná-las funcionais para o TLS 1.2.
Faça login no servidor usando uma conta que tenha credenciais administrativas locais.
Inicie o Editor do Registro selecionando e segurando Iniciar, insira regedit na caixa de texto Executar e selecione OK.
Localize a seguinte subchave ODBC para OpsMgrAC:
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC
.Observação
O nome padrão do DSN é OpsMgrAC.
Na subchave Fontes de Dados ODBC, selecione o nome DSN OpsMgrAC. Ele contém o nome do driver ODBC a ser usado para a conexão com o banco de dados. Se você tiver o ODBC 11.0 instalado, altere esse nome para ODBC Driver 11 para SQL Server ou, se tiver o ODBC 13.0 instalado, altere esse nome para ODBC Driver 13 para SQL Server.
Na subchave OpsMgrAC, atualize o driver para a versão ODBC instalada.
- Se o ODBC 11.0 estiver instalado, altere a entrada do driver para
%WINDIR%\system32\msodbcsql11.dll
. - Se o ODBC 13.0 estiver instalado, altere a entrada do driver para
%WINDIR%\system32\msodbcsql13.dll
. - Se o ODBC 17.0 estiver instalado, altere a entrada do driver para
%WINDIR%\system32\msodbcsql17.dll
. - Se o ODBC 18.0 estiver instalado, altere a entrada do driver para
%WINDIR%\system32\msodbcsql18.dll
.
- Se o ODBC 11.0 estiver instalado, altere a entrada do driver para
Arquivo do registro
Como alternativa, crie e salve o seguinte arquivo .reg no Bloco de Notas ou em outro editor de texto. Para executar o arquivo .reg salvo, clique duas vezes no arquivo.
Para ODBC 11.0, 13.0, 17.x ou 18.x. Crie o seguinte ODBC.reg de arquivo e (substitua pela versão ODBC que está sendo usada):
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources] "OpsMgrAC"="ODBC Driver 18 for SQL Server" [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC] "Driver"="%WINDIR%\system32\msodbcsql18.dll"
PowerShell
Como alternativa, você pode executar os seguintes comandos do PowerShell para automatizar a alteração.
Para ODBC 11.0, execute os seguintes comandos do PowerShell:
New-ItemProperty -Path "HKLM:\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC" -Name "Driver" -Value "%WINDIR%\system32\msodbcsql11.dll" -PropertyType STRING -Force | Out-Null New-ItemProperty -Path "HKLM:\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources" -Name "OpsMgrAC" -Value "ODBC Driver 11 for SQL Server" -PropertyType STRING -Force | Out-Null
Para ODBC 13.0, execute os seguintes comandos do PowerShell:
New-ItemProperty -Path "HKLM:\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC" -Name "Driver" -Value "%WINDIR%\system32\msodbcsql13.dll" -PropertyType STRING -Force | Out-Null New-ItemProperty -Path "HKLM:\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources" -Name "OpsMgrAC" -Value "ODBC Driver 13 for SQL Server" -PropertyType STRING -Force | Out-Null
Serviços de Coleta de Auditoria
Para os Serviços de Coleta de Auditoria (ACS), você deve fazer alterações adicionais no registro no servidor do Coletor ACS. O ACS usa o DSN para fazer conexões com o banco de dados. Você deve atualizar as configurações de DSN para torná-las funcionais para o TLS 1.2.
- Faça login no servidor usando uma conta que tenha credenciais administrativas locais.
- Inicie o Editor do Registro selecionando e segurando Iniciar, insira regedit na caixa de texto Executar e selecione OK.
- Localize a seguinte subchave ODBC para OpsMgrAC:
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC
.
Observação
O nome padrão do DSN é OpsMgrAC.
- Na subchave Fontes de Dados ODBC, selecione o nome DSN OpsMgrAC. Ele contém o nome do driver ODBC a ser usado para a conexão com o banco de dados. Se você tiver o ODBC 17 instalado, altere esse nome para ODBC Driver 17 para SQL Server.
- Na subchave OpsMgrAC, atualize o driver para a versão ODBC instalada.
- Por exemplo, se o ODBC 17 estiver instalado, altere a entrada Driver para
%WINDIR%\system32\msodbcsql17.dll
. - Verifique o nome da DLL para a versão atual do driver ODBC instalado, se for diferente.
- Por exemplo, se o ODBC 17 estiver instalado, altere a entrada Driver para
Arquivo do registro
Como alternativa, crie e salve o seguinte arquivo .reg no Bloco de Notas ou em outro editor de texto. Para executar o arquivo .reg salvo, clique duas vezes no arquivo.
Para ODBC 17, crie o seguinte arquivo ODBC 17.reg:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources] "OpsMgrAC"="ODBC Driver 17 for SQL Server" [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC] "Driver"="%WINDIR%\system32\msodbcsql17.dll"
PowerShell
Como alternativa, você pode executar os seguintes comandos do PowerShell para automatizar a alteração.
Certifique-se de substituir o caminho do arquivo dll por uma versão apropriada se estiver usando uma versão do driver ODBC diferente de 17.
New-ItemProperty -Path "HKLM:\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC" -Name "Driver" -Value "%WINDIR%\system32\msodbcsql7.dll" -PropertyType STRING -Force | Out-Null New-ItemProperty -Path "HKLM:\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources" -Name "OpsMgrAC" -Value "ODBC Driver 17 for SQL Server" -PropertyType STRING -Force | Out-Null
Próximas etapas
Para obter uma lista completa das portas usadas, a direção da comunicação e se as portas podem ser configuradas, consulte Configurando um firewall para o Operations Manager.
Para obter uma revisão geral de como os dados entre componentes em um grupo de gerenciamento são protegidos, consulte Autenticação e criptografia de dados no Operations Manager.