Erzwingen von TLS 1.2 für Operations Manager
In diesem Artikel wird beschrieben, wie System Center Operations Manager die Verwendung von Transport Layer Security (TLS) 1.2 ermöglicht.
Hinweis
Operations Manager verwendet das auf Betriebssystemebene konfigurierte Protokoll. Wenn beispielsweise alle Protokolle aktiviert sind, wählt Operations Manager eines der drei Protokolle in der folgenden Präferenzreihenfolge aus:
- TLS-Version 1.0
- TLS-Version 1.1
- TLS-Version 1.2
Der Schannel SSP wählt dann das bevorzugte Authentifizierungsprotokoll, das Client und Server unterstützen können.
Führen Sie die folgenden Schritte aus, um die TLS-Protokollversion 1.2 in Operations Manager zu implementieren:
Hinweis
Microsoft OLE DB-Treiber 18 für SQL Server (empfohlen) wird mit Operations Manager 2016 UR9 und höher unterstützt.
Installieren Sie SQL Server 2012 Native Client 11.0 oder Microsoft OLE DB Driver (x64) auf allen Verwaltungsservern und dem Webkonsolenserver.
Installieren Sie Microsoft ODBC-Treiber (x64) auf allen Verwaltungsservern und dem Webkonsolenserver.
Installieren Sie das erforderliche SQL Server-Update, das TLS 1.2 unterstützt.
Installieren Sie mindestens das Updaterollup 4 für Operations Manager 2016 auf allen Komponenten.
Stellen Sie sicher, dass auf allen Servern mindestens .NET Framework 4.6 als kompatibel mit der Betriebssystemversion installiert ist: .NET Framework-Versionen und -Abhängigkeiten
- Installieren Sie .NET Framework 4.8 nicht, da es bekannte Inkompatibilitäten mit Operations Manager 2016 gibt.
Konfigurieren Sie Windows so, dass nur TLS 1.2 verwendet wird.
Konfigurieren Sie .NET Framework so, dass sie standardmäßig höhere Kryptografieebenen verwenden.
Konfigurieren Sie die Audit Collection Services, wenn sie installiert sind.
Installieren Sie Microsoft OLE DB-Treiber für SQL , Version 18.7.4, auf allen Verwaltungsservern und auf dem Webkonsolenserver.
Installieren Sie Microsoft ODBC-Treiber für SQL , Version 17.10.6, auf allen Verwaltungsservern und auf dem Webkonsolenserver.
Konfigurieren Sie Windows so, dass nur TLS 1.2 verwendet wird.
Konfigurieren Sie .NET Framework so, dass sie standardmäßig höhere Kryptografieebenen verwenden.
Konfigurieren Sie die Audit-Erfassungsdienste, falls diese installiert sind.
Hinweis
Wenn Sie die SQL Server-Verbindungsverschlüsselung verwenden, installieren Sie stattdessen diese Treiberversionen:
- Microsoft OLE DB-Treiber 19: https://aka.ms/downloadmsoledbsql
- Microsoft ODBC-Treiber 18: https://aka.ms/downloadmsodbcsql
Weitere Informationen zum Konfigurieren der SQL-Verbindungsverschlüsselung finden Sie hier: Konfigurieren von SQL Server-Datenbank-Engine zum Verschlüsseln von Verbindungen
Operations Manager generiert SELBSTsignierte SHA1- und SHA2-Zertifikate, die zum Aktivieren von TLS 1.2 erforderlich sind. Wenn von einer Zertifizierungsstelle signierte Zertifikate verwendet werden, stellen Sie sicher, dass die Zertifikate entweder SHA1 oder SHA2 sind.
Hinweis
Wenn Sicherheitsrichtlinien TLS 1.0 und 1.1 einschränken, schlägt die Installation einer neuen Operations Manager 2016-Rolle fehl, da die Setupmedien nicht die Updates zur Unterstützung von TLS 1.2 enthalten. Um die Einrichtung einer neuen Rolle fortzusetzen, aktivieren Sie TLS 1.0 auf dem System, wenden Sie Updaterollup 4an, und redisierbare TLS 1.0 auf dem System.
Konfigurieren des Windows-Betriebssystems für die ausschließliche Verwendung des TLS 1.2-Protokolls
Verwenden Sie eine der folgenden Methoden, um Windows so zu konfigurieren, dass nur das TLS 1.2-Protokoll verwendet wird.
Methode 1: Manuelles Ändern der Registrierung
Wichtig
Folgen Sie den Schritten in diesem Abschnitt sorgfältig. Schwerwiegende Probleme können auftreten, wenn die Registrierung falsch geändert wird. Bevor Sie Änderungen vornehmen, sichern Sie die Registrierungen, falls Probleme auftreten.
Weitere Informationen finden Sie unter: Sichern und Wiederherstellen der Registrierung in Windows
Führen Sie die folgenden Schritte aus, um SChannel-Protokolle systemweit zu ändern. Es wird empfohlen, das TLS 1.2-Protokoll explizit zu aktivieren.
Hinweis
Diese Änderungen in der Registrierung haben keine Auswirkungen auf die Verwendung der Kerberos‑ oder NTLM-Protokolle.
Melden Sie sich auf dem Server mit einem Konto an, das über lokale Administratoranmeldeinformationen verfügt.
Starten Sie den Registrierungs-Editor, indem Sie Start auswählen und gedrückt halten, regedit im Textfeld Ausführen eingeben und dann auf OK klicken.
Suchen Sie den folgenden Registrierungsunterschlüssel:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
Erstellen Sie unter "Protokolle" einen Unterschlüssel für:
- SSL 2.0
- SSL 3.0
- TLS 1.0
- TLS 1.1
- TLS 1.2-
Erstellen Sie einen -Client--Unterschlüssel und einen -Server--Unterschlüssel unter jedem zuvor erstellten Protokollversionsunterschlüssel. Beispielsweise wäre der Unterschlüssel für TLS 1.0
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
Um eines Protokolls zu deaktivieren, erstellen Sie die folgenden DWORD-Werte unter Server- und Client-:
- Enabled [Value = 0]
- DisabledByDefault [Value = 1]
Um explizit das TLS 1.2-Protokoll zu aktivieren (Standard ist aktiviert), erstellen Sie die folgenden Registrierungsschlüssel:
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
Erstellen Sie dann die folgenden DWORD-Werte unter Server und Client:
- Enabled [Wert = 1]
- DisabledByDefault [Wert = 0]
Schließen Sie den Registrierungs-Editor.
Methode 2: Ändern der Registrierung mit PowerShell
Führen Sie das folgende Windows PowerShell-Skript als Administrator aus, um das Windows-Betriebssystem für die Verwendung des TLS 1.2-Protokolls zu konfigurieren:
$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 " "
}
Konfigurieren von .NET Framework für die Verwendung höherer Kryptografieebenen
.NET Framework erfordert in der Regel, dass die Anwendung definiert, welches TLS-Protokoll für die Kommunikation verwendet werden soll. In der Instanz von Operations Manager müssen wir .NET Framework jedoch systemweit mitteilen, welches Protokoll verwendet werden soll.
Führen Sie nach Abschluss der Konfiguration aller Voraussetzungen für Operations Manager die folgenden Schritte auf allen Operations Manager-Servern und auf allen Windows-Agents aus.
Wichtig
Folgen Sie den Schritten in diesem Abschnitt sorgfältig. Schwerwiegende Probleme können auftreten, wenn die Registrierung falsch geändert wird. Bevor Sie Änderungen vornehmen, sichern Sie die Registrierungen, falls Probleme auftreten.
Weitere Informationen finden Sie unter: Sichern und Wiederherstellen der Registrierung in Windows
Voraussetzungen für Windows Server 2012/2012 R2
Zusätzliche Änderungen sind unter Windows Server 2012/2012 R2 erforderlich, um TLS 1.2 über HTTP für UNIX/LINUX-Überwachung zu verwenden. Um TLS 1.2 als Standardsicherheitsprotokolle in WinHTTP in Windows zuzulassen/zu aktivieren, müssen die folgenden Änderungen gemäß Update vorgenommen werden, um TLS 1.1 und TLS 1.2 als Standardsicherheitsprotokolle in WinHTTP in Windowszu aktivieren.
- Installieren Sie KB3140245 auf den Verwaltungsservern/Gateways-Servern im UNIX/LINUX-Ressourcenpool.
- Sichern Sie die Registrierdatenbanken, die laut dem KB-Artikel geändert werden.
- Laden Sie das Tool Easy Fix auf den Verwaltungsservern/Gateways im UNIX/LINUX-Ressourcenpool herunter, und führen Sie es aus.
- Starten Sie die Server neu.
Methode 1: Manuelles Ändern der Registrierung
- Öffnen Sie den Registrierungs-Editor.
- Suchen Sie den folgenden Registrierungsunterschlüssel:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727
- Erstellen Sie die folgenden DWORD-Wertpaare:
- SchUseStrongCrypto [Wert = 1]
- SystemDefaultTlsVersions [Wert = 1]
- Erstellen Sie die folgenden DWORD-Wertpaare:
- Suchen Sie den folgenden Registrierungsunterschlüssel:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v2.0.50727
- Erstellen Sie die folgenden DWORD-Wertpaare:
- SchUseStrongCrypto [Wert = 1]
- SystemDefaultTlsVersions [Wert = 1]
- Erstellen Sie die folgenden DWORD-Wertpaare:
- Suchen Sie den folgenden Registrierungsunterschlüssel:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319
- Erstellen Sie die folgenden DWORD-Wertpaare:
- SchUseStrongCrypto [Wert = 1]
- SystemDefaultTlsVersions [Wert = 1]
- Erstellen Sie die folgenden DWORD-Wertpaare:
- Suchen Sie den folgenden Registrierungsunterschlüssel:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319
- Erstellen Sie die folgenden DWORD-Wertpaare:
- SchUseStrongCrypto [Wert = 1]
- SystemDefaultTlsVersions [Wert = 1]
- Erstellen Sie die folgenden DWORD-Wertpaare:
- Starten Sie das System neu, damit die Einstellungen wirksam werden.
Methode 2: Ändern der Registrierung mit PowerShell
Führen Sie das folgende Windows PowerShell-Skript im Administratormodus aus, um .NET Framework automatisch zu konfigurieren, um frameworkvererbte TLS 1.0-Abhängigkeiten zu verhindern:
# 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
Zusätzliche Einstellungen
Stellen Sie nach dem Anwenden des Updaterollups 4 sicher, dass Sie die Management Packs importieren, die in diesem Rollup enthalten sind, das sich im folgenden Verzeichnis befindet: %ProgramFiles%\Microsoft System Center 2016\Operations Manager\Server\Management Packs for Update Rollups
.
Wenn Sie eine unterstützte Version von Linux-Server mit Operations Manager überwachen, befolgen Sie die Anweisungen auf der entsprechenden Website, um TLS 1.2 zu konfigurieren.
Audit-Erfassungsdienste
Für Audit Collection Services (ACS) müssen zusätzliche Änderungen in der Registrierung auf dem ACS Collector-Server vorgenommen werden. ACS verwendet den ODBC-Datenquellennamen (DSN), um Verbindungen mit der Datenbank herzustellen. Stellen Sie sicher, dass die DSN-Einstellungen aktualisiert werden, damit sie für TLS 1.2 funktionsfähig sind.
- Melden Sie sich auf dem Server mit einem Konto an, das über lokale Administratoranmeldeinformationen verfügt.
- Starten Sie den Registrierungs-Editor, indem Sie Start auswählen und gedrückt halten, regedit im Textfeld Ausführen eingeben und dann auf OK klicken.
- Suchen Sie den folgenden ODBC-Unterschlüssel für OpsMgrAC:
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC
.-
Beachten Sie, dass der Standardmäßige DSN-Name
OpsMgrAC
ist.
-
Beachten Sie, dass der Standardmäßige DSN-Name
- Wählen Sie unter dem Unterschlüssel ODBC-Datenquellen den DSN-Namen OpsMgrAC aus. Dieser enthält den Namen des ODBC-Treibers, der für die Datenbankverbindung verwendet werden soll. Wenn ODBC 11.0 installiert ist, ändern Sie diesen Namen in ODBC-Treiber 11 für SQL Serveroder wenn ODBC 13.0 installiert ist, ändern Sie diesen Namen in ODBC-Treiber 13 für SQL Server.
- Aktualisieren Sie im Unterschlüssel OpsMgrAC den Treiber für die installierte ODBC-Version.
- Wenn ODBC 11.0 installiert ist, ändern Sie den Treibereintrag in
%WINDIR%\system32\msodbcsql11.dll
. - Wenn ODBC 13.0 installiert ist, ändern Sie den Treibereintrag in
%WINDIR%\system32\msodbcsql13.dll
. - Wenn ODBC 17.0 installiert ist, ändern Sie den Treibereintrag in
%WINDIR%\system32\msodbcsql17.dll
. - Wenn ODBC 18.0 installiert ist, ändern Sie den Treibereintrag in
%WINDIR%\system32\msodbcsql18.dll
.
- Wenn ODBC 11.0 installiert ist, ändern Sie den Treibereintrag in
Registrierungsdatei
Alternativ können Sie die folgende .reg-Datei im Editor oder in einem anderen Text-Editor erstellen und speichern. Um die gespeicherte .reg-Datei auszuführen, doppelklicken Sie auf die Datei.
Für ODBC 11.0, 13.0, 17.x oder 18.x. Erstellen Sie die folgende Datei ODBC.reg und (ersetzen Sie durch die verwendete ODBC-Version):
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
Führen Sie alternativ die folgenden PowerShell-Befehle aus, um die Änderung zu automatisieren.
Führen Sie für ODBC 11.0 die folgenden PowerShell-Befehle aus:
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
Führen Sie für ODBC 13.0 die folgenden PowerShell-Befehle aus:
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-Sammeldienste
Für Überwachungssammlungsdienste (Audit Collection Services, ACS) müssen zusätzliche Änderungen in der Registrierung auf dem ACS Collector-Server vorgenommen werden. ACS verwendet den ODBC-Datenquellennamen (DSN), um Verbindungen mit der Datenbank herzustellen. Stellen Sie sicher, dass die DSN-Einstellungen aktualisiert werden, damit sie für TLS 1.2 funktionsfähig sind.
Melden Sie sich auf dem Server mit einem Konto an, das über lokale Administratoranmeldeinformationen verfügt.
Starten Sie den Registrierungs-Editor, indem Sie Start auswählen und gedrückt halten, regedit im Textfeld Ausführen eingeben und dann auf OK klicken.
Suchen Sie den folgenden ODBC-Unterschlüssel für OpsMgrAC:
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC
.Hinweis
Der Standardname von DSN ist OpsMgrAC.
Wählen Sie unter dem Unterschlüssel ODBC-Datenquellen den DSN-Namen OpsMgrAC aus. Dieser enthält den Namen des ODBC-Treibers, der für die Datenbankverbindung verwendet werden soll. Wenn ODBC 17 installiert ist, ändern Sie diesen Namen in ODBC-Treiber 17 für SQL Server.
Aktualisieren Sie im Unterschlüssel OpsMgrAC den Treiber für die installierte ODBC-Version.
- Wenn beispielsweise ODBC 17 installiert ist, ändern Sie den Treibereintrag in
%WINDIR%\system32\msodbcsql17.dll
. - Überprüfen Sie den Namen der DLL für die aktuelle Version des INSTALLIERTen ODBC-Treibers, falls dies anders ist.
- Wenn beispielsweise ODBC 17 installiert ist, ändern Sie den Treibereintrag in
Registrierungsdatei
Alternativ können Sie die folgende .reg-Datei im Editor oder einem anderen Texteditor erstellen und speichern. Um die gespeicherte .reg-Datei auszuführen, doppelklicken Sie auf die Datei.
Erstellen Sie für ODBC 17 die folgende ODBC 17.reg-Datei:
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
Führen Sie alternativ die folgenden PowerShell-Befehle aus, um die Änderung zu automatisieren.
Stellen Sie sicher, dass Sie den DLL-Dateipfad zu einer geeigneten Version ersetzen, wenn Sie eine andere ODBC-Treiberversion als 17 verwenden.
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
Nächste Schritte
- Weitere Informationen zu TLS 1.0 aus unserem Security Engineering-Team finden Sie unter Lösung des TLS 1.0-Problems.
- Eine vollständige Auflistung der verwendeten Ports, die Richtung der Kommunikation und die Konfigurationsmöglichkeiten für Ports finden Sie unter Konfigurieren einer Firewall für Operations Manager.
- Eine allgemeine Überprüfung, wie Daten zwischen Komponenten in einer Verwaltungsgruppe geschützt werden, finden Sie unter Authentifizierung und Datenverschlüsselung in Operations Manager.