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