У цій статті ми розглянемо, як відключити підтримку застарілих версій протоколу 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_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings.
Щоб застосувати нові налаштування GPO, доведеться перезавантажити комп'ютер. Ще раз відкрийте параметри Internet Options і переконайтеся, що доступні лише ті версії TLS, які ви дозволили в GPO. Користувач не зможе змінити ці налаштування (зверніть увагу на напис Some settings are managed by your system administrator ).
На жаль, тут не можна залишити включеними тільки TLS 1.3 і TLS 1.2, такого параметра GPO просто немає. Крім того, це не вимкнути підтримку старих версій TLS 1.0 і TLS 1.1 на стороні Windows Server (у тому ж IIS, Exchange).
Тому відключати певні версії TLS краще через реєстр. За допомогою GPO можна розповсюдити потрібні налаштування реєстру на комп'ютери.
Для відключення TLS 1.0 у Windows як для клієнта, так і для сервера потрібно внести такі параметри до реєстру:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client] "DisabledByDefault"=dword:00000001 "Enabled"=dword:00000000 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server] "DisabledByDefault"=dword:00000001 "Enabled"=dword:00000000
За аналогією відключаються інші протоколи. Достатньо замінити виділений шлях у реєстрі на SSL 2.0, SSL 3.0, TLS 1.1 тощо.
Щоб примусово увімкнути TLS 1.2, потрібно внести такі записи:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server] "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_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727] "SystemDefaultTlsVersions"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727] "SystemDefaultTlsVersions"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727] "SchUseStrongCrypto"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727] "SchUseStrongCrypto"=dword:00000001
Для .Net 4.х:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319] "SystemDefaultTlsVersions"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319] "SystemDefaultTlsVersions"=dword:00000001
Включити використання TLS 1.2 для WinHTTP:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp] "DefaultSecureProtocols"=dword:00000800 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp] "DefaultSecureProtocols"=dword:00000800
У Windows Server можна використовувати утиліту ISS Crypto GUI (https://www.nartac.com/Products/IISCrypto/Download) для перегляду налаштувань SCHANNEL.