Резюме
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.
Figure 2: Program Compatibility Conversation, dialog after closing an application
Диалоговият прозорец на 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: групови правила Прозорец на редактора
- Придвижете се до правилата за локален компютър>(компютърна конфигурация или потребителска конфигурация)>Административни шаблони> Компоненти >на WindowsInternet Explorer>Контролен панел>за интернетРазширена страница>Изключете поддръжката за шифроване. Вижте фигура 7.
- Двукратно щракване върху "Изключване на поддръжката за шифроване".
Figure 7: Path to turn encryption support in групови правила Editor - Изберете опцията "Разрешено ". След това използвайте падащия списък, за да изберете версията на TLS, която искате да разрешите, както е показано на фигура 8.
Фигура 8: Разрешете Изключване на поддръжката за шифроване и падащия списък
След като разрешите правилата в редактора на групови правила, не можете да го променяте в "Опции за интернет". Например ако изберете Използвай SSL3.0 и TLS 1.0, всички други опции няма да са налични в "Опции за интернет". Вижте фигура 9. Не може да променяте никои от настройките в "Опции за интернет", ако разрешите "Изключване на поддръжката за шифроване" в редактора на групови правила.
Figure 9: Internet Options showing unavailable SSL and TLS settings
Разрешаване на 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. Задаването на ненулева стойност ще позволи на приложенията да се връщат обратно към незащитени протоколи (TLS 1.0 и 1.1), ако ръкостискането е неуспешно със защитени протоколи (TLS 1.2 и по-нови версии).