Partilhar via


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:

  1. TLS versão 1.2
  2. Versão do TLS 1.1
  3. 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.

  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 um mínimo do Pacote Cumulativo de Atualizações 4 para o SCOM 2016 em todos os componentes.
  5. 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
    1. Não instale o .NET 4.8, pois houve problemas conhecidos com incompatibilidades do SCOM 2016.
  6. Configure o Windows para usar apenas o TLS 1.2.
  7. Configure o .NET para utilizar o TLS 1.2 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 para utilizar o TLS 1.2 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, você precisará instalar estas versões de driver:

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.

  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 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:

    1. SSL 2.0
    2. SSL 3.0
    3. TLS 1.0
    4. TLS 1.1
    5. TLS 1.2.
  5. 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
  6. Para desabilitar cada protocolo, crie os seguintes valores DWORD em Servidor e Cliente:

    • Habilitado [Valor = 0]
    • DisabledByDefault [Valor = 1]
  7. 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:
  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 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.

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

Modificar manualmente o registro

  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.

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.

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

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

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

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