Freigeben über


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:

  1. TLS-Version 1.0
  2. TLS-Version 1.1
  3. 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.

  1. Installieren Sie SQL Server 2012 Native Client 11.0 oder Microsoft OLE DB Driver (x64) auf allen Verwaltungsservern und dem Webkonsolenserver.

  2. Installieren Sie Microsoft ODBC-Treiber (x64) auf allen Verwaltungsservern und dem Webkonsolenserver.

  3. Installieren Sie das erforderliche SQL Server-Update, das TLS 1.2 unterstützt.

  4. Installieren Sie mindestens das Updaterollup 4 für Operations Manager 2016 auf allen Komponenten.

  5. 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

    1. Installieren Sie .NET Framework 4.8 nicht, da es bekannte Inkompatibilitäten mit Operations Manager 2016 gibt.
  6. Konfigurieren Sie Windows so, dass nur TLS 1.2 verwendet wird.

  7. Konfigurieren Sie .NET Framework so, dass sie standardmäßig höhere Kryptografieebenen verwenden.

  8. Konfigurieren Sie die Audit Collection Services, wenn sie installiert sind.

  1. Installieren Sie Microsoft OLE DB-Treiber für SQL , Version 18.7.4, auf allen Verwaltungsservern und auf dem Webkonsolenserver.

  2. Installieren Sie Microsoft ODBC-Treiber für SQL , Version 17.10.6, auf allen Verwaltungsservern und auf dem Webkonsolenserver.

  3. Konfigurieren Sie Windows so, dass nur TLS 1.2 verwendet wird.

  4. Konfigurieren Sie .NET Framework so, dass sie standardmäßig höhere Kryptografieebenen verwenden.

  5. Konfigurieren Sie die Audit-Erfassungsdienste, falls diese installiert sind.

Hinweis

Wenn Sie die SQL Server-Verbindungsverschlüsselung verwenden, installieren Sie stattdessen diese Treiberversionen:

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.

  1. Melden Sie sich auf dem Server mit einem Konto an, das über lokale Administratoranmeldeinformationen verfügt.

  2. 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.

  3. Suchen Sie den folgenden Registrierungsunterschlüssel:

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

  4. Erstellen Sie unter "Protokolle" einen Unterschlüssel für:

    • SSL 2.0
    • SSL 3.0
    • TLS 1.0
    • TLS 1.1
    • TLS 1.2-
  5. 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
  6. Um eines Protokolls zu deaktivieren, erstellen Sie die folgenden DWORD-Werte unter Server- und Client-:

    • Enabled [Value = 0]
    • DisabledByDefault [Value = 1]
  7. 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
  8. Erstellen Sie dann die folgenden DWORD-Werte unter Server und Client:

    • Enabled [Wert = 1]
    • DisabledByDefault [Wert = 0]
  9. 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.

  1. Installieren Sie KB3140245 auf den Verwaltungsservern/Gateways-Servern im UNIX/LINUX-Ressourcenpool.
  2. Sichern Sie die Registrierdatenbanken, die laut dem KB-Artikel geändert werden.
  3. Laden Sie das Tool Easy Fix auf den Verwaltungsservern/Gateways im UNIX/LINUX-Ressourcenpool herunter, und führen Sie es aus.
  4. Starten Sie die Server neu.

Methode 1: Manuelles Ändern der Registrierung

  1. Öffnen Sie den Registrierungs-Editor.
  2. Suchen Sie den folgenden Registrierungsunterschlüssel: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727
    1. Erstellen Sie die folgenden DWORD-Wertpaare:
      • SchUseStrongCrypto [Wert = 1]
      • SystemDefaultTlsVersions [Wert = 1]
  3. Suchen Sie den folgenden Registrierungsunterschlüssel: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v2.0.50727
    1. Erstellen Sie die folgenden DWORD-Wertpaare:
      • SchUseStrongCrypto [Wert = 1]
      • SystemDefaultTlsVersions [Wert = 1]
  4. Suchen Sie den folgenden Registrierungsunterschlüssel: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319
    1. Erstellen Sie die folgenden DWORD-Wertpaare:
      • SchUseStrongCrypto [Wert = 1]
      • SystemDefaultTlsVersions [Wert = 1]
  5. Suchen Sie den folgenden Registrierungsunterschlüssel: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319
    1. Erstellen Sie die folgenden DWORD-Wertpaare:
      • SchUseStrongCrypto [Wert = 1]
      • SystemDefaultTlsVersions [Wert = 1]
  6. 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.

  1. Melden Sie sich auf dem Server mit einem Konto an, das über lokale Administratoranmeldeinformationen verfügt.
  2. 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.
  3. Suchen Sie den folgenden ODBC-Unterschlüssel für OpsMgrAC: HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC.
    1. Beachten Sie, dass der Standardmäßige DSN-Name OpsMgrACist.
  4. 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.
  5. 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.

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.

  1. Melden Sie sich auf dem Server mit einem Konto an, das über lokale Administratoranmeldeinformationen verfügt.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

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