Compartilhar via


Impor o TLS 1.2 para o Operations Manager

Este artigo descreve como permitir que o System Center Operations Manager utilize o TLS (Transport Layer Security) 1.2.

Observação

O Operations Manager usa o protocolo configurado no nível do sistema operacional. Por exemplo, se todos os protocolos estiverem habilitados, o Operations Manager selecionará um dos três protocolos na seguinte ordem de preferência:

  1. TLS versão 1.0
  2. Versão do TLS 1.1
  3. TLS versão 1.2

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.

  1. 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.

  2. Instale o Microsoft ODBC Driver (x64) em todos os servidores de gerenciamento e no servidor do console Web.

  3. Instale a atualização necessária do SQL Server que dá suporte ao TLS 1.2.

  4. Instale no mínimo o Pacote Cumulativo de Atualizações 4 para o Operations Manager 2016 em todos os componentes.

  5. Verifique se todos os servidores têm um .NET Framework 4.6 mínimo instalado como compatível com a versão do sistema operacional: versões e dependências do .NET Framework

    1. Não instale o .NET Framework 4.8, pois há incompatibilidades conhecidas com o Operations Manager 2016.
  6. Configure o Windows para usar apenas o TLS 1.2.

  7. Configure o .NET Framework para utilizar níveis mais altos de criptografia por padrão.

  8. Configure os Serviços de Coleta de Auditoria, se instalados.

  1. 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.

  2. Instale o Microsoft ODBC Driver for SQL versão 17.10.6 em todos os servidores de gerenciamento e no servidor do console Web.

  3. Configure o Windows para usar apenas o TLS 1.2.

  4. Configure o .NET Framework para utilizar níveis mais altos de criptografia por padrão.

  5. Configure os Serviços de Coleta de Auditoria, se instalados.

Observação

Se estiver utilizando a criptografia de conexão do SQL Server, instale estas versões de driver em vez disso:

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, que são necessários 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 as políticas de segurança restringirem o TLS 1.0 e 1.1, a instalação de uma nova função 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. Para continuar configurando uma nova função, habilite o TLS 1.0 no sistema, aplique Pacote Cumulativo de Atualizações 4e, em seguida, redibilize o TLS 1.0 no sistema.

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 graves poderão ocorrer se o registro for modificado incorretamente. Antes de fazer alterações, faça backup dos registros caso ocorram problemas.

Para obter mais informações, consulte: Como fazer backup e restaurar o registro no Windows

Use as etapas a seguir para modificar protocolos SChannel em todo o sistema. Recomendamos habilitar explicitamente o protocolo TLS 1.2.

Observação

Fazer essas alterações no Registro não afeta o uso de protocolos Kerberos ou NTLM.

  1. Faça login no servidor usando uma conta que tenha credenciais administrativas locais.

  2. Inicie o Editor do Registro selecionando e segurando Iniciar, insira regedit na caixa de texto Executare selecione OK.

  3. Localize a seguinte subchave do Registro:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols

  4. Crie uma subchave em Protocolos para:

    • SSL 2.0
    • SSL 3.0
    • TLS 1.0
    • TLS 1.1
    • TLS 1.2
  5. Crie uma subchave de 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
  6. Para desabilitar um protocolo, crie os seguintes valores DWORD em Servidor e Cliente:

    • Habilitado [Valor = 0]
    • DisabledByDefault [Valor = 1]
  7. Para habilitar explicitamente o protocolo TLS 1.2 (habilitado por padrão), crie as seguintes chaves de 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
  8. Em seguida, crie os seguintes valores DWORD em Servidor e Cliente:

    • Habilitado [Valor = 1]
    • DisabledByDefault [Valor = 0]
  9. Feche o Editor do Registro.

Método 2: modificar o registro com o PowerShell

Execute o seguinte script do Windows PowerShell como Administrador para configurar o Sistema Operacional Windows para usar 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 " Explicitly enable TLS 1.2 (default is enabled)"
    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 níveis mais altos de criptografia

O .NET Framework normalmente requer que o aplicativo defina qual protocolo TLS usar para comunicação. No entanto, na instância do Operations Manager, precisamos informar a todo o sistema do .NET Framework 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 do Operations Manager e em todos os agentes do Windows.

Importante

Siga as etapas nesta seção com cuidado. Problemas graves poderão ocorrer se o registro for modificado incorretamente. Antes de fazer alterações, faça backup dos registros caso ocorram problemas.

Para obter mais informações, consulte: Como fazer backup e restaurar o registro no Windows

Pré-requisitos para o Windows Server 2012/2012 R2

Alterações adicionais são necessárias no Windows Server 2012/2012 R2 para usar o TLS 1.2 via HTTP para monitoramento UNIX/LINUX. Para permitir/habilitar o TLS 1.2 como protocolos de segurança padrão no WinHTTP no Windows, as alterações a seguir precisam ser feitas de acordo com Update para habilitar o TLS 1.1 e o TLS 1.2 como protocolos seguros padrão no WinHTTP no Windows.

  1. Instale KB3140245 nos servidores de gerenciamento/servidores de gateway no pool de recursos UNIX/LINUX.
  2. Faça backup dos registros modificados conforme mencionado no artigo da base de conhecimento.
  3. Faça download e execute a ferramenta Easy Fix nos Servidores de Gerenciamento/Gateways no grupo de recursos UNIX/LINUX.
  4. Reinicialize os servidores.

Método 1: modificar o registro manualmente

  1. Abra o Editor do Registro
  2. Localize a seguinte subchave do Registro: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727
    1. Crie os seguintes pares de valores DWORD:
      • SchUseStrongCrypto [Valor = 1]
      • SystemDefaultTlsVersions [Valor = 1]
  3. Localize a seguinte subchave do Registro: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v2.0.50727
    1. Crie os seguintes pares de valores DWORD:
      • SchUseStrongCrypto [Valor = 1]
      • SystemDefaultTlsVersions [Valor = 1]
  4. Localize a seguinte subchave do Registro: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319
    1. Crie os seguintes pares de valores DWORD:
      • SchUseStrongCrypto [Valor = 1]
      • SystemDefaultTlsVersions [Valor = 1]
  5. Localize a seguinte subchave do Registro: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319
    1. Crie os seguintes pares de valores DWORD:
      • SchUseStrongCrypto [Valor = 1]
      • SystemDefaultTlsVersions [Valor = 1]
  6. Reinicie o sistema para que as configurações entrem em vigor.

Método 2: modificar o registro com o PowerShell

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:

# Allow .NET Framework to use higher levels of Cryptography
$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

Depois de aplicar o Pacote Cumulativo de Atualizações 4, certifique-se de importar os pacotes de gerenciamento incluídos neste rollup localizado no seguinte diretório: %ProgramFiles%\Microsoft System Center 2016\Operations Manager\Server\Management Packs for Update Rollups.

Se estiver monitorando uma versão com suporte do servidor Linux com o Operations Manager, siga as instruções no site apropriado para que sua distribuição configure o TLS 1.2.

Serviços de Coleta de Auditoria

Para o ACS (Serviços de Coleta de Auditoria), alterações adicionais devem ser feitas no registro no servidor coletor do ACS. O ACS usa o DSN (Nome da Fonte de Dados) ODBC para fazer conexões com o banco de dados. Verifique se as configurações de DSN são atualizadas para torná-las funcionais para o TLS 1.2.

  1. Faça login no servidor usando uma conta que tenha credenciais administrativas locais.
  2. Inicie o Editor do Registro selecionando e segurando Iniciar, insira regedit na caixa de texto Executare selecione OK.
  3. Localize a seguinte subchave ODBC para OpsMgrAC: HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC.
    1. Observe que o nome DSN padrão é OpsMgrAC.
  4. 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 o ODBC 11.0 estiver instalado, altere esse nome para ODBC Driver 11 para SQL Serverou se o ODBC 13.0 estiver instalado, altere esse nome para ODBC Driver 13 para SQL Server.
  5. 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.

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 arquivo a seguir ODBC.reg 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, execute 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 o ACS (Serviços de Coleta de Auditoria), alterações adicionais devem ser feitas no registro no servidor coletor do ACS. O ACS usa o DSN (Nome da Fonte de Dados) ODBC para fazer conexões com o banco de dados. Verifique se as configurações de DSN são atualizadas para torná-las funcionais para o TLS 1.2.

  1. Faça login no servidor usando uma conta que tenha credenciais administrativas locais.

  2. Inicie o Editor do Registro selecionando e segurando Iniciar, insira regedit na caixa de texto Executare selecione OK.

  3. Localize a seguinte subchave ODBC para OpsMgrAC: HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC.

    Observação

    O nome padrão do DSN é OpsMgrAC.

  4. 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 o ODBC 17 estiver instalado, altere esse nome para ODBC Driver 17 para SQL Server.

  5. 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.

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, execute os seguintes comandos do PowerShell para automatizar a alteração.

  • Certifique-se de substituir o caminho do arquivo dll para uma versão apropriada se estiver usando uma versão do driver ODBC diferente da 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