Отключение TLS 1.0 и TLS 1.1 с помощью GPO

В этой статье мы рассмотрим, как отключить поддержку устаревших версий протокола Transport Layer Security в Windows с помощью групповых политик. Версии протокола TLS 1.0 и 1.1 считаются устаревшими и небезопасными. Если вы мигрировали все ваши сервисы на TLS 1.2 или TLS 1.3, вы можете отключить поддержку старых версий протоколов на клиентах и серверах Windows с помощью GPO.

Список поддерживаемых протоколов SSL/TLS на определенном сервере можно получить с помощью онлайн сервисов SSL Labs (см. пример в этой статье).

В Windows вы можете вывести список включённых версий TLS для браузера в настройках Internet Options ( inetcpl.cpl ). На данном скриншоте видно, что включены TLS 1.0, TLS 1.1, TLS 1.2 и TLS 1.3. При установке соединения с сервером для шифрования выбирается максимальная версия TLS, поддерживаемая и клиентом, и сервером.

Если вы отключите поддержку старых версий TLS, пользователи не смогут подключиться к legacy сервисам. Поэтому рекомендуем предварительно протестировать все настройки на пилотных группах компьютеров и серверов.

Список протоколов TLS/SSL, включенных на вкладке Internet Options на клиенте можно настроить с помощью параметра групповых политик Turn Off Encryption Support в разделе GPO: Computer Configuration -> Administrative Templates -> Windows Components -> Internet Explorer -> Internet Explorer Control Panel -> Advanced Page.

Включите политику (Enabled), и в выпадающем списке Secure Protocol combinations выберите какие версии TLS/SSL разрешить использовать клиентам.

Этому параметру GPO соответствует параметр SecureProtocols в ветке реестра HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionInternet Settings.

Чтобы применить новые настройки GPO, придется перезагрузить компьютер. Еще раз откройте настройки Internet Options и убедитесь, что доступны только те версии TLS, которые вы разрешили в GPO. Пользователь не сможет изменить эти настройки (обратите внимание на надпись Some settings are managed by your system administrator). [/alert]

К сожалению, тут нельзя оставить включенными только TLS 1.3 и TLS 1.2, такого параметра в GPO просто нет. Кроме того, это не отключить поддержку старых версий TLS 1.0 и TLS 1.1 на стороне ваших Windows Server (в том же IIS, Exchange).

Поэтому отключать определенные версии TLS лучше напрямую через реестр. С помощью GPO вы можете распространить нужные настройки реестра на компьютеры (подробнее это описано в статье Настройка параметров реестра на компьютерах с GPO).

Для отключения TLS 1.0 в Windows как для клиента, так и для сервера нужно внести следующие параметры в реестр:

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.0Client] "DisabledByDefault"=dword:00000001 "Enabled"=dword:00000000 [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.0Server] "DisabledByDefault"=dword:00000001 "Enabled"=dword:00000000

По аналогии отключаются другие протоколы. Достаточно заменить выделенный путь в реестре на SSL 2.0, SSL 3.0, TLS 1.1 и т.д.

Чтобы принудительно включить TLS 1.2, нужно внести следующие записи:

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2Client] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001 [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2Server]  "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001

Таким образом в GPO должна получиться такая картинка в разделе Computer Configuration -> Preferences -> Windows Settings -> Registry.

Для применения настроек нужно перезагрузить Windows.

Кроме изменения настроек доступных протоколов TLS в реестре нужно разрешить использование TLS 1.2 для приложений NET 3.5 и 4.x, а также для WinHTTP. Тот же Outlook использует настройки шифрования для WinHTTP (подробнее об этом в этой статье).

Включить системные протоколы шифрования для .Net 3.5 и 2.0:

[HKEY_LOCAL_MACHINESOFTWAREMicrosoft.NETFrameworkv2.0.50727] "SystemDefaultTlsVersions"=dword:00000001 [HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoft.NETFrameworkv2.0.50727] "SystemDefaultTlsVersions"=dword:00000001
[HKEY_LOCAL_MACHINESOFTWAREMicrosoft.NETFrameworkv2.0.50727] "SchUseStrongCrypto"=dword:00000001 [HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoft.NETFrameworkv2.0.50727] "SchUseStrongCrypto"=dword:00000001

Для .Net 4.х:

[HKEY_LOCAL_MACHINESOFTWAREMicrosoft.NETFrameworkv4.0.30319] "SystemDefaultTlsVersions"=dword:00000001 [HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoft.NETFrameworkv4.0.30319] "SystemDefaultTlsVersions"=dword:00000001

Включить использование TLS 1.2 для WinHTTP:

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionInternet SettingsWinHttp] "DefaultSecureProtocols"=dword:00000800 [HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionInternet SettingsWinHttp] "DefaultSecureProtocols"=dword:00000800

В Windows Server вы можете использовать утилиту ISS Crypto GUI (https://www.nartac.com/Products/IISCrypto/Download) для просмотра настроек SCHANNEL.


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *