Сегодня речь пойдет о том, как на операционной системе 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
Шаг №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"
параметры станут недоступными для изменения, он буду затемнены:
Шаг №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"
после
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.