Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
GILT FÜR:2016
2019
Subscription Edition
In dieser Dokumentation werden die erforderlichen Schritte zum ordnungsgemäßen Konfigurieren bestimmter TLS-Versionen auf Microsoft Exchange Server beschrieben. Außerdem wird erläutert, wie die von TLS verwendeten Verschlüsselungssammlungen und Hashalgorithmen optimiert werden. Eine falsche TLS-Konfiguration kann zu verschiedenen Problemen bei der Interaktion mit Microsoft 365 oder anderen Systemen führen, die einen bestimmten TLS-Mindeststandard erfordern.
Weitere Informationen zu den TLS-Protokollen finden Sie in der Dokumentation zum Transport Layer Security-Protokoll .
Tipp
Sie können das Exchange HealthChecker-Skript verwenden, um die aktuelle TLS-Konfiguration Ihres Exchange-Servers zu überprüfen.
Lesen Sie sorgfältig, da einige Schritte nur unter bestimmten Betriebssystemen oder Exchange Server Versionen ausgeführt werden können. Jeder Abschnitt beginnt mit einer Matrix, die zeigt, ob eine Einstellung unterstützt wird, und ob sie von einer bestimmten Exchange Server Vorkonfiguriert wurde, gefolgt von Schritten zum Aktivieren oder Deaktivieren des jeweiligen TLS-Protokolls oder Features.
Zu berücksichtigende Punkte vor dem Deaktivieren einer TLS-Version
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 nur eine TLS 1.2- oder TLS 1.3-Konfiguration?
- Unterstützen Partneranwendungen beispielsweise eine reine TLS 1.2- oder TLS 1.3-Konfiguration?
- Unterstützt das Betriebssystem die neueste TLS-Protokollversion TLS 1.2 über WinHTTP?
- Unterstützen Ihre Lastenausgleichsmodule die Verwendung von TLS 1.2 oder TLS 1.3?
- Unterstützen Ihre Desktop-, Mobil- und Browseranwendungen TLS 1.2 oder TLS 1.3?
- Unterstützen Geräte wie Multifunktionsdrucker TLS 1.2 oder TLS 1.3?
- 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 oder TLS 1.3 ausführen und sich von älteren Sicherheitsprotokollen entfernen, zuerst in Labs durchführen, 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.3-Unterstützung wurde mit Exchange Server kumulativen Update 2019 (CU) 15 am Windows Server 2022 und Windows Server 2025 eingeführt, mit Ausnahme des SMTP-Protokolls. Unterstützung für dieses Protokoll wird mit einem zukünftigen Update hinzugefügt. Tls 1.2-Unterstützung wurde mit Exchange Server 2013 CU19 und Exchange Server 2016 CU8 eingeführt. Exchange Server 2019 unterstützt standardmäßig TLS 1.2.
Exchange Server können 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 der .NET Framework Schannel-Vererbung:
Exchange Server | Windows Server | Unterstützt | Standardmäßig konfiguriert |
---|---|---|---|
Exchange Server 2019 CU14 oder höher | Any | Ja | Ja (nur Neuinstallationen) |
Exchange Server 2019 CU13 oder älter | Any | Ja | Teilweise (SchUseStrongCrypto muss manuell konfiguriert werden) |
Exchange Server 2016 | Any | Ja | Nein (Betriebssystemstandardwerte werden verwendet) |
Exchange Server 2013 | Any | Ja | Nein (Betriebssystemstandardwerte werden verwendet) |
Der SystemDefaultTlsVersions
Registrierungswert definiert, welche Standardversionen des Sicherheitsprotokolls von .NET Framework 4.x verwendet werden. Wenn der Wert auf 1
festgelegt 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 0
festgelegt.
Die starke Kryptografie (konfiguriert durch den SchUseStrongCrypto
Registrierungswert) verwendet sicherere Netzwerkprotokolle (TLS 1.3, TLS 1.2 und TLS 1.1) und blockiert Protokolle, die nicht sicher sind.
SchUseStrongCrypto
betrifft nur Clientverbindungen (ausgehende Verbindungen) in Ihrer Anwendung. Durch konfigurieren .NET Framework 4.x so, dass die Werte von Schannel geerbt werden, erhalten wir die Möglichkeit, die neuesten Versionen von TLS zu verwenden, die vom Betriebssystem unterstützt werden, einschließlich TLS 1.2 und TLS 1.3.
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
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.3
Die folgende Tabelle zeigt die Exchange Server/Windows Server Kombinationen, für die TLS 1.3 unterstützt wird. Die Tabelle enthält auch die Standardkonfiguration:
Exchange Server | Windows Server | Unterstützt | Standardmäßig konfiguriert |
---|---|---|---|
Exchange Server 2019 CU15 | Windows Server 2022/2025 | Ja | Ja (enabled ) |
Exchange Server 2019 CU15 | Windows Server 2019 | Nein | Nicht zutreffend |
Exchange Server 2019 CU14 oder älter | Any | Nein | Nicht zutreffend |
Exchange Server 2016 | Any | Nein | Nicht zutreffend |
Exchange Server 2013 | Any | Nein | Nicht zutreffend |
Aktivieren von TLS 1.3
Führen Sie den folgenden Befehl in einem PowerShell-Fenster mit erhöhten Rechten aus, um TLS 1.3 für Client- und Serververbindungen zu aktivieren:
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols" -Name "TLS 1.3" -ErrorAction SilentlyContinue
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3" -Name "Client" -ErrorAction SilentlyContinue
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3" -Name "Server" -ErrorAction SilentlyContinue
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client" -Name "DisabledByDefault" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client" -Name "Enabled" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server" -Name "DisabledByDefault" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server" -Name "Enabled" -Value 1 -Type DWord
Gemäß RFC 8446 verwendet TLS 1.3 denselben Verschlüsselungssammlungsbereich wie frühere Versionen von TLS. TLS 1.3-Verschlüsselungssammlungen werden jedoch anders definiert, wobei nur die symmetrischen Verschlüsselungen angegeben werden, und sie können nicht für TLS 1.2 verwendet werden. Ebenso können Verschlüsselungssammlungen für TLS 1.2 und niedriger nicht mit TLS 1.3 verwendet werden.
Führen Sie den folgenden Befehl in einem PowerShell-Fenster mit erhöhten Rechten aus, um die TLS 1.3-Verschlüsselungssammlungen zu konfigurieren:
Enable-TlsCipherSuite -Name TLS_AES_256_GCM_SHA384 -Position 0
Enable-TlsCipherSuite -Name TLS_AES_128_GCM_SHA256 -Position 1
Deaktivieren von TLS 1.3
Führen Sie den folgenden Befehl in einem PowerShell-Fenster mit erhöhten Rechten aus, um TLS 1.3 für Client- und Serververbindungen explizit zu deaktivieren:
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols" -Name "TLS 1.3" -ErrorAction SilentlyContinue
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3" -Name "Client" -ErrorAction SilentlyContinue
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3" -Name "Server" -ErrorAction SilentlyContinue
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client" -Name "DisabledByDefault" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client" -Name "Enabled" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server" -Name "DisabledByDefault" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server" -Name "Enabled" -Value 0 -Type DWord
Führen Sie den folgenden Befehl in einem PowerShell-Fenster mit erhöhten Rechten aus, um die TLS 1.3-Verschlüsselungssammlungen zu entfernen:
Disable-TlsCipherSuite -Name TLS_AES_256_GCM_SHA384
Disable-TlsCipherSuite -Name TLS_AES_128_GCM_SHA256
Schritte zum Konfigurieren von TLS 1.2
Die folgende Tabelle zeigt die Exchange Server/Windows Server Kombinationen, 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 explizit 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
Die folgende Tabelle zeigt die Exchange Server/Windows Server Kombinationen, 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 | Any | Ja | Ja (disabled ) |
Exchange Server 2016 | Any | Ja | Nein |
Exchange Server 2013 | Any | 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 explizit 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
Die folgende Tabelle zeigt die Exchange Server/Windows Server Kombinationen, 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 | Any | Ja | Nein |
Exchange Server 2013 | Any | 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 explizit 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
Schritte zum Konfigurieren des strict-Modus für die TLS-Neuverhandlung
Der TLS Strict-Modus ist ein Sicherheitsfeature, das sicherstellt, dass nur Clients mit den erforderlichen Sicherheitsupdates TLS-Sitzungen mit dem Server einrichten und neu aushandeln können.
Die folgende Tabelle zeigt die Exchange Server/Windows Server-Kombinationen mit der Standardkonfiguration für tls-Neuverhandlung im strict-Modus:
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 | Nein | Nicht zutreffend |
Aktivieren des strict-Modus für tls-Neuverhandlung
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
Deaktivieren des strict-Modus für die TLS-Neuverhandlung
Führen Sie den folgenden Befehl in einem PowerShell-Fenster mit erhöhten Rechten aus, um den Strict-Modus der Neuverhandlung explizit zu deaktivieren:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL" -Name "AllowInsecureRenegoClients" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL" -Name "AllowInsecureRenegoServers" -Value 1 -Type DWord
Überprüfen der Verwendung von TLS 1.2 oder TLS 1.3
Nachdem TLS 1.2 oder TLS 1.3 aktiviert wurde, kann es hilfreich sein, zu überprüfen, ob Ihre Arbeit erfolgreich war und das System TLS 1.2 oder TLS 1.3 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-Protokollierung
Das IIS-Team (Internetinformationsdienste) hat funktionen zu 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 Version 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.
Microsoft Edge-Entwicklertools
Sie können die Developer Tools
mit 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:
Öffnen Sie den Microsoft Edge-Browser, und stellen Sie eine HTTPS-Verbindung mit OWA oder ECP her.
Drücken Sie
CTRL + SHIFT + I
, um dieDeveloper Tools
zu öffnen.Klicken Sie auf das
+
Symbol in der oberen rechten Ecke.Klicken Sie im Dropdownmenü auf
Security
.Überprüfen Sie die TLS-Version im
Connection - secure connection settings
Abschnitt.
Nachrichtenkopfzeilen
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.
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 verwendet wird. Microsoft untersucht die Möglichkeit, diese Informationen in einem zukünftigen Update hinzuzufügen.
SMTP-Protokollierung
SMTP-Protokolle in Exchange Server das Verschlüsselungsprotokoll und andere verschlüsselungsbezogene Informationen enthalten, die beim Austausch von E-Mails zwischen zwei Systemen verwendet werden.
Wenn der Server der SMTP receiving system
ist, suchen Sie im Protokoll nach der Server value
verwendeten TLS-Version. Wenn der Server der SMTP sending system
ist, 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 |
Hinweis
Unterstützung für SMTP TLS 1.3 wird in einem bevorstehenden Exchange 2019 CU15-Update enthalten sein.
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-Transport-Rolle 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.
Bewährte Methoden für Verschlüsselungs- und Hashalgorithmen
Die Schritte in diesem Abschnitt können verwendet werden, um Exchange Server 2016 mit demselben Satz von Verschlüsselungs- und Hashalgorithmen wie Exchange Server 2019 zu konfigurieren. Diese Schritte sind für Exchange Server 2019 nicht erforderlich, da bereits ein vorkonfiguriertes Verschlüsselungs- und Hashalgorithmus eingerichtet ist.
Als Voraussetzung müssen Sie zuerst TLS 1.2 konfigurieren und dann TLS 1.0 und TLS 1.1 deaktivieren. Erwägen Sie, die folgenden Einstellungen getrennt von der Deaktivierung von TLS 1.0 und TLS 1.1 anzuwenden, um Konfigurationsprobleme mit problematischen Clients zu isolieren.
Aktivieren empfohlener Verschlüsselungssammlungen
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
Führen Sie die folgenden Befehle in einem PowerShell-Fenster mit erhöhten Rechten aus, um die empfohlenen Verschlüsselungssammlungen zu konfigurieren.
Hinweis
Es ist möglich, die Verschlüsselungssammlungen mithilfe eines Gruppenrichtlinie Object (GPO) zu konfigurieren. Sie können sie nicht manuell mithilfe der Cmdlets Enable-TlsCipherSuite oder Disable-TLSCipherSuite konfigurieren, wenn sie bereits über GPO konfiguriert wurden oder wenn der Functions
Registrierungseintrag bereits unter dem HKLM:\SOFTWARE\Policies\Microsoft\Cryptography\Configuration\SSL\00010002
Pfad vorhanden ist.
Deaktivieren Sie zunächst alle Verschlüsselungssammlungen:
foreach ($suite in (Get-TLSCipherSuite).Name) {
if (-not([string]::IsNullOrWhiteSpace($suite))) {
Disable-TlsCipherSuite -Name $suite -ErrorAction SilentlyContinue
}
}
Aktivieren Sie als Nächstes nur die empfohlenen TLS 1.2-Verschlüsselungssammlungen erneut:
$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
Führen Sie den folgenden Befehl in einem PowerShell-Fenster mit erhöhten Rechten aus, um veraltete Verschlüsselungen und Hashes explizit 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
Es wird empfohlen, die curve25519
elliptische Kurve zu deaktivieren, da sie im FIPS-Modus nicht verfügbar ist.
Weitere Informationen finden Sie in der Dokumentation zu 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