Condividi tramite


Imporre TLS 1.2 a Operations Manager

Questo articolo descrive come consentire a System Center Operations Manager di usare Transport Layer Security (TLS) 1.2.

Nota

Operations Manager usa il protocollo configurato a livello di sistema operativo. Ad esempio, se tutti i protocolli sono abilitati, Operations Manager seleziona uno dei tre protocolli nell'ordine di preferenza seguente:

  1. TLS versione 1.0
  2. TLS versione 1.1
  3. TLS versione 1.2

Il provider di servizi condivisi Schannel seleziona quindi il protocollo di autenticazione più preferito che il client e il server possono supportare.

Per implementare il protocollo TLS versione 1.2 in Operations Manager, seguire questa procedura:

Nota

Microsoft OLE DB Driver 18 per SQL Server (scelta consigliata) è supportato con Operations Manager 2016 UR9 e versioni successive.

  1. Installare SQL Server 2012 Native Client 11.0 o Microsoft OLE DB Driver (x64) in tutti i server di gestione e il server console Web.

  2. Installare Microsoft ODBC Driver (x64) in tutti i server di gestione e il server della console Web.

  3. Installare l'aggiornamento di SQL Server necessario che supporta TLS 1.2.

  4. Installare almeno l'aggiornamento cumulativo 4 per Operations Manager 2016 in tutti i componenti.

  5. Verificare che tutti i server dispongano di una versione minima di .NET Framework 4.6 installata come compatibile con la versione del sistema operativo: versioni e dipendenze di .NET Framework

    1. Non installare .NET Framework 4.8, perché esistono incompatibilità note con Operations Manager 2016.
  6. Configurare Windows per l'uso solo di TLS 1.2.

  7. Configurare .NET Framework per usare livelli più elevati di crittografia per impostazione predefinita.

  8. Configurare i servizi di raccolta audit, se installati.

  1. Installare Microsoft OLE DB Driver per SQL versione 18.7.4 in tutti i server di gestione e nel server della console Web.

  2. Installare Microsoft ODBC Driver per SQL versione 17.10.6 in tutti i server di gestione e nel server console Web.

  3. Configurare Windows per l'uso solo di TLS 1.2.

  4. Configurare .NET Framework per usare livelli più elevati di crittografia per impostazione predefinita.

  5. Configurare i servizi di raccolta degli audit se sono installati.

Nota

Se si utilizza la crittografia della connessione di SQL Server, installare invece queste versioni del driver:

Altre informazioni sulla configurazione della crittografia della connessione SQL sono disponibili qui: Configurare sql Server motore di database per crittografare le connessioni

Operations Manager genera certificati autofirmati SHA1 e SHA2, necessari per abilitare TLS 1.2. Se vengono usati certificati firmati dalla CA, assicurarsi che i certificati siano SHA1 o SHA2.

Nota

Se i criteri di sicurezza limitano TLS 1.0 e 1.1, l'installazione di un nuovo ruolo di Operations Manager 2016 ha esito negativo perché il supporto di installazione non include gli aggiornamenti per supportare TLS 1.2. Per continuare a configurare un nuovo ruolo, abilita TLS 1.0 nel sistema, applica l'Aggiornamento cumulativo 4 , e quindi disabilita nuovamente TLS 1.0 nel sistema.

Configurare il sistema operativo Windows per usare solo il protocollo TLS 1.2

Usare uno dei metodi seguenti per configurare Windows per usare solo il protocollo TLS 1.2.

Metodo 1: Modificare manualmente il Registro di sistema

Importante

Seguire attentamente i passaggi in questa sezione. Se il Registro di sistema viene modificato in modo non corretto, potrebbero verificarsi gravi problemi. Prima di apportare modifiche, eseguire il backup dei registri in caso di problemi.

Per altre informazioni, vedere: Come eseguire il backup e il ripristino del Registro di sistema in Windows

Seguire questa procedura per modificare i protocolli SChannel a livello di sistema. È consigliabile abilitare in modo esplicito il protocollo TLS 1.2.

Nota

L'esecuzione di queste modifiche al Registro di sistema non influisce sull'uso di protocolli Kerberos o NTLM.

  1. Effettuare l'accesso al server usando un account che disponga delle credenziali di amministratore locale.

  2. Avviare l'editor del Registro di sistema selezionando e tenendo premuto Start, immettere regedit nella casella di testo Esegui e selezionare OK.

  3. Individuare la seguente sottochiave del Registro di sistema:

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

  4. Creare una sottochiave in Protocolli per:

    • SSL 2.0
    • SSL 3.0
    • TLS 1.0
    • TLS 1.1
    • TLS 1.2
  5. Creare una sottochiave Client e Server sotto ogni sottochiave della versione del protocollo creata in precedenza. Ad esempio, la sottochiave per TLS 1.0 sarà

    • 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. Per disabilitare un protocollo, creare i valori DWORD seguenti in Server e Client:

    • Abilitato [Valore = 0]
    • DisabledByDefault [Value = 1]
  7. Per esplicitamente abilitare il protocollo TLS 1.2 (impostazione predefinita è abilitata), creare le chiavi del Registro di sistema seguenti:

    • 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. Creare quindi i valori DWORD seguenti in Server e Client:

    • Enabled [Value = 1]
    • DisabledByDefault [Value = 0]
  9. Chiudere l'Editor del Registro di sistema.

Metodo 2: Modificare il Registro di sistema con PowerShell

Eseguire lo script di Windows PowerShell seguente come amministratore per configurare il sistema operativo Windows per l'uso del protocollo 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 " "
}

Configurare .NET Framework per l'uso di livelli più elevati di crittografia

.NET Framework richiede in genere all'applicazione di definire il protocollo TLS da usare per la comunicazione. Nell'istanza di Operations Manager, tuttavia, è necessario indicare a .NET Framework a livello di sistema quale protocollo usare.

Dopo aver completato la configurazione di tutti i prerequisiti per Operations Manager, seguire questa procedura in tutti i server Operations Manager e in tutti gli agenti Windows.

Importante

Seguire attentamente i passaggi in questa sezione. Se il Registro di sistema viene modificato in modo non corretto, potrebbero verificarsi gravi problemi. Prima di apportare modifiche, eseguire il backup dei registri in caso di problemi.

Per altre informazioni, vedere: Come eseguire il backup e il ripristino del Registro di sistema in Windows

Prerequisiti per Windows Server 2012/2012 R2

Sono necessarie modifiche aggiuntive in Windows Server 2012/2012 R2 per usare TLS 1.2 su HTTP per il monitoraggio UNIX/LINUX. Per consentire/abilitare TLS 1.2 come protocolli di sicurezza predefiniti in WinHTTP in Windows, è necessario apportare le modifiche seguenti in base a Update per abilitare TLS 1.1 e TLS 1.2 come protocolli sicuri predefiniti in WinHTTP in Windows.

  1. Installare KB3140245 nei server di gestione/gateway nel pool di risorse UNIX/LINUX.
  2. Eseguire il backup dei registri modificati come indicato nell'articolo della Knowledge Base.
  3. Scaricare ed eseguire lo strumento Easy Fix nei server di gestione/gateway nel pool di risorse UNIX/LINUX.
  4. Riavviare i server.

Metodo 1: Modificare manualmente il Registro di sistema

  1. Aprire l’Editor del Registro di sistema
  2. Individuare la sottochiave del Registro di sistema seguente: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727
    1. Creare le coppie di valori DWORD seguenti:
      • SchUseStrongCrypto [Value = 1]
      • SystemDefaultTlsVersions [Value = 1]
  3. Individuare la sottochiave del Registro di sistema seguente: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v2.0.50727
    1. Creare le coppie di valori DWORD seguenti:
      • SchUseStrongCrypto [Value = 1]
      • SystemDefaultTlsVersions [Value = 1]
  4. Individuare la sottochiave del Registro di sistema seguente: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319
    1. Creare le coppie di valori DWORD seguenti:
      • SchUseStrongCrypto [Value = 1]
      • SystemDefaultTlsVersions [Value = 1]
  5. Individuare la sottochiave del Registro di sistema seguente: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319
    1. Creare le coppie di valori DWORD seguenti:
      • SchUseStrongCrypto [Value = 1]
      • SystemDefaultTlsVersions [Value = 1]
  6. Riavviare il sistema per rendere effettive le impostazioni.

Metodo 2: Modificare il Registro di sistema con PowerShell

Eseguire lo script di Windows PowerShell seguente in modalità amministratore per configurare automaticamente .NET Framework per evitare dipendenze TLS 1.0 ereditate dal framework:

# 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

Impostazioni aggiuntive

Dopo aver applicato l'aggiornamento cumulativo 4, assicurarsi di importare i pacchetti di gestione inclusi in questo aggiornamento cumulativo nella directory seguente: %ProgramFiles%\Microsoft System Center 2016\Operations Manager\Server\Management Packs for Update Rollups.

Se si monitora una versione supportata del server Linux con Operations Manager, seguire le istruzioni nel sito Web appropriato per la distribuzione per configurare TLS 1.2.

Servizi di Raccolta Audit

Per Audit Collection Services (ACS), è necessario apportare modifiche aggiuntive nel Registro di sistema nel server ACS Collector. ACS usa il nome dell'origine dati ODBC (DSN) per stabilire connessioni al database. Assicurarsi che le impostazioni del DSN vengano aggiornate per renderle funzionali per TLS 1.2.

  1. Effettuare l'accesso al server usando un account che disponga delle credenziali di amministratore locale.
  2. Avviare l'editor del Registro di sistema selezionando e tenendo premuto Start, immettere regedit nella casella di testo Esegui e selezionare OK.
  3. Individuare la sottochiave ODBC seguente per OpsMgrAC: HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC.
    1. Si noti che il nome DSN predefinito è OpsMgrAC.
  4. Nel sottochiave Origini dati ODBC, selezionare il nome DSN OpsMgrAC. Contiene il nome del driver ODBC da utilizzare per la connessione al database. Se è installato ODBC 11.0, modificare questo nome in ODBC Driver 11 for SQL Servero se è installato ODBC 13.0, modificare questo nome in ODBC Driver 13 for SQL Server.
  5. Nella sottochiave OpsMgrAC aggiornare il driver per la versione ODBC installata.
    • Se ODBC 11.0 è installato, modificare la voce Driver in %WINDIR%\system32\msodbcsql11.dll.
    • Se è installato ODBC 13.0, modificare la voce Driver in %WINDIR%\system32\msodbcsql13.dll.
    • Se ODBC 17.0 è installato, modificare la voce Driver in %WINDIR%\system32\msodbcsql17.dll.
    • Se ODBC 18.0 è installato, modificare la voce Driver in %WINDIR%\system32\msodbcsql18.dll.

File del Registro di sistema

In alternativa, creare e salvare il file di .reg seguente nel Blocco note o in un altro editor di testo. Per eseguire il file di .reg salvato, fare doppio clic sul file.

  • Per ODBC 11.0, 13.0, 17.x o 18.x. Creare il file seguente ODBC.reg e (sostituire con la versione ODBC in uso):

    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

In alternativa, eseguire i comandi di PowerShell seguenti per automatizzare la modifica.

  • Per ODBC 11.0, eseguire i comandi di PowerShell seguenti:

    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
    
  • Per ODBC 13.0, eseguire i comandi di PowerShell seguenti:

    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
    

Servizi di Raccolta Audit

Per Audit Collection Services (ACS), è necessario apportare modifiche aggiuntive nel registro di Windows sul server ACS Collector. ACS usa il nome dell'origine dati ODBC (DSN) per stabilire connessioni al database. Assicurarsi che le impostazioni del DSN vengano aggiornate per renderle funzionali per TLS 1.2.

  1. Effettuare l'accesso al server usando un account che disponga delle credenziali di amministratore locale.

  2. Avviare l'editor del Registro di sistema selezionando e tenendo premuto Start, immettere regedit nella casella di testo Esegui e selezionare OK.

  3. Individuare la sottochiave ODBC seguente per OpsMgrAC: HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC.

    Nota

    Il nome predefinito di DSN è OpsMgrAC.

  4. Nella sottochiave Origini dati ODBC, selezionare il nome DSN OpsMgrAC. Contiene il nome del driver ODBC da utilizzare per la connessione al database. Se è installato ODBC 17, modificare questo nome in ODBC Driver 17 per SQL Server.

  5. Nella sottochiave OpsMgrAC aggiornare il driver per la versione ODBC installata.

    • Ad esempio, se è installato ODBC 17, modificare la voce Driver in %WINDIR%\system32\msodbcsql17.dll.
    • Controllare il nome della DLL per la versione corrente del driver ODBC installato se è diverso.

File del Registro di sistema

In alternativa, creare e salvare il file di .reg seguente nel Blocco note o in un altro editor di testo. Per eseguire il file di .reg salvato, fare doppio clic sul file.

  • Per ODBC 17, creare il file ODBC 17.reg seguente:

    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

In alternativa, eseguire i comandi di PowerShell seguenti per automatizzare la modifica.

  • Assicurarsi di sostituire il percorso del file DLL a una versione appropriata se si usa una versione del driver ODBC diversa 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
    

Passaggi successivi