Verwalten von SSL/TLS-Protokollen und Verschlüsselungssammlungen für AD FS

Die folgende Dokumentation enthält Informationen zum Deaktivieren und Aktivieren bestimmter TLS/SSL-Protokolle und Verschlüsselungssammlungen, die von Active Directory-Verbunddiensten (AD FS) verwendet werden.

TLS/SSL, SChannel und Verschlüsselungssammlungen in AD FS

Das TLS-Protokoll (Transport Layer Security) ermöglicht eine verschlüsselte sichere Kommunikation über das Netzwerk. Das SSL-Protokoll (Secure Sockets Layer) verschlüsselt den Austausch vertraulicher Daten, die zwischen einem Webserver und einem Webbrowser übertragen werden, ähnlich wie TLS. Active Directory-Verbunddienste (AD FS) verwenden diese Protokolle für die Kommunikation. Heutzutage gibt es mehrere Versionen dieser Protokolle.

Security Channel (SChannel) ist ein Security Support Provider (SSP), der die standardmäßigen Internetauthentifizierungsprotokolle SSL, TLS und DTLS implementiert. Die Security Support Provider-Schnittstelle (Security Support Provider Interface, SSPI) ist eine API, die von Windows-Systemen verwendet wird, um sicherheitsbezogene Funktionen wie Authentifizierungen durchzuführen. Die SSPI dienst als gemeinsame Schnittstelle für mehrere SSPs, einschließlich des Schannel SSP.

Eine Verschlüsselungssammlung ist ein Satz von Kryptografiealgorithmen. Die SChannel-SSP-Implementierung der TLS-/SSL-Protokolle verwendet Algorithmen aus einer Verschlüsselungssammlung, Schlüssel zu erstellen und Informationen zu verschlüsseln. Eine Verschlüsselungssammlung gibt einen Algorithmus für jede der folgenden Aufgaben an:

  • Schlüsselaustausch
  • Massenverschlüsselung
  • Nachrichtenauthentifizierung

AD FS verwendet „Schannel.dll“, um seine sicheren Kommunikationsinteraktionen auszuführen. Derzeit unterstützt AD FS alle Protokolle und Verschlüsselungssammlungen, die von „Schannel.dll“ unterstützt werden.

Verwalten der TLS/SSL-Protokolle und Verschlüsselungssammlungen

Wichtig

Dieser Abschnitt enthält Schritte, die Ihnen zeigen, wie Sie die Registrierung ändern. Wenn Sie die Registrierung falsch ändern, können jedoch schwerwiegende Probleme auftreten. Achten Sie darum auf eine sorgfältige Ausführung der folgenden Schritte.

Beachten Sie, dass das Ändern der Standardsicherheitseinstellungen für SCHANNEL die Kommunikation zwischen bestimmten Clients und Servern unterbrechen oder verhindern kann. Dies tritt auf, wenn eine sichere Kommunikation erforderlich ist und sie kein Protokoll zum Aushandeln der Kommunikation haben.

Wenn Sie diese Änderungen anwenden, müssen sie auf alle AD FS-Server in Ihrer Farm angewendet werden. Nach dem Anwenden dieser Änderungen ist ein Neustart erforderlich.

In der heutigen Zeit wird das Härten Ihrer Server und das Entfernen älterer oder schwacher Verschlüsselungssammlungen für viele Organisationen zu einer wichtigen Priorität. Es sind Softwaresammlungen verfügbar, die Ihre Server testen und detaillierte Informationen zu diesen Protokollen und Sammlungen bereitstellen. Um Konformität zu gewährleisten oder sichere Bewertungen zu erzielen, ist das Entfernen oder Deaktivieren schwächerer Protokolle oder Verschlüsselungssammlungen zu einem Muss geworden. Der Rest dieses Dokuments enthält Anleitungen zum Aktivieren oder Deaktivieren bestimmter Protokolle und Verschlüsselungssammlungen.

Die folgenden Registrierungsschlüssel befinden sich am selben Speicherort: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols. Verwenden Sie den Registrierungs-Editor oder PowerShell, um diese Protokolle und Verschlüsselungssammlungen zu aktivieren oder zu deaktivieren.

Screenshot of the Registry Editor showing the registry keys located in the Protocols folder.

Aktivieren und Deaktivieren von SSL 3.0

Verwenden Sie die folgenden Registrierungsschlüssel und deren Werte, um SSL 3.0 zu aktivieren bzw. zu deaktivieren.

Aktivieren von SSL 3.0

`Path` Wertname Wertdaten
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server Aktiviert 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server DisabledByDefault 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client Aktiviert 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client DisabledByDefault 00000000

Deaktivieren von SSL 3.0

`Path` Wertname Wertdaten
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server Aktiviert 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server DisabledByDefault 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client Aktiviert 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client DisabledByDefault 00000001

Verwenden von PowerShell zum Deaktivieren von SSL 3.0

New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server' -name 'Enabled' -value '0' -PropertyType 'DWord' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null

New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client' -name 'Enabled' -value '0' -PropertyType 'DWord' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null

Write-Host 'SSL 3.0 has been disabled.'

Aktivieren und Deaktivieren von TLS 1.0

Verwenden Sie die folgenden Registrierungsschlüssel und deren Werte, um TLS 1.0 zu aktivieren bzw. zu deaktivieren.

Wichtig

Wenn Sie TLS 1.0 deaktivieren, wird die Vertrauensstellung zwischen WAP und AD FS unterbrochen. Wenn Sie TLS 1.0 deaktivieren, sollten Sie strenge Authentifizierung für Ihre Anwendungen aktivieren. Weitere Informationen finden Sie unter Aktivieren der strengen Authentifizierung für .NET-Anwendungen.

Aktivieren von TLS 1.0

`Path` Wertname Wertdaten
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server Aktiviert 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server DisabledByDefault 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client Aktiviert 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client DisabledByDefault 00000000

Deaktivieren von TLS 1.0

`Path` Wertname Wertdaten
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server Enabled"=00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server DisabledByDefault 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client Aktiviert 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client DisabledByDefault 00000001

Verwenden von PowerShell zum Deaktivieren von TLS 1.0

New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server' -name 'Enabled' -value '0' -PropertyType 'DWord' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null

New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client' -name 'Enabled' -value '0' -PropertyType 'DWord' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null

Write-Host 'TLS 1.0 has been disabled.'

Aktivieren und Deaktivieren von TLS 1.1

Verwenden Sie die folgenden Registrierungsschlüssel und deren Werte, um TLS 1.1 zu aktivieren bzw. zu deaktivieren.

Aktivieren von TLS 1.1

`Path` Wertname Wertdaten
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server Aktiviert 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server DisabledByDefault 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client Aktiviert 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client DisabledByDefault 00000000

Deaktivieren von TLS 1.1

`Path` Wertname Wertdaten
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server Aktiviert 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server DisabledByDefault 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client Aktiviert 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client DisabledByDefault 00000001

Verwenden von PowerShell zum Deaktivieren von TLS 1.1

New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server' -name 'Enabled' -value '0' -PropertyType 'DWord' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null

New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client' -name 'Enabled' -value '0' -PropertyType 'DWord' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null

Write-Host 'TLS 1.1 has been disabled.'

Deaktivieren von TLS 1.2

TLS 1.2 ist standardmäßig ab Windows Server 2012 aktiviert. Sie können die folgenden Registrierungsschlüssel und deren Werte verwenden, um TLS 1.2 zu deaktivieren.

Hinweis

Es wird nicht empfohlen, TLS 1.2 zu deaktivieren.

`Path` Wertname Wertdaten
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server Aktiviert 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server DisabledByDefault 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client Aktiviert 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client DisabledByDefault 00000001

Verwenden von PowerShell zum Deaktivieren von TLS 1.2

New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' -name 'Enabled' -value '0' -PropertyType 'DWord' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null

New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' -name 'Enabled' -value '0' -PropertyType 'DWord' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null

Write-Host 'TLS 1.2 has been disabled.'

Aktivieren oder Deaktivieren von Hashes, Verschlüsselungen und Verschlüsselungssammlungen

Die Steuerung von Verschlüsselungen, Hashes und Schlüsselaustauschalgorithmen mit Ausnahme der Schlüsselgröße über die Registrierung wird nicht unterstützt. Hashes, Verschlüsselungen und Schlüsselaustauschalgorithmen werden über PowerShell, MDM oder die Reihenfolge der SSL-Verschlüsselungssammlung gesteuert.

Eine vollständige Liste der unterstützten Verschlüsselungssammlungen finden Sie unter Verschlüsselungssammlungen in TLS/SSL (Schannel SSP). Dieser Artikel enthält eine Tabelle der Sammlungen, die standardmäßig aktiviert sind, und gibt an, welche Sammlungen unterstützt werden, aber standardmäßig nicht aktiviert sind. Informationen zum Priorisieren der Verschlüsselungssammlungen finden Sie unter Priorisieren von SChannel-Verschlüsselungssammlungen.

Aktivieren der strengen Authentifizierung für .NET-Anwendungen

Die .NET Framework 3.5/4.0/4.5.x-Anwendungen können das Standardprotokoll auf TLS 1.2 umstellen, indem sie den Registrierungsschlüssel „SchUseStrongCrypto“ aktivieren. Diese Registrierungsschlüssel zwingen .NET-Anwendungen zur Verwendung von TLS 1.2.

Wichtig

Für AD FS unter Windows Server 2016 und Windows Server 2012 R2 müssen Sie den .NET Framework 4.0/4.5.x-Schlüssel verwenden: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319

Verwenden Sie für .NET Framework 3.5 den folgenden Registrierungsschlüssel:

`Path` Wertname Wertdaten
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727 SchUseStrongCrypto 00000001

Verwenden Sie für .NET Framework 4.0/4.5x den folgenden Registrierungsschlüssel:

`Path` Wertname Wertdaten
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 SchUseStrongCrypto 00000001

Screenshot of Registry Editor that highlights the SchUseStrongCrypto key

New-ItemProperty -path 'HKLM:\SOFTWARE\Microsoft\.NetFramework\v4.0.30319' -name 'SchUseStrongCrypto' -value '1' -PropertyType 'DWord' -Force | Out-Null

Zusätzliche Informationen