Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В следующей документации содержатся сведения об отключении и включении определенных протоколов TLS/SSL и наборов шифров, используемых службами федерации Active Directory (AD FS).
Наборы шифров TLS/SSL, Schannel и наборы шифр в AD FS
Протокол TLS обеспечивает зашифрованные защищенные коммуникации по сети. Протокол SSL шифрует обмен конфиденциальными данными, передаваемые между веб-сервером и веб-браузером, похожим на TLS. Службы федерации Active Directory (AD FS) используют эти протоколы для обмена данными. Сегодня существуют несколько версий этих протоколов.
Канал безопасности (Schannel) — это поставщик поддержки безопасности (SSP), который реализует протоколы проверки подлинности SSL, TLS и DTLS в Интернете. Интерфейс поставщика поддержки безопасности (SSPI) является интерфейсом API, используемым системами Windows для выполнения функций, связанных с безопасностью, включая проверку подлинности. SSPI функционирует как общий интерфейс для нескольких SSPS, включая Schannel SSP.
Комплект шифров представляет собой набор криптографических алгоритмов. Реализация Schannel SSP протоколов TLS/SSL использует алгоритмы из набора шифров для создания ключей и шифрования информации. Комплект шифров указывает один алгоритм для каждой из следующих задач:
- Key exchange
- Bulk encryption
- Message authentication
AD FS использует Schannel.dll для безопасного обмена информацией. В настоящее время AD FS поддерживает все протоколы и наборы шифров, которые поддерживает Schannel.dll.
Управление протоколами TLS/SSL и наборами шифров
Important
В этом разделе содержатся инструкции по изменению реестра. Однако при неправильном изменении реестра могут возникнуть серьезные проблемы. Поэтому убедитесь, что вы внимательно следуете этим шагам.
Помните, что изменение параметров безопасности по умолчанию для SCHANNEL может нарушить или предотвратить обмен данными между определенными клиентами и серверами. Это происходит, когда требуется безопасное взаимодействие, а у них нет протокола для согласования обмена данными.
Если эти изменения применяются, их необходимо применить ко всем серверам AD FS в ферме. После применения этих изменений требуется перезагрузка.
В наше время защита серверов и удаление старых или слабых шифровальных наборов становится важным приоритетом для многих организаций. Пакеты программного обеспечения доступны для тестирования серверов и содержат подробные сведения об этих протоколах и наборах. Чтобы оставаться совместимым или достичь безопасных рейтингов, удаление или отключение слабых протоколов или наборов шифров стало обязательным. Оставшаяся часть этого документа содержит рекомендации по включению или отключению определенных протоколов и наборов шифров.
Следующие разделы реестра расположены в том же местоположении: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols. Используйте редактор реестра или PowerShell, чтобы включить или отключить эти протоколы и наборы шифров.
Включение и отключение SSL 3.0
Используйте следующие разделы реестра и их значения, чтобы активировать и деактивировать SSL 3.0.
Включение SSL 3.0
Path | Value Name | Value Data |
---|---|---|
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server | Enabled | 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 | Enabled | 00000001 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client | DisabledByDefault | 00000000 |
Отключение SSL 3.0
Path | Value Name | Value Data |
---|---|---|
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server | Enabled | 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 | Enabled | 00000000 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client | DisabledByDefault | 00000001 |
Отключение SSL 3.0 с помощью PowerShell
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.'
Включение и отключение TLS 1.0
Используйте следующие ключи реестра и их значения, чтобы включить и отключить TLS 1.0.
Important
Отключение TLS 1.0 нарушает доверие WAP к AD FS. Если отключить TLS 1.0, необходимо включить надежную проверку подлинности для приложений. Дополнительные сведения см. в разделе "Включение строгой проверки подлинности для приложений .NET"
Включение TLS 1.0
Path | Value Name | Value Data |
---|---|---|
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server | Enabled | 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 | Enabled | 00000001 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client | DisabledByDefault | 00000000 |
Отключение TLS 1.0
Path | Value Name | Value Data |
---|---|---|
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 | Enabled | 00000000 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client | DisabledByDefault | 00000001 |
Отключение TLS 1.0 с помощью PowerShell
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.'
Включение и отключение TLS 1.1
Используйте следующие разделы реестра и их значения, чтобы включить и отключить TLS 1.1.
Включение протокола TLS 1.1
Path | Value Name | Value Data |
---|---|---|
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server | Enabled | 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 | Enabled | 00000001 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client | DisabledByDefault | 00000000 |
Отключение TLS 1.1
Path | Value Name | Value Data |
---|---|---|
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server | Enabled | 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 | Enabled | 00000000 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client | DisabledByDefault | 00000001 |
Отключение TLS 1.1 с помощью PowerShell
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.'
Отключение TLS 1.2
ПРОТОКОЛ TLS 1.2 включен по умолчанию, начиная с Windows Server 2012. Для отключения TLS 1.2 можно использовать следующие ключи реестра и их значения.
Warning
Отключение TLS 1.2 не рекомендуется, так как это может нарушить функциональные возможности других компонентов на сервере, который использует этот протокол. Например, такие службы, как Microsoft Azure AD Connect (Синхронизация Azure AD), требуют TLS 1.2 для правильной работы. Отключение может привести к сбоям службы или снижению функциональности.
Path | Value Name | Value Data |
---|---|---|
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server | Enabled | 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 | Enabled | 00000000 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client | DisabledByDefault | 00000001 |
Отключение TLS 1.2 с помощью PowerShell
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.'
Включение или отключение хэшей, шифров и наборов шифров
Controlling ciphers, hashes and key exchange algorithms, other than Key size, via the registry isn't supported. Хэши, шифры и алгоритмы обмена ключами управляются с помощью PowerShell, MDM или Cipher Suite Ordering.
Полный список поддерживаемых наборов шифров см. в разделе "Наборы шифров" в tls/SSL (Schannel SSP). Эта статья содержит таблицу наборов, включенных по умолчанию, и показывает, какие наборы поддерживаются, но не включены по умолчанию. Чтобы определить приоритеты наборов шифров Schannel, см. «Приоритеты наборов шифров Schannel».
Включение строгой проверки подлинности для приложений .NET
Приложения .NET Framework 3.5/4.0/4.5.x могут переключить протокол по умолчанию на TLS 1.2, активировав ключ реестра SchUseStrongCrypto. Эти разделы реестра позволяют приложениям .NET использовать TLS 1.2.
Important
Для AD FS в Windows Server 2016 и Windows Server 2012 R2 необходимо использовать ключ .NET Framework 4.0/4.5.x: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319
Для использования .NET Framework 3.5 используйте следующий ключ реестра:
Path | Value Name | Value Data |
---|---|---|
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727 | SchUseStrongCrypto | 00000001 |
Для платформы .NET Framework версий 4.0/4.5.x используйте следующий ключ реестра:
Path | Value Name | Value Data |
---|---|---|
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