Partager via


Appliquer TLS 1.2 pour Operations Manager

Cet article explique comment autoriser System Center Operations Manager à utiliser TLS (Transport Layer Security) 1.2.

Remarque

Operations Manager utilise le protocole configuré au niveau du système d’exploitation. Par exemple, si tous les protocoles sont activés, Operations Manager sélectionne l’un des trois protocoles dans l’ordre de préférence suivant :

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

Le SSP Schannel sélectionne ensuite le protocole d’authentification préféré que le client et le serveur peuvent prendre en charge.

Procédez comme suit pour implémenter le protocole TLS version 1.2 dans Operations Manager :

Remarque

Microsoft OLE DB Driver 18 pour SQL Server (recommandé) est pris en charge avec Operations Manager 2016 UR9 et versions ultérieures.

  1. Installez SQL Server 2012 Native Client 11.0 ou Microsoft OLE DB Driver (x64) sur tous les serveurs d’administration et le serveur de console web.

  2. Installez Microsoft ODBC Driver (x64) sur tous les serveurs d’administration et le serveur de console web.

  3. Installez la mise à jour SQL Server requise qui prend en charge TLS 1.2.

  4. Installez au minimum l'Update Rollup 4 pour Operations Manager 2016 sur tous les composants.

  5. Vérifiez que tous les serveurs disposent d’un .NET Framework 4.6 minimal installé comme compatible avec la version du système d’exploitation : versions et dépendances du .NET Framework

    1. n’installez pas .NET Framework 4.8, car il existe des incompatibilités connues avec Operations Manager 2016.
  6. Configurez Windows pour qu’il utilise uniquement TLS 1.2.

  7. Configurez .NET Framework pour utiliser des niveaux de chiffrement plus élevés par défaut.

  8. Configurez Audit Collection Services s’il est installé.

  1. Installez Microsoft OLE DB Driver pour SQL version 18.7.4 sur tous les serveurs d’administration et le serveur de console web.

  2. Installez Microsoft ODBC Driver pour SQL version 17.10.6 sur tous les serveurs d’administration et le serveur de console web.

  3. Configurez Windows pour qu’il utilise uniquement TLS 1.2.

  4. Configurez .NET Framework pour utiliser des niveaux de chiffrement plus élevés par défaut.

  5. Configurez Audit Collection Services s’il est installé.

Remarque

Si vous utilisez le chiffrement de connexion SQL Server, installez ces versions de pilote à la place :

Vous trouverez plus d’informations sur la configuration du chiffrement de connexion SQL ici : Configurer sql Server Moteur de base de données pour chiffrer les connexions

Operations Manager génère des certificats AUTO-signés SHA1 et SHA2, requis pour activer TLS 1.2. Si les certificats signés par l’autorité de certification sont utilisés, vérifiez que les certificats sont SHA1 ou SHA2.

Remarque

Si les stratégies de sécurité limitent TLS 1.0 et 1.1, l’installation d’un nouveau rôle Operations Manager 2016 échoue, car le support d’installation n’inclut pas les mises à jour pour prendre en charge TLS 1.2. Pour continuer à configurer un nouveau rôle, activez TLS 1.0 sur le système, appliquez le correctif cumulatif Update Rollup 4, puis désactivez à nouveau TLS 1.0 sur le système.

Configurer le système d’exploitation Windows pour utiliser uniquement le protocole TLS 1.2

Utilisez l’une des méthodes suivantes pour configurer Windows pour utiliser uniquement le protocole TLS 1.2.

Méthode 1 : Modifier le Registre manuellement

Important

Suivez attentivement les étapes décrites dans cette section. Des problèmes graves peuvent se produire si le Registre est modifié de manière incorrecte. Avant d’apporter des modifications, sauvegardez les registres en cas de problèmes.

Pour plus d’informations, consultez : Comment sauvegarder et restaurer le Registre dans Windows

Procédez comme suit pour modifier les protocoles SChannel à l’échelle du système. Nous vous recommandons d’activer explicitement le protocole TLS 1.2.

Remarque

L’application de ces modifications de Registre n’affecte pas l’utilisation des protocoles Kerberos ou NTLM.

  1. Connectez-vous au serveur en utilisant un compte disposant des informations d’identification d’administration locales.

  2. Démarrez l’Éditeur du Registre en sélectionnant et en maintenant Démarrer, entrez regedit dans la zone de texte Exécuter , puis sélectionnez OK.

  3. Trouvez la sous-clé de Registre suivante :

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

  4. Créez une sous-clé sous Protocoles pour :

    • SSL 2.0
    • SSL 3.0
    • TLS 1.0
    • TLS 1.1
    • TLS 1.2
  5. Créez une sous-clé Client et Server sous chaque sous-clé de version du protocole créée précédemment. Par exemple, la sous-clé pour TLS 1.0 serait

    • 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. Pour désactiver un protocole, créez les valeurs DWORD suivantes sous Server et client:

    • Activé [Valeur = 0]
    • DisabledByDefault [Value = 1]
  7. Pour explicitement activer le protocole TLS 1.2 (activé par défaut), créez les clés de registre suivantes :

    • 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. Créez ensuite les valeurs DWORD suivantes sous Serveur et Client :

    • Enabled [Valeur = 1]
    • DisabledByDefault [Valeur = 0]
  9. Fermez l’Éditeur du Registre.

Méthode 2 : Modifier le Registre avec PowerShell

Exécutez le script Windows PowerShell suivant en tant qu’administrateur pour configurer le système d’exploitation Windows pour utiliser le protocole 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 " "
}

Configurer .NET Framework pour utiliser des niveaux supérieurs de chiffrement

.NET Framework nécessite généralement que l’application définisse le protocole TLS à utiliser pour la communication. Toutefois, dans l’instance d’Operations Manager, nous devons indiquer au système .NET Framework quel protocole utiliser.

Après avoir terminé la configuration de toutes les conditions préalables pour Operations Manager, effectuez les étapes suivantes sur tous les serveurs Operations Manager et sur tous les agents Windows.

Important

Suivez attentivement les étapes décrites dans cette section. Des problèmes graves peuvent se produire si le Registre est modifié de manière incorrecte. Avant d’apporter des modifications, sauvegardez les registres en cas de problèmes.

Pour plus d’informations, consultez : Comment sauvegarder et restaurer le Registre dans Windows

Conditions préalables pour Windows Server 2012/2012 R2

Des modifications supplémentaires sont requises sur Windows Server 2012/2012 R2 pour utiliser TLS 1.2 sur HTTP pour la surveillance UNIX/LINUX. Pour autoriser/activer TLS 1.2 comme protocoles de sécurité par défaut dans WinHTTP dans Windows, les modifications suivantes doivent être apportées en fonction de Update pour activer TLS 1.1 et TLS 1.2 comme protocoles sécurisés par défaut dans WinHTTP dans Windows.

  1. Installez KB3140245 sur les serveurs d’administration/passerelles du pool de ressources UNIX/LINUX.
  2. Sauvegardez les registres modifiés comme indiqué dans l’article de la Base de connaissances.
  3. Téléchargez et exécutez l’outil Easy Fix sur les serveurs d’administration/passerelles dans le pool de ressources UNIX/LINUX.
  4. Redémarrez les serveurs.

Méthode 1 : Modifier le Registre manuellement

  1. Ouvrez l'Éditeur du Registre
  2. Recherchez la sous-clé de Registre suivante : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727
    1. Créez les paires de valeurs DWORD suivantes :
      • SchUseStrongCrypto [Value = 1]
      • SystemDefaultTlsVersions [Value = 1]
  3. Recherchez la sous-clé de Registre suivante : HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v2.0.50727
    1. Créez les paires de valeurs DWORD suivantes :
      • SchUseStrongCrypto [Value = 1]
      • SystemDefaultTlsVersions [Value = 1]
  4. Recherchez la sous-clé de Registre suivante : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319
    1. Créez les paires de valeurs DWORD suivantes :
      • SchUseStrongCrypto [Value = 1]
      • SystemDefaultTlsVersions [Value = 1]
  5. Recherchez la sous-clé de Registre suivante : HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319
    1. Créez les paires de valeurs DWORD suivantes :
      • SchUseStrongCrypto [Value = 1]
      • SystemDefaultTlsVersions [Value = 1]
  6. Redémarrez le système pour que les paramètres s’appliquent.

Méthode 2 : Modifier le Registre avec PowerShell

Exécutez le script Windows PowerShell suivant en mode Administrateur pour configurer automatiquement .NET Framework pour empêcher les dépendances TLS 1.0 héritées du 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

Paramètres supplémentaires

Après avoir appliqué le correctif cumulatif 4, veillez à importer les packs d’administration inclus dans ce correctif cumulatif situé dans le répertoire suivant : %ProgramFiles%\Microsoft System Center 2016\Operations Manager\Server\Management Packs for Update Rollups.

Si vous surveillez une version prise en charge du serveur Linux avec Operations Manager, suivez les instructions sur le site web approprié pour votre distribution afin de configurer TLS 1.2.

Services de collecte d’audit

Pour Audit Collection Services (ACS), des modifications supplémentaires doivent être apportées dans le Registre sur le serveur collecteur ACS. ACS utilise le nom de source de données ODBC (DSN) pour établir des connexions à la base de données. Vérifiez que les paramètres DSN sont mis à jour pour les rendre fonctionnels pour TLS 1.2.

  1. Connectez-vous au serveur en utilisant un compte disposant des informations d’identification d’administration locales.
  2. Démarrez l’Éditeur du Registre en sélectionnant et en maintenant Démarrer, entrez regedit dans la zone de texte Exécuter , puis sélectionnez OK.
  3. Recherchez la sous-clé ODBC suivante pour OpsMgrAC : HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC.
    1. Notez que le nom DSN par défaut est OpsMgrAC.
  4. Sous-clé sources de données ODBC, sélectionnez le nom DSN OpsMgrAC. Il contient le nom du pilote ODBC à utiliser pour la connexion de base de données. Si ODBC 11.0 est installé, remplacez ce nom par ODBC Driver 11 pour SQL Server, ou si ODBC 13.0 est installé, remplacez ce nom par ODBC Driver 13 pour SQL Server.
  5. Sous la sous-clé OpsMgrAC, mettez à jour le Driver pour la version ODBC installée.
    • Si ODBC 11.0 est installé, remplacez l’entrée %WINDIR%\system32\msodbcsql11.dlldu pilote par .
    • Si ODBC 13.0 est installé, remplacez l’entrée %WINDIR%\system32\msodbcsql13.dlldu pilote par .
    • Si ODBC 17.0 est installé, remplacez l’entrée %WINDIR%\system32\msodbcsql17.dlldu pilote par .
    • Si ODBC 18.0 est installé, remplacez l’entrée %WINDIR%\system32\msodbcsql18.dlldu pilote par .

Fichier du Registre

Vous pouvez également créer et enregistrer le fichier .reg suivant dans le Bloc-notes ou un autre éditeur de texte. Pour exécuter le fichier .reg enregistré, double-cliquez sur le fichier.

  • Pour ODBC 11.0, 13.0, 17.x ou 18.x. Créez le fichier suivant ODBC.reg et (remplacez par la version ODBC utilisée) :

    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

Vous pouvez également exécuter les commandes PowerShell suivantes pour automatiser la modification.

  • Pour ODBC 11.0, exécutez les commandes PowerShell suivantes :

    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
    
  • Pour ODBC 13.0, exécutez les commandes PowerShell suivantes :

    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
    

Services de collecte d’audit

Pour Audit Collection Services (ACS), des modifications supplémentaires doivent être apportées dans le Registre sur le serveur collecteur ACS. ACS utilise le nom de source de données ODBC (DSN) pour établir des connexions à la base de données. Vérifiez que les paramètres DSN sont mis à jour pour les rendre fonctionnels pour TLS 1.2.

  1. Connectez-vous au serveur en utilisant un compte disposant des informations d’identification d’administration locales.

  2. Démarrez l’Éditeur du Registre en sélectionnant et en maintenant Démarrer, entrez regedit dans la zone de texte Exécuter , puis sélectionnez OK.

  3. Recherchez la sous-clé ODBC suivante pour OpsMgrAC : HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC.

    Remarque

    Le nom par défaut de DSN est OpsMgrAC.

  4. Sous-clé ODBC Data Sources, sélectionnez le nom DSN OpsMgrAC. Il contient le nom du pilote ODBC à utiliser pour la connexion de base de données. Si ODBC 17 est installé, remplacez ce nom par ODBC Driver 17 pour SQL Server.

  5. Sous la sous-clé OpsMgrAC, mettez à jour le Driver pour la version installée d'ODBC.

    • Par exemple, si ODBC 17 est installé, remplacez l'entrée du pilote par %WINDIR%\system32\msodbcsql17.dll.
    • Vérifiez le nom de la DLL pour la version actuelle du pilote ODBC installée si elle est différente.

Fichier du Registre

Vous pouvez également créer et enregistrer le fichier .reg suivant dans le Bloc-notes ou un autre éditeur de texte. Pour exécuter le fichier .reg enregistré, double-cliquez sur le fichier.

  • Pour ODBC 17, créez le fichier 17.reg ODBC suivant :

    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

Vous pouvez également exécuter les commandes PowerShell suivantes pour automatiser la modification.

  • Veillez à remplacer le chemin d’accès du fichier dll à une version appropriée si vous utilisez une version de pilote ODBC autre que 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
    

Étapes suivantes