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

Отключение 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 (см. пример в этой статье).

SSL Labs проверка поддерживаемых версий TLS на сервере

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

Включить/отключит версии TLS в настройках Internet Explorer

Если вы отключите поддержку старых версий 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 разрешить использовать клиентам.

групповая политика задать разрешенные версии TLS SSL на клиентах

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

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

разрешить использование TLS 1.2 TLS в Windows

К сожалению, тут нельзя оставить включенными только 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.

отключить TLS 1.0 и TLS 1.1 через GPO

Для применения настроек нужно перезагрузить 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.

ISS Crypto GUI настройка доступных протоколов TLS в Windows Server

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