Сегодня речь пойдет о том, как на операционной системе Windows Server 2016 Std (SW_DVD9_Win_Server_STD_CORE_2016_64Bit_English_-4_DC_STD_MLF_X21-70526.ISO) включить работу TLS 1.2, а все уже неактуальное деактировать. Т.е. данная заметка будет своего рода шпаргалкой для последующих настроек в локальной сети дабы не вспоминать что да как, а раз сейчас потратить время и уже потом его экономить.

Кстати говоря в Windows Server 2012R2 уже по умолчанию протокол TLS 1.2 включен по умолчанию, но одно дело включен, а другое дело вы сами проверили и убедились, что все настройки на его счет в системе есть. Вот этим мы сейчас и займемся.

Есть такая таблица на сайте Microsoft

Таблица поддержки TLS версиями Windows.

Шаг №1: Т.к. протоколы TLS 1.0 и TLS 1.1 уже устарели и считаются небезопасными, то их в системе следует деактивировать.

На заметку: Если в Вашей инфраструктере используются старые сервисы, то возможно в своей работы используют старые версии TLS, в этом случае либо переводите их на более новые, либо протестировать новые настройки на новом протоколе.

on logon (Login: Administrator) on hostname: srv-s2016a

Win + X -> "Control Panel" - View by: Small icons - Internet Options — вкладка "Advanced"

по умолчанию:

  • Use SSL 3.0: не отмечено
  • Use TLS 1.0: отмечено галочкой
  • Use TLS 1.1: отмечено галочкой
  • Use TLS 1.2: отмечено галочкой

Снимаю галочки с SSL 3.0, TLS 1.0, TLS 1.1, а оставляю только TLS 1.2

по окончании нажимаю Apply, OK.

На заметку: Это настройки для клиента.

Шаг №2: Также список протоколов TLS/SSL либо можно настраивать как выше в "Шаг №1", так и через групповые политики:

Win + X -> Command Prompt (Admin) - gpedit.msc

C:\Windows\system32>gpedit.msc

Computer Configuration - Administrative Templates - Windows Components - Internet Explorer - Internet Control Panel - Advanced Page

перехожу в параметр "Turn off encryption support" включаю его "Enabled"

  • Secure Protocol combinations: выбираю "Only use TLS 1.2"

и нажимаю Apply, OK.

На заметку: Если вносятся изменения в групповых политиках применительно к "Computer Configuration" то нужно обязательно перезагрузить компьютер.

На заметку: Если настройка использования протокола TLS выполнена через групповые политики, то после в Win + X -> "Control Panel" - View by: Small icons - Internet Options — вкладка "Advanced" параметры станут недоступными для изменения, он буду затемнены:

Настройки через gpedit.msc и после пользователь не может сам поменять.

Шаг №3: Но лучше отключать определенные версии TLS напрямую через "Редактор реестра", как для клиента, так и для сервера, а уже после распространять настройки через GPO либо посредством скрипта:

rem SSL 2.0 Disabled
reg add "HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Client" /v DisabledByDefault /t REG_DWORD /d 1 /f
reg add "HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Client" /v Enabled /t REG_DWORD /d 0 /f
reg add "HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server" /v DisabledByDefault /t REG_DWORD /d 1 /f
reg add "HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server" /v Enabled /t REG_DWORD /d 0 /f

rem SSL 3.0 Disabled
reg add "HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client" /v DisabledByDefault /t REG_DWORD /d 1 /f
reg add "HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client" /v Enabled /t REG_DWORD /d 0 /f
reg add "HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server" /v DisabledByDefault /t REG_DWORD /d 1 /f
reg add "HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server" /v Enabled /t REG_DWORD /d 0 /f

rem TLS 1.0 Disabled
reg add "HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client" /v DisabledByDefault /t REG_DWORD /d 1 /f
reg add "HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client" /v Enabled /t REG_DWORD /d 0 /f
reg add "HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server" /v DisabledByDefault /t REG_DWORD /d 1 /f
reg add "HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server" /v Enabled /t REG_DWORD /d 0 /f

rem TLS 1.1 Disabled
reg add "HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client" /v DisabledByDefault /t REG_DWORD /d 1 /f
reg add "HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client" /v Enabled /t REG_DWORD /d 0 /f
reg add "HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server" /v DisabledByDefault /t REG_DWORD /d 1 /f
reg add "HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server" /v Enabled /t REG_DWORD /d 0 /f

rem TLS 1.2 Enabled
reg add "HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" /v DisabledByDefault /t REG_DWORD /d 0 /f
reg add "HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" /v Enabled /t REG_DWORD /d 1 /f
reg add "HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" /v DisabledByDefault /t REG_DWORD /d 0 /f
reg add "HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" /v Enabled /t REG_DWORD /d 1 /f

На заметку: После нужно перезагрузить систему.

Шаг №4: Также если приложения на системе используют .NET Framework либо 3.5 или 4.x, а также для WinHTTP, то и в рамках этого также нужно прописывать включение TLS:

если через Server Manager - Add roles and features

  • .NET Framework 3.5 Features: отмечаю галочкой
  • .NET Framework 3.5 (includes .NET 2.0 and 3.0): отмечаю галочкой

reg add HKLM\SOFTWARE\Microsoft\.NETFramework\v2.0.50727 /v SystemDefaultTLSVersions /t REG_DWORD /d 1 /f

reg add HKLM\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v2.0.50727 /v SystemDefaultTLSVersions /t REG_DWORD /d 1 /f

reg add HKLM\SOFTWARE\Microsoft\.NETFramework\v2.0.50727 /v SchUseStrongCrypto /t REG_DWORD /d 1 /f

reg add HKLM\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v2.0.50727 /v SchUseStrongCrypto /t REG_DWORD /d 1 /f

если был установлен к примеру пакет: ndp48-x86-x64-allos-enu.exe

reg add HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 /v SystemDefaultTLSVersions /t REG_DWORD /d 1 /f

reg add HKLM\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319 /v SystemDefaultTLSVersions /t REG_DWORD /d 1 /f

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

rem x86 applications

reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp" /v SystemDefaultTLSVersions /t REG_DWORD /d 2048 /f

rem x64 applications

reg add "HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp" /v SystemDefaultTLSVersions /t REG_DWORD /d 2048 /f

На заметку: По завершению внесения изменения систему нужно перезагрузить для применения настроек.

Шаг №5: Предопределяем наборы шифров cipher suites:

gpedit.msc - Computer Configuration - Administrative Templates - Network - SSL Configuration Settings

  • SSL Cipher Suite Order: Enabled
  • SSL Cipher Suites: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_3DES_EDE_CBC_SHA,TLS_DHE_DSS_WITH_AES_256_CBC_SHA256,TLS_DHE_DSS_WITH_AES_128_CBC_SHA256,TLS_DHE_DSS_WITH_AES_256_CBC_SHA,TLS_DHE_DSS_WITH_AES_128_CBC_SHA,TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,TLS_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_RC4_128_MD5,TLS_RSA_WITH_NULL_SHA256,TLS_RSA_WITH_NULL_SHA,TLS_PSK_WITH_AES_256_GCM_SHA384,TLS_PSK_WITH_AES_128_GCM_SHA256,TLS_PSK_WITH_AES_256_CBC_SHA384,TLS_PSK_WITH_AES_128_CBC_SHA256,TLS_PSK_WITH_NULL_SHA384,TLS_PSK_WITH_NULL_SHA256

после нажимаю Apply, OK

На заметку: По завершению внесения изменения систему нужно перезагрузить для применения настроек.

Шаг №6: Как проверить что на сервере все же TLS 1.2, если к примеру, поставить IIS и сделать дефолтную страницу, а потом сетевым сканером nmap проверить:

ekzorchik@ekzorchik:~$ nmap --script ssl-enum-ciphers -p 443 172.35.35.5

Starting Nmap 7.80 ( https://nmap.org ) at 2025-09-17 13:36 MSK

Nmap scan report for 172.35.35.5

Host is up (0.017s latency).

PORT    STATE SERVICE

443/tcp open  https

| ssl-enum-ciphers:

|   TLSv1.2:

|     ciphers:

|       TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (ecdh_x25519) - A

|       TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (ecdh_x25519) - A

|       TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (dh 2048) - A

|       TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (dh 2048) - A

|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (ecdh_x25519) - A

|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (ecdh_x25519) - A

|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (ecdh_x25519) - A

|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (ecdh_x25519) - A

|       TLS_DHE_RSA_WITH_AES_256_CBC_SHA (dh 2048) - A

|       TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 2048) - A

|       TLS_RSA_WITH_AES_256_GCM_SHA384 (rsa 2048) - A

|       TLS_RSA_WITH_AES_128_GCM_SHA256 (rsa 2048) - A

|       TLS_RSA_WITH_AES_256_CBC_SHA256 (rsa 2048) - A

|       TLS_RSA_WITH_AES_128_CBC_SHA256 (rsa 2048) - A

|       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A

|       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A

|       TLS_RSA_WITH_3DES_EDE_CBC_SHA (rsa 2048) - C

|       TLS_RSA_WITH_RC4_128_SHA (rsa 2048) - C

|       TLS_RSA_WITH_RC4_128_MD5 (rsa 2048) - C

|     compressors:

|       NULL

|     cipher preference: server

|     warnings:

|       64-bit block cipher 3DES vulnerable to SWEET32 attack

|       Broken cipher RC4 is deprecated by RFC 7465

|       Ciphersuite uses MD5 for message integrity

|_  least strength: C

Nmap done: 1 IP address (1 host up) scanned in 6.45 seconds

Шаг №7: Если Вы не поклонник ручного труда в рамках прописывания команд выше, то для Вас есть утилита "IIS Crypto" с ее помощью все указанное ранее можно сделать просто проставим галочки и нажать Apply с последующей перезагрузкой.

Версия на момент написания данной заметки: 4.0

запускаю ее если быть в "Schannel" нажать "Best Practices"

Активация настроек TLS 1.2 на Windows Server 2016 Std через IIS Crypto.

после

  • Reboot: отмечаю галочкой

и нажимаю Apply

система уходит в перезагрузку.

На заметку: Если будете на Windows Server 2008 R2 запускать утилиту, то нужно версия 3.3.

На заметку: С учетом утилиты увидел что в реестре добавили еще ключи.

rem Multi-Protocol Unified Hello
reg add "HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\Multi-Protocol Unified Hello\Client" /v DisabledByDefault /t REG_DWORD /d 1 /f
reg add "HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\Multi-Protocol Unified Hello\Client" /v Enabled /t REG_DWORD /d 0 /f
reg add "HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\Multi-Protocol Unified Hello\Server" /v DisabledByDefault /t REG_DWORD /d 1 /f
reg add "HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\Multi-Protocol Unified Hello\Server" /v Enabled /t REG_DWORD /d 0 /f

rem PCT 1.0
reg add "HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\PCT 1.0\Client" /v DisabledByDefault /t REG_DWORD /d 1 /f
reg add "HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\PCT 1.0\Client" /v Enabled /t REG_DWORD /d 0 /f
reg add "HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\PCT 1.0\Server" /v DisabledByDefault /t REG_DWORD /d 1 /f
reg add "HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\PCT 1.0\Server" /v Enabled /t REG_DWORD /d 0 /f

Шаг №8: Проверяем после утилиты "IIS Crypto" что скажет сетевой сканер nmap:

ekzorchik@ekzorchik:~$ nmap --script ssl-enum-ciphers -p 443 172.35.35.5

Starting Nmap 7.80 ( https://nmap.org ) at 2025-09-17 15:28 MSK

Nmap scan report for 172.35.35.5

Host is up (0.0074s latency).

PORT    STATE SERVICE

443/tcp open  https

| ssl-enum-ciphers:

|   TLSv1.2:

|     ciphers:

|       TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (ecdh_x25519) - A

|       TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (ecdh_x25519) - A

|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (ecdh_x25519) - A

|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (ecdh_x25519) - A

|     compressors:

|       NULL

|     cipher preference: server

|_  least strength: A

Nmap done: 1 IP address (1 host up) scanned in 1.97 seconds

Ну по итогу выше проделанного я завершаю свою заметку, что хотел то разобрал, осталось следовать этому везде.

На этом заметка завершена, с уважением автор блога Олло Александр aka ekzorchik.

От ekzorchik