Резюме
Защита на транспортния слой (TLS) 1.0 и 1.1 са протоколи за защита за създаване на канали за шифроване по компютърни мрежи. Microsoft ги поддържа от Windows XP и Windows Server 2003. Регулаторните изисквания обаче се променят. Освен това има нови слабости в сигурността в TLS 1.0. Така че Microsoft препоръчва да премахнете зависимостите TLS 1.0 и 1.1. Също така препоръчваме да забраните TLS 1.0 и 1.1 на ниво операционна система, където е възможно. За повече подробности вижте забраняване на TLS 1.0 и 1.1. В актуализацията от 20 септември 2022 г. за предварителен преглед ще забраним TLS 1.0 и 1.1 по подразбиране за приложения, базирани на winhttp и wininet. Това е част от текущите усилия. Тази статия ще ви помогне да ги активирате отново. Тези промени ще бъдат отразени след инсталирането на актуализациите на Windows, издадени на или след 20 септември 2022 г.
Поведение при достъп до връзки TLS 1.0 и 1.1 в браузъра
След 20 септември 2022 г. ще се появи съобщение, когато браузърът отвори уеб сайт, който използва TLS 1.0 или 1.1. Вижте фигура 1. Съобщението гласи, че сайтът използва остарял или опасен TLS протокол. За да се справите с това, можете да актуализирате протокола TLS към TLS 1.2 или по-нова версия. Ако това не е възможно, можете да разрешите TLS, както е обсъдено в Разрешаване на TLS версия 1.1 и по-долу.
Фигура 1: Прозорец на браузъра при достъп до уеб страница на TLS 1.0 и 1.1
Поведение при достъп до TLS 1.0 и 1.1 връзки в winhttp приложения
След актуализацията приложенията, базирани на winhttp, може да са неуспешни. Съобщението за грешка е "ERROR_WINHTTP_SECURE_FAILURE при изпълнение на операция WinHttpSendRequest."
Поведение при достъп до TLS 1.0 и 1.1 връзки в потребителски потребителски интерфейс приложения въз основа на winhttp или wininet
Когато дадено приложение се опитва да създаде връзка с помощта на TLS 1.1 и по-нова, връзката може да изглежда неуспешна. Когато затворите приложение или то спре да работи, диалоговият прозорец Помощник за съвместимост на програмите (PCA) се показва, както е показано на фигура 2.
Фигура 2: Диалогов прозорец на помощника за съвместимост на програмите след затваряне на приложение
Диалоговият прозорец на PCA гласи "Тази програма може да не се е изпълнявала правилно." Под него има две опции:
-
Изпълнение на програмата с помощта на настройките за съвместимост
-
Тази програма се изпълни правилно
Изпълнение на програмата с помощта на настройките за съвместимост
Когато изберете тази опция, приложението се отваря отново. Сега всички връзки, които използват TLS 1.0 и 1.1, работят правилно. От този момент нататък няма да се показва диалогов прозорец PCA. Редакторът на системния регистър добавя записи към следните пътища:
-
Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Storeе.
-
Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers.
Ако сте избрали тази опция по погрешка, можете да изтриете тези записи. Ако ги изтриете, ще видите диалоговия прозорец PCA следващия път, когато отворите приложението.
Фигура 3: Списък на програмите, които трябва да се изпълняват с помощта на настройките за съвместимост
Тази програма се изпълни правилно
Когато изберете тази опция, приложението се затваря нормално. Следващия път, когато отворите отново приложението, не се показва диалогов прозорец на PCA. Системата блокира цялото съдържание на TLS 1.0 и 1.1. Редакторът на системния регистър добавя следния запис в пътя Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store. Вижте фигура 4. Ако сте избрали тази опция по погрешка, можете да изтриете този елемент. Ако изтриете записа, ще видите диалоговия прозорец PCA следващия път, когато отворите приложението.
Фигура 4: Запис в редактора на системния регистър, който гласи, че приложението се е изпълнявало правилно
Важно Старите TLS протоколи са разрешени само за определени приложения. Това е така, въпреки че са забранени в системните настройки.
Разрешете TLS версия 1.1 и по-нова (настройки за wininet и Internet Explorer)
Не препоръчваме разрешаването на TLS 1.1 и по-долу, тъй като те вече не се считат за защитени. Те са уязвими на различни атаки, като например атаката на POODLE. Така че преди да разрешите TLS 1.1, направете едно от следните неща:
-
Проверете дали няма налична по-нова версия на приложението.
-
Помолете разработчика на приложението да направи промени в конфигурацията в приложението, за да премахне зависимостта от TLS 1.1 и по-долу.
В случай че никое от решенията не работи, има два начина за разрешаване на наследени TLS протоколи в настройките за цялата система:
-
Опции за интернет
-
Редактор на групови правила
Опции за интернет
За да отворите Опции за интернет, въведете Опции за интернет в полето за търсене в лентата на задачите. Можете също да изберете Промяна на настройките от диалоговия прозорец, показан на фигура 1. В раздела Разширени превъртете надолу в панела Настройки . Там можете да разрешите или забраните TLS протоколи.
Figure 5: Internet Properties dialog
Редакторът на групови правила
За да отворите редактора на групови правила, въведете gpedit.msc в полето за търсене в лентата на задачите. Появява се прозорец като този, показан на фигура 6.
Figure 6: групови правила Editor window
-
Придвижете се до > за правила за локалния компютър(Компютърна конфигурация или конфигурация на потребителя), > административните темплета > компонентите на Windows > Internet Explorer > Internet Контролен панел > разширените > за страници изключете поддръжката на шифроване. Вижте фигура 7.
-
Щракнете двукратно върху Изключване на поддръжката на шифроване.
Фигура 7: Път за изключване на поддръжката на шифроване в редактора на групови правила
-
Изберете опцията Разрешено . След това използвайте падащия списък, за да изберете версията на TLS, която искате да разрешите, както е показано на фигура 8.
Фигура 8: Разрешаване на изключване на поддръжката и падащия списък за шифроване
След като разрешите правилата в редактора на групови правила, не можете да ги променяте в "Опции за интернет". Например ако изберете Използвай SSL3.0 и TLS 1.0, всички други опции ще бъдат недостъпни в "Опции за интернет". Виж фигура 9. Не можете да променяте никоя от настройките в "Опции за интернет", ако разрешите Изключване на поддръжката на шифроване в редактора на групови правила.
Фигура 9: Опции за интернет, показващи настройките за SSL и TLS, които не са налични
Разрешаване на TLS версия 1.1 и по-нова (winhttp настройки)
Важни пътища в системния регистър (настройки за wininet и Internet Explorer)
-
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings
-
Тук можете да намерите SecureProtocols, който съхранява стойността на текущо разрешените протоколи, ако използвате редактора на групови правила.
-
-
Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
-
Тук можете да намерите SecureProtocols, който съхранява стойността на текущо разрешените протоколи, ако използвате опции за интернет.
-
-
групови правила SecureProtocols ще има приоритет пред набора от опции за интернет.
Разрешаване на незащитена TLS резервна
Промените по-горе ще разрешат TLS 1.0 и TLS 1.1. Те обаче няма да разрешат отпадането на TLS. За да разрешите резервната TLS, трябва да зададете EnableInsecureTlsFallback на 1 в системния регистър под пътищата по-долу.
-
За да промените настройките: SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\winhttp
-
За да зададете правила: SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings
Ако EnableInsecureTlsFallback не е наличен, трябва да създадете нов DWORD запис и да го настроите на 1.
Важни пътища в системния регистър
-
ForceDefaultSecureProtocols
-
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\winhttp
-
Това е FALSE по подразбиране. Задаването на ненулева стойност ще попречи на приложенията да задават протоколи по избор с помощта на опцията winhttp.
-
-
EnableInsecureTlsFallback
-
За да промените настройките: SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\winhttp
-
За да зададете правила: SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings
-
Това е FALSE по подразбиране. Задаването на ненулева стойност ще позволи на приложенията да се върнат към незащитени протоколи (TLS1.0 и 1.1), ако ръкостискването е неуспешно със защитени протоколи (tls1.2 и по-нови).
-