Implementieren von Transport Layer Security 1.2
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 TLS 1.0, TLS 1.1 und TLS 1.2 auf Betriebssystemebene aktiviert sind, wählt Operations Manager eines der drei Protokolle in der folgenden bevorzugten Reihenfolge aus:
- TLS-Version 1.2
- TLS-Version 1.1
- TLS-Version 1.0
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 SCOM 2016 für alle Komponenten.
- Stellen Sie sicher, dass Ihre Server mindestens .NET 4.6 mit Ihrem Betriebssystem kompatibel installiert haben: .NET Framework-Versionen und Abhängigkeiten
- Installieren Sie .NET 4.8 nicht, da bekannte Probleme mit SCOM 2016-Inkompatibilitäten aufgetreten sind.
- Konfigurieren Sie Windows so, dass nur TLS 1.2 verwendet wird.
- Konfigurieren Sie .NET so, dass TLS 1.2 standardmäßig verwendet wird.
- Konfigurieren Sie die Überwachungssammlungsdienste, 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 so, dass TLS 1.2 standardmäßig verwendet wird.
- Konfigurieren Sie die Überwachungssammlungsdienste, wenn sie installiert sind.
Hinweis
Wenn Sie die SQL Server-Verbindungsverschlüsselung verwenden, müssen Sie stattdessen diese Treiberversionen installieren:
- 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. Dies ist erforderlich, um TLS 1.2 zu aktivieren. Wenn von einer Zertifizierungsstelle signierte Zertifikate verwendet werden, stellen Sie sicher, dass die Zertifikate entweder SHA1 oder SHA2 sind.
Hinweis
Wenn Ihre Sicherheitsrichtlinien TLS 1.0 und 1.1 einschränken, tritt beim Installieren eines neuen Operations Manager 2016-Verwaltungsservers, eines Gatewayservers, einer Webkonsole und einer Reporting Services-Rolle ein Fehler auf, da die Setupmedien nicht die nötigen Updates enthalten, um TLS 1.2 zu unterstützen. Die einzige Möglichkeit, diese Rollen zu installieren, besteht darin, TLS 1.0 auf dem System zu aktivieren, Updaterollup 4 anzuwenden und dann TLS 1.2 auf dem System zu aktivieren. Diese Einschränkung gilt nicht für Operations Manager, Version 1801.
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: Manuelle Bearbeitung der Registrierung
Wichtig
Folgen Sie den Schritten in diesem Abschnitt sorgfältig. Wird die Registrierung falsch angepasst, können schwerwiegende Probleme auftreten. Bevor Sie sie ändern, sichern Sie die Registrierung zwecks Wiederherstellung für den Fall, dass Probleme auftreten.
Führen Sie die folgenden Schritte aus, um alle SCHANNEL-Protokolle im gesamten System zu aktivieren oder zu deaktivieren. Sie sollten das TLS 1.2-Protokoll für alle eingehende und ausgehende Kommunikation 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 Unterscchlüssel Client und Server unter dem Protokoll-Versionsunterschlüssel, den Sie zuvor erstellt haben. 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
Erstellen Sie die folgenden DWORD-Werte unter Server und Client, um jedes Protokoll zu deaktivieren.
- Enabled [Value = 0]
- DisabledByDefault [Value = 1]
Um das TLS 1.2-Protokoll zu aktivieren, 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: Automatische Bearbeitung der Registrierung
Führen Sie das folgende Windows PowerShell-Skript als Admin aus, um das Windows-Betriebssystem automatisch so zu konfigurieren, dass nur das TLS 1.2-Protokoll verwendet wird:
$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 " "
}
Konfigurieren von .NET Framework für die Verwendung von TLS 1.2
.NET erfordert in der Regel, dass die Anwendung definiert, welches TLS-Protokoll für die Kommunikation verwendet werden soll. In der Instanz von SCOM müssen wir jedoch .NET 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 Verwaltungsservern, dem Server mit der Webkonsolenrolle und auf jedem Windows-Computer aus, auf dem der Agent installiert ist.
Wichtig
Folgen Sie den Schritten in diesem Abschnitt sorgfältig. Wird die Registrierung falsch angepasst, können schwerwiegende Probleme auftreten. Bevor Sie Änderungen durchführen, sichern Sie die Registrierung zwecks Wiederherstellung für den Fall, dass Probleme auftreten.
Hinweis
SCOM unter Windows OS 2012 benötigt zusätzliche Änderungen zur Verwendung von TLS 1.2 über HTTP für UNIX/LINUX-Überwachung. Um TLS 1.2 als Standardsicherheitsprotokolle in WinHTTP in Windows zu aktivieren, müssen die folgenden Änderungen gemäß Update zur Aktivierung von TLS 1.1 und TLS 1.2 als standardsichere Protokolle in WinHTTP in Windows ausgeführt werden.
- Installieren Sie KB3140245 auf den Verwaltungsservern/Gateways-Servern im UNIX/LINUX-Ressourcenpool.
- Sichern Sie die Registrierungen, die wie im KB-Artikel erwähnt 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.
Ändern Sie die Registrierung manuell
- Ö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.
Automatische Änderung der Registrierung
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:
# 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
Zusätzliche Einstellungen
Wenn dies für System Center 2016 – Operations Manager implementiert wird, stellen Sie nach dem Anwenden des Updaterollups 4 sicher, dass die in diesem Rollup im folgenden Verzeichnis enthaltenen Management Packs importiert werden: \Program Files\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 für Ihre Distribution zur Konfiguration von TLS 1.2.
Überwachungssammeldienste
Für Überwachungssammlungsdienste (Audit Collection Services, ACS) müssen Sie zusätzliche Änderungen in der Registrierung auf dem ACS-Sammlungsserver vornehmen. ACS verwendet DSN, um Verbindungen mit der Datenbank herzustellen. Sie müssen DSN-Einstellungen aktualisieren, um sie für TLS 1.2 funktionsfähig zu machen.
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 Sie ODBC 11.0 installiert haben, ändern Sie diesen Namen in ODBC Driver 11 for SQL Server, oder wenn ODBC 13.0 installiert ist, ändern Sie diesen Namen in ODBC Driver 13 for 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 in Editor oder 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
Alternativ können Sie die folgenden PowerShell-Befehle ausführen, 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
Überwachungssammeldienste
Für Überwachungssammlungsdienste (Audit Collection Services, ACS) müssen Sie zusätzliche Änderungen in der Registrierung auf dem ACS-Sammlungsserver vornehmen. ACS verwendet DSN, um Verbindungen mit der Datenbank herzustellen. Sie müssen DSN-Einstellungen aktualisieren, um sie für TLS 1.2 funktionsfähig zu machen.
- 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 Driver 17 for 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 in Editor oder einem anderen Text-Editor 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
Alternativ können Sie die folgenden PowerShell-Befehle ausführen, 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
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.