Freigeben über


bewährte Methoden für die Exchange Server der TLS-Konfiguration

In dieser Dokumentation werden die erforderlichen Schritte zum ordnungsgemäßen Konfigurieren (Aktivieren oder Deaktivieren) bestimmter TLS-Versionen unter Exchange Server 2013, Exchange Server 2016 und Exchange Server 2019 beschrieben. In diesem Artikel wird auch erläutert, wie Sie die von TLS verwendeten Verschlüsselungssammlungen und Hashalgorithmen optimieren. Wenn TLS nicht ordnungsgemäß konfiguriert ist, können verschiedene Probleme bei der Interaktion mit Microsoft 365 oder anderen Systemen auftreten, die so konfiguriert sind, dass sie einen bestimmten TLS-Mindeststandard erfordern.

Wenn Sie mehr über die TLS- (und SSL)-Protokolle erfahren möchten, lesen Sie den Artikel Transport Layer Security-Protokoll .

Wichtig

Lesen Sie sorgfältig, da einige der hier beschriebenen Schritte nur unter bestimmten Betriebssystemen oder bestimmten Exchange Server Versionen ausgeführt werden können.

Am Anfang jedes Abschnitts befindet sich eine Matrix, die anzeigt, ob eine Einstellung unterstützt wird oder nicht und ob sie bereits von einer bestimmten Exchange Server Version vorkonfiguriert wurde.

Zu berücksichtigende Punkte vor dem Deaktivieren einer TLS-Version

Tipp

Sie können das Exchange HealthChecker-Skript verwenden, um die aktuelle TLS-Konfiguration Ihres Exchange-Servers zu überprüfen.

Stellen Sie sicher, dass jede Anwendung die TLS-Versionen unterstützt, die weiterhin aktiviert sind. Überlegungen wie (aber nicht beschränkt auf):

  • Unterstützen Ihre Domänencontroller und globalen Katalogserver beispielsweise eine reine TLS 1.2-Konfiguration?
  • Unterstützen Partneranwendungen (z. B. SharePoint, Lync, Skype for Business usw.) beispielsweise eine reine TLS 1.2-Konfiguration?
  • Haben Sie ältere Windows 7-Desktops mit Outlook aktualisiert, um TLS 1.2 über WinHTTP zu unterstützen?
  • Unterstützen Ihre Lastenausgleichsmodule die Verwendung von TLS 1.2?
  • Unterstützen Ihre Desktop-, Mobil- und Browseranwendungen TLS 1.2?
  • Unterstützen Geräte wie Multifunktionsdrucker TLS 1.2?
  • Unterstützen Ihre drittanbieter- oder benutzerdefinierten internen Anwendungen, die in Exchange Server oder Microsoft 356 integriert sind, eine starke TLS-Implementierung?

Daher wird dringend empfohlen, dass alle Schritte, die Sie für den Übergang zu TLS 1.2 und von älteren Sicherheitsprotokollen ausführen, zuerst in Labs ausgeführt werden, die Ihre Produktionsumgebungen simulieren, bevor Sie sie langsam in der Produktion einführen.

Die Schritte zum Deaktivieren einer bestimmten TLS-Version, wie unten beschrieben, gelten für die folgenden Exchange Server Funktionen:

  • Simple Mail Transport Protocol (SMTP)
  • Outlook-Clientkonnektivität (Outlook Anywhere/MAPI/HTTP)
  • Exchange Active Sync (EAS)
  • Outlook im Web (OWA)
  • Exchange Admin Center (EAC) und Exchange Systemsteuerung (ECP)
  • Autoermittlung
  • Exchange-Webdienste (Exchange Web Services, EWS)
  • REST (Exchange Server 2016/2019)
  • Verwenden von PowerShell durch Exchange über HTTPS
  • POP und IMAP

Voraussetzungen

Tls 1.2-Unterstützung wurde mit Exchange Server 2013 CU19 und Exchange Server 2016 CU8 hinzugefügt. Exchange Server 2019 unterstützt standardmäßig TLS 1.2.

Exchange Server kann nicht ohne Windows Server ausgeführt werden. Daher ist es wichtig, dass die neuesten Betriebssystemupdates installiert sind, um eine stabile und sichere TLS-Implementierung auszuführen.

Es ist auch erforderlich, dass die neueste Version von .NET Framework und die zugehörigen Patches vorhanden sind, die von Ihrem CU unterstützt werden.

Stellen Sie basierend auf Ihrem Betriebssystem sicher, dass die folgenden Updates ebenfalls vorhanden sind (sie sollten installiert werden, wenn Ihr Server unter Windows Updates aktuell ist):

Wenn Ihr Betriebssystem Windows Server 2012 oder Windows Server 2012 R2 ist, müssen KB3161949 und KB2973337 installiert werden, bevor TLS 1.2 aktiviert werden kann.

Warnung

der erweiterte Support für Windows Server 2012 und Windows Server 2012 R2 wurde am 10. Oktober 2023 beendet. Diese Server erhalten keine Windows-Sicherheit Updates ohne ESU mehr. Es wird dringend empfohlen, so bald wie möglich zu einer unterstützten Version zu migrieren!

Stellen Sie sicher, dass Sie die Exchange Server neu starten, nachdem die TLS-Konfiguration angewendet wurde. Er wird aktiv, nachdem der Server neu gestartet wurde.

Vorbereiten .NET Framework zum Erben von Standardwerten von Schannel

Die folgende Tabelle zeigt die Exchange Server/Windows Server-Kombinationen mit der Standardkonfiguration .NET Framework Schannel-Vererbung:

Exchange Server Windows Server Unterstützt Standardmäßig konfiguriert
Exchange Server 2019 CU14 oder höher Beliebig Ja Ja (nur Neuinstallationen)
Exchange Server 2019 Beliebig Ja Teilweise (SchUseStrongCrypto muss manuell konfiguriert werden)
Exchange Server 2016 Beliebig Ja Nein (Betriebssystemstandardeinstellungen werden verwendet)
Exchange Server 2013 Beliebig Ja Nein (Betriebssystemstandardeinstellungen werden verwendet)

Der SystemDefaultTlsVersions Registrierungswert definiert, welche Standardversionen des Sicherheitsprotokolls von .NET Framework 4.x verwendet werden. Wenn der Wert auf 1festgelegt ist, erbt .NET Framework 4.x seine Standardwerte von den Windows Secure Channel (Schannel)DisabledByDefault-Registrierungswerten. Wenn der Wert nicht definiert ist, verhält er sich so, als wäre der Wert auf 0festgelegt.

Die starke Kryptografie (konfiguriert durch den SchUseStrongCrypto Registrierungswert) verwendet sicherere Netzwerkprotokolle (TLS 1.2 und TLS 1.1) und blockiert Protokolle, die nicht sicher sind. SchUseStrongCrypto betrifft nur Clientverbindungen (ausgehende Verbindungen) in Ihrer Anwendung. Durch die Konfiguration von .NET Framework 4.x, um die Werte von Schannel zu erben, erhalten wir die Möglichkeit, die neuesten Versionen von TLS zu verwenden, die vom Betriebssystem unterstützt werden, einschließlich TLS 1.2.

Aktivieren der .NET Framework 4.x Schannel-Vererbung

Führen Sie die folgenden Befehle in einem PowerShell-Fenster mit erhöhten Rechten aus, um die .NET Framework 4.x Schannel-Vererbung zu konfigurieren:

Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319" -Name "SystemDefaultTlsVersions" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319" -Name "SchUseStrongCrypto" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319" -Name "SystemDefaultTlsVersions" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319" -Name "SchUseStrongCrypto" -Value 1 -Type DWord

Aktivieren der .NET Framework 3.5 Schannel-Vererbung

Hinweis

Exchange Server 2013 und höher ist diese Einstellung nicht erforderlich. Es wird jedoch empfohlen, sie mit den .NET 4.x-Einstellungen identisch zu konfigurieren, um eine konsistente Konfiguration sicherzustellen.

Führen Sie die folgenden Befehle in einem PowerShell-Fenster mit erhöhten Rechten aus, um die .NET Framework 3.5 Schannel-Vererbung zu konfigurieren:

Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\.NETFramework\v2.0.50727" -Name "SystemDefaultTlsVersions" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\.NETFramework\v2.0.50727" -Name "SchUseStrongCrypto" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727" -Name "SystemDefaultTlsVersions" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727" -Name "SchUseStrongCrypto" -Value 1 -Type DWord

Schritte zum Konfigurieren von TLS 1.2

In der folgenden Tabelle sind die Exchange Server/Windows Server-Kombinationen aufgeführt, für die TLS 1.2 unterstützt wird. Die Tabelle enthält auch die Standardkonfiguration:

Exchange Server Windows Server Unterstützt Standardmäßig konfiguriert
Exchange Server 2019 Any Ja Ja (enabled)
Exchange Server 2016 Any Ja Nein
Exchange Server 2013 Any Ja Nein

Aktivieren von TLS 1.2

Führen Sie den folgenden Befehl in einem PowerShell-Fenster mit erhöhten Rechten aus, um TLS 1.2 für Client- und Serververbindungen zu aktivieren:

New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols" -Name "TLS 1.2" -ErrorAction SilentlyContinue
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2" -Name "Client" -ErrorAction SilentlyContinue
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2" -Name "Server" -ErrorAction SilentlyContinue
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" -Name "DisabledByDefault" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" -Name "Enabled" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" -Name "DisabledByDefault" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" -Name "Enabled" -Value 1 -Type DWord

Deaktivieren von TLS 1.2

Führen Sie den folgenden Befehl in einem PowerShell-Fenster mit erhöhten Rechten aus, um TLS 1.2 für Client- und Serververbindungen zu deaktivieren:

New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols" -Name "TLS 1.2" -ErrorAction SilentlyContinue
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2" -Name "Client" -ErrorAction SilentlyContinue
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2" -Name "Server" -ErrorAction SilentlyContinue
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" -Name "DisabledByDefault" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" -Name "Enabled" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" -Name "DisabledByDefault" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" -Name "Enabled" -Value 0 -Type DWord

Schritte zum Konfigurieren von TLS 1.1

In der folgenden Tabelle sind die Exchange Server/Windows Server-Kombinationen aufgeführt, für die TLS 1.1 unterstützt wird. Die Tabelle enthält auch die Standardkonfiguration:

Exchange Server Windows Server Unterstützt Standardmäßig konfiguriert
Exchange Server 2019 Beliebig Ja Ja (disabled)
Exchange Server 2016 Beliebig Ja Nein
Exchange Server 2013 Beliebig Ja Nein

Aktivieren von TLS 1.1

Hinweis

Die Microsoft TLS 1.1-Implementierung weist keine bekannten Sicherheitsrisiken auf. Aufgrund des Potenzials für zukünftige Protokoll downgrade-Angriffe und andere TLS-Sicherheitsrisiken wird jedoch empfohlen, TLS 1.1 sorgfältig zu planen und zu deaktivieren. Wenn Sie nicht sorgfältig planen, kann dies dazu führen, dass die Konnektivität für Clients verloren geht.

Führen Sie den folgenden Befehl in einem PowerShell-Fenster mit erhöhten Rechten aus, um TLS 1.1 für Client- und Serververbindungen zu aktivieren:

New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols" -Name "TLS 1.1" -ErrorAction SilentlyContinue
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1" -Name "Client" -ErrorAction SilentlyContinue
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1" -Name "Server" -ErrorAction SilentlyContinue
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client" -Name "DisabledByDefault" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client" -Name "Enabled" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server" -Name "DisabledByDefault" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server" -Name "Enabled" -Value 1 -Type DWord

Deaktivieren von TLS 1.1

Führen Sie den folgenden Befehl in einem PowerShell-Fenster mit erhöhten Rechten aus, um TLS 1.1 für Client- und Serververbindungen zu deaktivieren:

New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols" -Name "TLS 1.1" -ErrorAction SilentlyContinue
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1" -Name "Client" -ErrorAction SilentlyContinue
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1" -Name "Server" -ErrorAction SilentlyContinue
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client" -Name "DisabledByDefault" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client" -Name "Enabled" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server" -Name "DisabledByDefault" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server" -Name "Enabled" -Value 0 -Type DWord

Schritte zum Konfigurieren von TLS 1.0

In der folgenden Tabelle sind die Exchange Server/Windows Server-Kombinationen aufgeführt, für die TLS 1.0 unterstützt wird. Die Tabelle enthält auch die Standardkonfiguration:

Exchange Server Windows Server Unterstützt Standardmäßig konfiguriert
Exchange Server 2019 Any Ja Ja (disabled)
Exchange Server 2016 Beliebig Ja Nein
Exchange Server 2013 Beliebig Ja Nein

Aktivieren von TLS 1.0

Hinweis

Die Implementierung von Microsoft TLS 1.0 hat keine bekannten Sicherheitsschwachstellen. Aufgrund des Potenzials für zukünftige Protokolldowngradeangriffe und andere TLS-Sicherheitsrisiken wird jedoch empfohlen, TLS 1.0 sorgfältig zu planen und zu deaktivieren. Wenn Sie nicht sorgfältig planen, kann dies dazu führen, dass die Konnektivität für Clients verloren geht.

Führen Sie den folgenden Befehl in einem PowerShell-Fenster mit erhöhten Rechten aus, um TLS 1.0 für Client- und Serververbindungen zu aktivieren:

New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols" -Name "TLS 1.0" -ErrorAction SilentlyContinue
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0" -Name "Client" -ErrorAction SilentlyContinue
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0" -Name "Server" -ErrorAction SilentlyContinue
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client" -Name "DisabledByDefault" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client" -Name "Enabled" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server" -Name "DisabledByDefault" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server" -Name "Enabled" -Value 1 -Type DWord

Deaktivieren von TLS 1.0

Führen Sie den folgenden Befehl in einem PowerShell-Fenster mit erhöhten Rechten aus, um TLS 1.0 für Client- und Serververbindungen zu deaktivieren:

New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols" -Name "TLS 1.0" -ErrorAction SilentlyContinue
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0" -Name "Client" -ErrorAction SilentlyContinue
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0" -Name "Server" -ErrorAction SilentlyContinue
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client" -Name "DisabledByDefault" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client" -Name "Enabled" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server" -Name "DisabledByDefault" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server" -Name "Enabled" -Value 0 -Type DWord

Bewährte Methoden für Verschlüsselungs- und Hashalgorithmen

Wichtig

Die in diesem Abschnitt beschriebenen Schritte sind optional für die zuvor beschriebenen Schritte. Es ist erforderlich, TLS 1.2 zu konfigurieren und TLS 1.0 und 1.1 vollständig zu deaktivieren, bevor Sie die nächsten Schritte ausführen.

Erwägen Sie, diese Einstellungen separat anzuwenden, um TLS 1.0 und TLS 1.1 zu deaktivieren, um Konfigurationsprobleme mit problematischen Clients zu isolieren.

Konfigurieren des strikten Modus für client- und server-TLS-Neuverhandlung

In der folgenden Tabelle sind die Exchange Server/Windows Server-Kombinationen mit der Standardmäßigen Konfiguration der TLS-Neuverhandlung im strict-Modus aufgeführt:

Exchange Server Windows Server Unterstützt Standardmäßig konfiguriert
Exchange Server 2019 Any Ja Ja (strict mode enabled)
Exchange Server 2016 Beliebig Ja Nein
Exchange Server 2013 Beliebig Nein Nicht zutreffend

Diese Einstellungen werden verwendet, um den Strict-Modus für die TLS-Neuverhandlung zu konfigurieren. Dies bedeutet, dass der Server nur clients erlaubt, auf die dieses Sicherheitsupdate angewendet wird, TLS-Sitzungen einzurichten und neu auszuhandeln. Der Server lässt die Clients, auf die dieses Sicherheitsupdate angewendet wird, nicht zu, die TLS-Sitzung einzurichten. In diesem Fall beendet der Server solche Anforderungen von den Clients.

Wenn dieses Sicherheitsupdate auf den Client angewendet wird und sich der Client im strict-Modus befindet, kann der Client TLS-Sitzungen mit allen Servern einrichten und neu aushandeln, für die dieses Sicherheitsupdate angewendet wird. Die Clients können überhaupt keine TLS-Sitzungen mit Servern einrichten, auf die dieses Sicherheitsupdate nicht angewendet wird. Der Client kann mit einem TLS-Aushandlungsversuch mit solchen Servern nicht fortfahren.

Führen Sie den folgenden Befehl in einem PowerShell-Fenster mit erhöhten Rechten aus, um den Strict-Modus der Neuverhandlung zu aktivieren:

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL" -Name "AllowInsecureRenegoClients" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL" -Name "AllowInsecureRenegoServers" -Value 0 -Type DWord

In der folgenden Tabelle sind die Exchange Server/Windows Server-Kombinationen mit der standardmäßig empfohlenen Verschlüsselungssammlungskonfiguration aufgeführt:

Exchange Server Windows Server Unterstützt Standardmäßig konfiguriert
Exchange Server 2019 Any Ja Ja
Exchange Server 2016 Beliebig Ja Nein
Exchange Server 2013 Windows Server 2012 (R2) Ja Nein

Windows Server 2012 und Windows Server 2012 R2

Führen Sie die folgenden Befehle in einem PowerShell-Fenster mit erhöhten Rechten aus, um die empfohlenen Verschlüsselungssammlungen zu konfigurieren:

New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Cryptography\Configuration\Local\SSL\00010002" -Name "Functions" -PropertyType MultiString -Value "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P384,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384_P384,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384_P256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P384,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P256,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256" -Force

Windows Server 2016 oder höher

Hinweis

Es ist möglich, die Verschlüsselungssammlungen mithilfe eines Gruppenrichtlinie Object (GPO) zu konfigurieren. Sie können sie nicht manuell über Enable/Disable-TLSCipherSuite das Cmdlet konfigurieren, wenn sie bereits über das Gruppenrichtlinienobjekt konfiguriert wurden oder der Functions Registrierungsschlüssel bereits unter dem folgenden Pfad vorhanden ist: HKLM:\SOFTWARE\Policies\Microsoft\Cryptography\Configuration\SSL\00010002

Führen Sie die folgenden Befehle in einem PowerShell-Fenster mit erhöhten Rechten aus, um die empfohlenen Verschlüsselungssammlungen zu konfigurieren.

Die erste Aufgabe besteht darin, alle vorhandenen Verschlüsselungssammlungen zu deaktivieren:

foreach ($suite in (Get-TLSCipherSuite).Name) {
    if (-not([string]::IsNullOrWhiteSpace($suite))) {
        Disable-TlsCipherSuite -Name $suite -ErrorAction SilentlyContinue
    }
}

Die zweite Aufgabe besteht darin, nur die empfohlenen TLS 1.2-Verschlüsselungssammlungen zu aktivieren:

$cipherSuites = @('TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384',
                'TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256',
                'TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384',
                'TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256',
                'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384',
                'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256',
                'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384',
                'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256')

$suiteCount = 0
foreach ($suite in $cipherSuites) {
    Enable-TlsCipherSuite -Name $suite -Position $suiteCount
    $suiteCount++
}

Deaktivieren veralteter Verschlüsselungen und Hashes

In der folgenden Tabelle sind die Exchange Server/Windows Server-Kombinationen mit der Standardkonfiguration für veraltete Verschlüsselungen und Hashes aufgeführt:

Exchange Server Windows Server Unterstützt Standardmäßig konfiguriert
Exchange Server 2019 Any Ja Ja
Exchange Server 2016 Beliebig Ja Nein
Exchange Server 2013 Windows Server 2012 (R2) Ja Nein

Führen Sie den folgenden Befehl in einem PowerShell-Fenster mit erhöhten Rechten aus, um veraltete Verschlüsselungen und Hashes zu deaktivieren:

New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL" -Name "Hashes" -ErrorAction SilentlyContinue
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL" -Name "Ciphers" -ErrorAction SilentlyContinue
(Get-Item HKLM:).OpenSubKey("SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers", $true).CreateSubKey("DES 56/56")
(Get-Item HKLM:).OpenSubKey("SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers", $true).CreateSubKey("NULL")
(Get-Item HKLM:).OpenSubKey("SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers", $true).CreateSubKey("RC2 40/128")
(Get-Item HKLM:).OpenSubKey("SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers", $true).CreateSubKey("RC2 56/128")
(Get-Item HKLM:).OpenSubKey("SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers", $true).CreateSubKey("RC2 56/56")
(Get-Item HKLM:).OpenSubKey("SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers", $true).CreateSubKey("RC4 40/128")
(Get-Item HKLM:).OpenSubKey("SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers", $true).CreateSubKey("RC4 56/128")
(Get-Item HKLM:).OpenSubKey("SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers", $true).CreateSubKey("RC4 64/128")
(Get-Item HKLM:).OpenSubKey("SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers", $true).CreateSubKey("RC4 128/128")
(Get-Item HKLM:).OpenSubKey("SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers", $true).CreateSubKey("Triple DES 168")
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Hashes" -Name "MD5" -ErrorAction SilentlyContinue
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\DES 56/56" -Name "Enabled" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\NULL" -Name "Enabled" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC2 40/128" -Name "Enabled" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC2 56/128" -Name "Enabled" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC2 56/56" -Name "Enabled" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 40/128" -Name "Enabled" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 56/128" -Name "Enabled" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 64/128" -Name "Enabled" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 128/128" -Name "Enabled" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\Triple DES 168" -Name "Enabled" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Hashes\MD5" -Name "Enabled" -Value 0 -Type DWord

Konfigurieren der Einstellung für elliptische Kurve

In der folgenden Tabelle sind die Exchange Server/Windows Server-Kombinationen mit der Standardkonfiguration für elliptische Kurven aufgeführt:

Exchange Server Windows Server Unterstützt Standardmäßig konfiguriert
Exchange Server 2019 Any Ja Ja
Exchange Server 2016 Windows Server 2016 Ja Nein
Exchange Server 2013 Beliebig Nein Nicht zutreffend

Hinweis

Es wird empfohlen, die curve25519 elliptische Kurve zu deaktivieren, da sie im FIPS-Modus nicht verfügbar ist. Weitere Informationen finden Sie unter TLS Elliptic Curves in Windows 10 Version 1607 und höher

Führen Sie den folgenden Befehl in einem PowerShell-Fenster mit erhöhten Rechten aus, um die Einstellung für elliptische Kurve zu konfigurieren:

Disable-TlsEccCurve -Name "curve25519"
Enable-TlsEccCurve -Name "NistP384" -Position 0
Enable-TlsEccCurve -Name "NistP256" -Position 1

Überprüfen der Verwendung von TLS 1.2

Nachdem TLS 1.2 aktiviert wurde, kann es hilfreich sein, zu überprüfen, ob Ihre Arbeit erfolgreich war und das System TLS 1.2 für eingehende (Server-)Verbindungen und ausgehende (Client)-Verbindungen aushandeln kann. Es stehen einige Methoden zur Überprüfung der TLS-Verwendung zur Verfügung. Einige davon werden in den folgenden Abschnitten erläutert.

Viele Protokolle, die in Exchange Server verwendet werden, sind HTTP-basiert und durchlaufen daher die IIS-Prozesse auf dem Exchange-Server. MAPI/HTTP, Outlook Anywhere, Exchange Web Services, Exchange ActiveSync, REST, OWA & EAC, Offlineadressbuchdownloads und AutoErmittlung sind Beispiele für HTTP-basierte Protokolle, die von Exchange Server verwendet werden.

Iis-Protokolle (Internet Information Services)

Das IIS-Team hat funktionen für Windows Server 2012 R2 oder höher hinzugefügt, um benutzerdefinierte Felder im Zusammenhang mit Verschlüsselungsprotokollversionen und Verschlüsselungsverfahren zu protokollieren. Es wird empfohlen, den Blog zu lesen, um zu erfahren, wie Sie diese benutzerdefinierten Felder aktivieren und mit der Analyse von Protokollen beginnen, um Informationen zu eingehenden Verbindungen in Ihrer Umgebung im Zusammenhang mit HTTP-basierten Protokollen zu finden.

Diese benutzerdefinierten IIS-Felder sind für Windows Server-Versionen vor Windows Server 2012 R2 nicht vorhanden. Ihre Load Balancer- oder Firewallprotokolle können diese Informationen möglicherweise bereitstellen. Bitten Sie Ihre Anbieter um Anleitungen, um festzustellen, ob deren Protokolle diese Informationen enthalten können.

Überprüfen der TLS-Version mithilfe der Microsoft Edge-Entwicklertools

Sie können die Developer Toolsmit Microsoft Edge verfügbaren verwenden, um die TLS-Version zu überprüfen, die zum Herstellen einer sicheren Verbindung verwendet wurde, wenn Sie eine Verbindung mit Outlook im Web (OWA) oder dem Exchange Admin Center (ECP) herstellen. Gehen Sie dazu wie folgt vor:

  1. Öffnen Sie den Microsoft Edge-Browser, und stellen Sie eine HTTPS-Verbindung mit OWA oder ECP her.
  2. Drücken Sie CTRL + SHIFT + I , um die Developer Toolszu öffnen.
  3. Klicken Sie auf das + Symbol in der oberen rechten Ecke.
  4. Klicken Sie im Dropdownmenü auf Security .
  5. Überprüfen Sie die TLS-Version im Connection - secure connection settings Abschnitt.

Nachrichtenheader (Exchange Server 2016 oder höher)

Nachrichtenheaderdaten in Exchange Server 2016 oder höher enthalten das ausgehandelte und verwendete Protokoll, wenn der sendende und empfangende Host eine E-Mail ausgetauscht hat. Sie können das Message Header Analyzer verwenden, um einen klaren Überblick über jeden Hop zu erhalten.

Hinweis

Es gibt eine bekannte Ausnahme für das Beispiel für Nachrichtenheader. Wenn ein Client eine Nachricht durch Herstellen einer Verbindung mit einem Server über authentifizierte SMTP (auch als SMTP-Clientübermittlungsprotokoll bezeichnet) sendet, zeigt die TLS-Version in den Nachrichtenheadern nicht die richtige TLS-Version an, die vom Client oder Gerät eines Kunden verwendet wird. Microsoft untersucht die Möglichkeit, diese Informationen in einem zukünftigen Update hinzuzufügen.

Nachrichtenfluss über SMTP-Protokollierung

SMTP-Protokolle in Exchange Server 2013 und höher enthalten das Verschlüsselungsprotokoll und andere verschlüsselungsbezogene Informationen, die während des E-Mail-Austauschs zwischen zwei Systemen verwendet werden.

Wenn der Server der SMTP receiving systemist, suchen Sie im Protokoll nach der Server value verwendeten TLS-Version. Wenn der Server der SMTP sending systemist, suchen Sie im Protokoll nach der Client value verwendeten TLS-Version.

TLS-Version Serverwert Clientwert
TLS 1.0 SP_PROT_TLS1_0_SERVER SP_PROT-TLS1_0_CLIENT
TLS 1.1 SP_PROT_TLS1_1_SERVER SP_PROT-TLS1_1_CLIENT
TLS 1.2 SP_PROT_TLS1_2_SERVER SP_PROT TLS1_2_CLIENT

Im folgenden Beispiel werden die Protokolldateien auf einem Exchange-Server, auf dem die Postfachrolle ausgeführt wird, nach Verbindungen gesucht, die mithilfe des TLS 1.0-Protokolls hergestellt wurden:

Select-String -Path (((Get-TransportService -Identity $env:COMPUTERNAME).ReceiveProtocolLogPath).PathName.Replace("Hub","FrontEnd")+"\*.log") "SP_PROT_TLS1_0"

Beispiel für die Suche nach Protokolldateien auf einem Exchange-Server, auf dem die Edge-Transportrolle ausgeführt wird, für Verbindungen, die mit dem TLS 1.1-Protokoll hergestellt wurden:

Select-String -Path (((Get-TransportService -Identity $env:COMPUTERNAME).ReceiveProtocolLogPath).PathName+"\*.log") "SP_PROT_TLS1_1"

POP und IMAP

Es ist keine Protokollierung vorhanden, die die Verschlüsselungsprotokollversion verfügbar macht, die für POP- und IMAP-Clients verwendet wird. Um diese Informationen zu erfassen, müssen Sie möglicherweise eine Netmon-Ablaufverfolgung von Ihrem Server erfassen oder den Datenverkehr untersuchen, der durch Ihren Lastenausgleich oder ihre Firewall fließt, in der HTTPS-Bridging stattfindet.