Implémenter transport Layer Security 1.2
Cet article explique comment autoriser System Center Operations Manager à utiliser TLS (Transport Layer Security) 1.2.
Remarque
Operations Manager utilisera le protocole configuré au niveau du système d’exploitation. Par exemple, si TLS 1.0, TLS 1.1 et TLS 1.2 sont activés au niveau du système d’exploitation, Operations Manager sélectionnera l’un des trois protocoles dans l’ordre de préférence suivant :
- TLS version 1.2
- TLS version 1.1
- TLS version 1.0
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.
- 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.
- Installez Microsoft ODBC Driver (x64) sur tous les serveurs d’administration et le serveur de console web.
- Installez la mise à jour SQL Server requise qui prend en charge TLS 1.2.
- Installez un minimum de correctif cumulatif 4 pour SCOM 2016 sur tous les composants.
- Vérifiez que vos serveurs ont un minimum .NET 4.6 installé comme compatible avec votre système d’exploitation : versions et dépendances de .NET Framework
- N’installez pas .NET 4.8, car il y a eu des problèmes connus avec les incompatibilités SCOM 2016.
- Configurez Windows pour qu’il utilise uniquement TLS 1.2.
- Configurez .NET pour utiliser TLS 1.2 par défaut.
- Configurez Audit Collection Services s’il est installé.
- Installez Microsoft OLE DB Driver pour SQL version 18.7.4 sur tous les serveurs d’administration et le serveur de console web.
- Installez Microsoft ODBC Driver pour SQL version 17.10.6 sur tous les serveurs d’administration et le serveur de console web.
- Configurez Windows pour qu’il utilise uniquement TLS 1.2.
- Configurez .NET pour utiliser TLS 1.2 par défaut.
- Configurez Audit Collection Services s’il est installé.
Remarque
Si vous utilisez le chiffrement de connexion SQL Server, vous devez installer ces versions de pilote à la place :
- Microsoft OLE DB Driver 19 : https://aka.ms/downloadmsoledbsql
- Microsoft ODBC Driver 18 : https://aka.ms/downloadmsodbcsql
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 SHA1 et SHA2 auto-signés. Cela est nécessaire 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 vos stratégies de sécurité limitent TLS 1.0 et 1.1, l’installation d’un nouveau serveur d’administration Operations Manager 2016, du serveur de passerelle, de la console web et du rôle Reporting Services échoue, car le support d’installation n’inclut pas les mises à jour pour prendre en charge TLS 1.2. La seule façon d’installer ces rôles consiste à activer TLS 1.0 sur le système, à appliquer le correctif cumulatif 4, puis à activer TLS 1.2 sur le système. Cette limitation ne s’applique pas à Operations Manager version 1801.
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 manuellement le Registre
Important
Suivez attentivement les étapes décrites dans cette section. De graves problèmes peuvent se produire si vous modifiez le Registre de façon incorrecte. Avant de le modifier, sauvegardez le Registre afin de pouvoir le restaurer en cas de problème.
Utilisez les étapes suivantes pour activer/désactiver tous les protocoles SCHANNEL à l’échelle du système. Nous vous recommandons d’activer le protocole TLS 1.2 pour toutes les communications entrantes et sortantes.
Remarque
L’application de ces modifications de Registre n’affecte pas l’utilisation des protocoles Kerberos ou NTLM.
Connectez-vous au serveur en utilisant un compte disposant des informations d’identification d’administration locales.
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.
Trouvez la sous-clé de Registre suivante :
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
Créez une sous-clé sous Protocoles pour :
- SSL 2.0
- SSL 3.0
- TLS 1.0
- TLS 1.1
- TLS 1.2.
Créez une sous-clé client et serveur sous chaque sous-clé de version du protocole que vous avez 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
Pour désactiver chaque protocole, créez les valeurs DWORD suivantes sous Serveur et Client :
- Activé [Valeur = 0]
- DisabledByDefault [Value = 1]
Pour activer le protocole TLS 1.2, 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
:
Créez ensuite les valeurs DWORD suivantes sous Serveur et Client :
- Enabled [Valeur = 1]
- DisabledByDefault [Valeur = 0]
Fermez l’Éditeur du Registre.
Méthode 2 : Modifier automatiquement le Registre
Exécutez le script Windows PowerShell suivant en tant qu’administrateur pour configurer automatiquement votre système d’exploitation Windows pour utiliser uniquement 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 " 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 " "
}
Configurer .NET Framework pour utiliser uniquement TLS 1.2
.NET nécessite généralement que l’application définisse le protocole TLS à utiliser pour la communication, dans l’instance de SCOM, mais nous devons indiquer au système .NET quel protocole utiliser.
Une fois la configuration de toutes les conditions préalables requises pour Operations Manager, effectuez les étapes suivantes sur tous les serveurs d’administration, le serveur hébergeant le rôle de console web et sur n’importe quel ordinateur Windows sur lequel l’agent est installé.
Important
Suivez attentivement les étapes décrites dans cette section. De graves problèmes peuvent se produire si vous modifiez le Registre de façon incorrecte. Avant d’apporter des modifications, sauvegardez le Registre pour la restauration en cas de problèmes.
Remarque
SCOM s’exécutant sur Windows OS 2012 a besoin de modifications supplémentaires pour utiliser TLS 1.2 sur HTTP pour la surveillance UNIX/LINUX. Pour 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 la mise à jour pour activer TLS 1.1 et TLS 1.2 comme protocoles sécurisés par défaut dans WinHTTP dans Windows.
- Installez KB3140245 sur les serveurs de serveurs d’administration/passerelles dans le pool de ressources UNIX/LINUX.
- Sauvegardez les registres modifiés comme indiqué dans l’article de la Base de connaissances.
- Téléchargez et exécutez l’outil Easy Fix sur les serveurs d’administration/passerelles dans le pool de ressources UNIX/LINUX.
- Redémarrez les serveurs.
Modifier manuellement le Registre
- Ouvrez l'Éditeur du Registre
- Recherchez la sous-clé de Registre suivante :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727
- Créez les paires de valeurs DWORD suivantes :
- SchUseStrongCrypto [Value = 1]
- SystemDefaultTlsVersions [Value = 1]
- Créez les paires de valeurs DWORD suivantes :
- Recherchez la sous-clé de Registre suivante :
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v2.0.50727
- Créez les paires de valeurs DWORD suivantes :
- SchUseStrongCrypto [Value = 1]
- SystemDefaultTlsVersions [Value = 1]
- Créez les paires de valeurs DWORD suivantes :
- Recherchez la sous-clé de Registre suivante :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319
- Créez les paires de valeurs DWORD suivantes :
- SchUseStrongCrypto [Value = 1]
- SystemDefaultTlsVersions [Value = 1]
- Créez les paires de valeurs DWORD suivantes :
- Recherchez la sous-clé de Registre suivante :
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319
- Créez les paires de valeurs DWORD suivantes :
- SchUseStrongCrypto [Value = 1]
- SystemDefaultTlsVersions [Value = 1]
- Créez les paires de valeurs DWORD suivantes :
- Redémarrez le système pour que les paramètres s’appliquent.
Modifier automatiquement le Registre
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 :
# 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
Paramètres supplémentaires
Si cette opération est implémentée pour System Center 2016 - Operations Manager, 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 : \Program Files\Microsoft System Center 2016\Operations Manager\Server\Management Packs for Update Rollups.
Si vous monitorez une version prise en charge d’un serveur Linux avec Operations Manager, suivez les instructions du site web de votre distributeur pour configurer TLS 1.2.
Services de collecte d’audit
Pour Audit Collection Services (ACS), vous devez apporter des modifications supplémentaires dans le Registre sur le serveur collecteur ACS. ACS utilise le DSN pour établir des connexions à la base de données. Vous devez mettre à jour les paramètres DSN pour les rendre fonctionnels pour TLS 1.2.
Connectez-vous au serveur en utilisant un compte disposant des informations d’identification d’administration locales.
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.
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.
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.
Sous la sous-clé OpsMgrAC , mettez à jour le pilote pour la version ODBC installée.
- Si ODBC 11.0 est installé, remplacez l’entrée
%WINDIR%\system32\msodbcsql11.dll
du pilote par . - Si ODBC 13.0 est installé, remplacez l’entrée
%WINDIR%\system32\msodbcsql13.dll
du pilote par . - Si ODBC 17.0 est installé, remplacez l’entrée
%WINDIR%\system32\msodbcsql17.dll
du pilote par . - Si ODBC 18.0 est installé, remplacez l’entrée
%WINDIR%\system32\msodbcsql18.dll
du pilote par .
- Si ODBC 11.0 est installé, remplacez l’entrée
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), vous devez apporter des modifications supplémentaires dans le Registre sur le serveur collecteur ACS. ACS utilise le DSN pour établir des connexions à la base de données. Vous devez mettre à jour les paramètres DSN pour les rendre fonctionnels pour TLS 1.2.
- Connectez-vous au serveur en utilisant un compte disposant des informations d’identification d’administration locales.
- 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.
- 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.
- 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 17 est installé, remplacez ce nom par ODBC Driver 17 pour SQL Server.
- Sous la sous-clé OpsMgrAC , mettez à jour le pilote pour la version ODBC installée.
- Par exemple, si ODBC 17 est installé, remplacez l’entrée
%WINDIR%\system32\msodbcsql17.dll
du pilote par . - Vérifiez le nom de la DLL pour la version actuelle du pilote ODBC installée si elle est différente.
- Par exemple, si ODBC 17 est installé, remplacez l’entrée
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
Pour obtenir la liste complète des ports utilisés, la direction de la communication et, si les ports peuvent être configurés, consultez Configuration d’un pare-feu pour Operations Manager.
Pour une révision globale de la façon dont les données entre les composants d’un groupe d’administration sont protégées, consultez Authentification et chiffrement des données dans Operations Manager.