Condividi tramite


Implementare Transport Layer Security 1.2

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

Nota

Operations Manager userà il protocollo configurato a livello di sistema operativo. Ad esempio, se TLS 1.0, TLS 1.1 e TLS 1.2 sono abilitati a livello di sistema operativo, Operations Manager selezionerà uno dei tre protocolli nell'ordine di preferenza seguente:

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

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 SCOM 2016 in tutti i componenti.
  5. Verificare che i server abbiano almeno .NET 4.6 installato come compatibile con il sistema operativo: versioni e dipendenze di .NET Framework
    1. Non installare .NET 4.8, perché si sono verificati problemi noti con incompatibilità SCOM 2016.
  6. Configurare Windows per l'uso solo di TLS 1.2.
  7. Configurare .NET per usare TLS 1.2 per impostazione predefinita.
  8. Configurare Audit Collection Services se installato.
  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 per usare TLS 1.2 per impostazione predefinita.
  5. Configurare Audit Collection Services se installato.

Nota

Se si utilizza la crittografia della connessione a SQL Server, sarà invece necessario installare 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 autofirmato SHA1 e SHA2. Questa operazione è necessaria 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 server di gestione di Operations Manager 2016, server gateway, console Web e ruolo Reporting Services avrà esito negativo perché il supporto di installazione non include gli aggiornamenti per supportare TLS 1.2. L'unico modo per installare questi ruoli consiste nell'abilitare TLS 1.0 nel sistema, applicare l'aggiornamento cumulativo 4 e quindi abilitare TLS 1.2 nel sistema. Questa limitazione non si applica a Operations Manager versione 1801.

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

Importante

Seguire attentamente i passaggi in questa sezione. Se le modifiche al Registro di sistema vengono apportate in modo non corretto, possono verificarsi problemi gravi. Prima di apportare le modifiche, eseguire il backup del Registro di sistema per il ripristino nel caso si verifichino dei problemi.

Seguire questa procedura per abilitare/disabilitare tutti i protocolli SCHANNEL a livello di sistema. È consigliabile abilitare il protocollo TLS 1.2 per tutte le comunicazioni in ingresso e le comunicazioni in uscita.

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:

    1. SSL 2.0
    2. SSL 3.0
    3. TLS 1.0
    4. TLS 1.1
    5. TLS 1.2.
  5. Creare una sottochiave Client e Server in 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 ogni protocollo, creare i valori DWORD seguenti in Server e Client:

    • Abilitato [Valore = 0]
    • DisabledByDefault [Value = 1]
  7. Per abilitare il protocollo TLS 1.2, 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 automaticamente il Registro di sistema

Eseguire lo script di Windows PowerShell seguente come amministratore per configurare automaticamente il sistema operativo Windows in modo da usare solo il 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 " 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 " "
}

Configurare .NET Framework per l'uso solo di TLS 1.2

.NET richiede in genere all'applicazione di definire il protocollo TLS da usare per la comunicazione, nell'istanza di SCOM, tuttavia, sarà necessario indicare a .NET 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 di gestione, il server che ospita il ruolo della console Web e in qualsiasi computer Windows in cui è installato l'agente.

Importante

Seguire attentamente i passaggi in questa sezione. Se le modifiche al Registro di sistema vengono apportate in modo non corretto, possono verificarsi problemi gravi. Prima di apportare modifiche, eseguire il backup del Registro di sistema per il ripristino in caso di problemi.

Nota

SCOM in esecuzione in Windows OS 2012 richiede modifiche aggiuntive per l'uso di TLS 1.2 su HTTP per il monitoraggio UNIX/LINUX. Per abilitare TLS 1.2 come protocolli di sicurezza predefiniti in WinHTTP in Windows, è necessario apportare le modifiche seguenti in base all'aggiornamento 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.

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.

Modificare automaticamente il Registro di sistema

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

# 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

Impostazioni aggiuntive

Se viene implementato per System Center 2016 - Operations Manager, dopo aver applicato l'aggiornamento cumulativo 4, assicurarsi di importare i Management Pack inclusi in questo rollup nella directory seguente: \Programmi\Microsoft System Center 2016\Operations Manager\Server\Management Pack per gli aggiornamenti cumulativi.

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

Audit Collection Services

Per Audit Collection Services (ACS), è necessario apportare modifiche aggiuntive nel Registro di sistema nel server dell'agente di raccolta dati ACS. ACS usa il DSN per stabilire connessioni al database. È necessario aggiornare le impostazioni del DSN 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 11.0, modificare questo nome in ODBC Driver 11 per SQL Server o 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, è possibile 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
    

Audit Collection Services

Per Audit Collection Services (ACS), è necessario apportare modifiche aggiuntive nel Registro di sistema nel server dell'agente di raccolta dati ACS. ACS usa il DSN per stabilire connessioni al database. È necessario aggiornare le impostazioni del DSN 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.

  1. 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 for SQL Server.
  2. 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, è possibile 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