Partilhar via


Forçar o uso do TLS 1.2 para o Operations Manager

Este artigo descreve como permitir que o System Center Operations Manager utilize o Transport Layer Security (TLS) 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. TLS versão 1.1
  3. TLS versão 1.2

O SSP Schannel seleciona o protocolo de autenticação mais preferido que o cliente e o servidor podem suportar.

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) é suportado com o Operations Manager 2016 UR9 e posterior.

  1. Instale SQL Server 2012 Native Client 11.0 ou Microsoft OLE DB Driver (x64) em todos os servidores de gerenciamento e no servidor do console Web.

  2. Instale 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 suporte o TLS 1.2.

  4. Instale um mínimo de Update Rollup 4 para o Operations Manager 2016 em todos os componentes.

  5. Verifique se todos os servidores têm um mínimo do .NET Framework 4.6 instalado e são compatíveis com a versão do sistema operativo: 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 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 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 Microsoft ODBC Driver for SQL versão 17.10.6 em todos os servidores de gerenciamento e no servidor de console Web.

  3. Configure o Windows para usar apenas 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 você estiver a utilizar a criptografia de conexão do SQL Server, instale estas versões dos drivers:

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 forem usados certificados assinados por CA, 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 a configurar uma nova função, habilite o TLS 1.0 no sistema, aplique Update Rollup 4e desative novamente o TLS 1.0 no sistema.

Configurar o sistema operacional Windows para usar apenas o protocolo TLS 1.2

Use um dos seguintes métodos para configurar o Windows para usar somente o protocolo TLS 1.2.

Método 1: Modificar o registo manualmente

Importante

Siga cuidadosamente os passos nesta secção. Poderão ocorrer problemas graves se o registo 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 os protocolos SChannel em todo o sistema. Recomendamos ativar 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. Entre no servidor usando uma conta que tenha credenciais administrativas locais.

  2. Inicie o Editor do Registro selecionando e mantendo pressionada Iniciar, digite regedit na caixa de texto Executar e 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 de cliente e uma subchave do Server 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 desativar um protocolo, crie os valores DWORD seguintes em Server e Client:

    • Ativado [Valor = 0]
    • DisabledByDefault [Valor = 1]
  7. Para explicitamente habilitar o protocolo TLS 1.2 (o padrão está habilitado), 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
  8. Em seguida, crie os seguintes valores DWORD em Server e Client:

    • Ativado [Valor = 1]
    • DesativadoPorPadrão [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 caso do Operations Manager, no entanto, precisamos dizer ao .NET Framework em todo o sistema qual protocolo usar.

Depois de concluir a configuração de todos os pré-requisitos para o Operations Manager, execute as etapas a seguir em todos os servidores do Operations Manager e em qualquer agente do Windows.

Importante

Siga cuidadosamente os passos nesta secção. Poderão ocorrer problemas graves se o registo 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 TLS 1.2 sobre HTTP para monitoramento UNIX/LINUX. Para permitir/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 o 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 gestão/servidores gateways no pool de recursos UNIX/LINUX.
  2. Faça backup dos registros modificados conforme mencionado no artigo da Base de Dados de Conhecimento.
  3. Baixe e execute a ferramenta Easy Fix nos Servidores/Gateways de Gestão do Grupo de Recursos UNIX/LINUX.
  4. Reinicialize os servidores.

Método 1: Modificar o registo 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 de 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 Update Rollup 4, certifique-se de importar os pacotes de gerenciamento incluídos neste pacote cumulativo localizados no seguinte diretório: %ProgramFiles%\Microsoft System Center 2016\Operations Manager\Server\Management Packs for Update Rollups.

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

Serviços de Recolha de Auditoria

Para os Serviços de Coleta de Auditoria (ACS), alterações adicionais devem ser feitas no registo no Coletor 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 estão atualizadas para torná-las funcionais para o TLS 1.2.

  1. Entre no servidor usando uma conta que tenha credenciais administrativas locais.
  2. Inicie o Editor do Registro selecionando e mantendo pressionada Iniciar, digite regedit na caixa de texto Executar e 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. Em Fontes de Dados ODBC subchave , selecione o nome DSN OpsMgrAC. Isso contém o nome do driver ODBC a ser usado para a conexão de 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 do driver de para a versão ODBC instalada.
    • Se o ODBC 11.0 estiver instalado, altere a entrada 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 Driver para %WINDIR%\system32\msodbcsql17.dll.
    • Se o ODBC 18.0 estiver instalado, altere a entrada Driver para %WINDIR%\system32\msodbcsql18.dll.

Ficheiro de registo

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 arquivo 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 Recolha de Auditoria

Para os Serviços de Coleta de Auditoria (ACS), alterações adicionais devem ser feitas no registo no Coletor 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 estão atualizadas para torná-las funcionais para o TLS 1.2.

  1. Entre no servidor usando uma conta que tenha credenciais administrativas locais.

  2. Inicie o Editor do Registro selecionando e mantendo pressionada Iniciar, digite regedit na caixa de texto Executar e 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. Em Fontes de Dados ODBC subchave , selecione o nome DSN OpsMgrAC. Isso contém o nome do driver ODBC a ser usado para a conexão de 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 do driver de para a versão ODBC instalada.

    • Por exemplo, se o ODBC 17 estiver instalado, altere a entrada Driver para %WINDIR%\system32\msodbcsql17.dll.
    • Verifique se o nome da DLL para a versão atual do driver ODBC instalado é diferente.

Ficheiro de registo

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 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óximos passos