KB5017811 – Управление на защитата на транспортния слой (TLS) 1.0 и 1.1 след промяна на поведението по подразбиране на 20 септември 2022 г.

Отнася се за
Win 10 Ent LTSC 2019 Win 10 IoT Ent LTSC 2019 Windows 10 IoT Core LTSC Windows Server 2019 Windows 10 Enterprise Multi-Session, version 20H2 Windows 10 Enterprise and Education, version 20H2 Windows 10 IoT Enterprise, version 20H2 Windows 10 on Surface Hub Windows 10, version 21H1, all editions Windows 10, version 21H2, all editions

Резюме

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 г.

След 20 септември 2022 г. ще се появи съобщение, когато браузърът ви отвори уеб сайт, който използва TLS 1.0 или 1.1. Вижте фигура 1. Съобщението гласи, че сайтът използва остарял или опасен протокол TLS. За да се справите с това, можете да актуализирате протокола TLS до TLS 1.2 или по-нова версия. Ако това не е възможно, можете да разрешите TLS, както е обсъдено в "Разрешаване на TLS версия 1.1 и по-долу".

Прозорец на Internet Explorer при достъп до връзка TLS 1.0 и 1.1

Фигура 1: Прозорец на браузър при достъп до уеб страница на TLS 1.0 и 1.1

След актуализацията приложенията, базирани на winhttp, може да са неуспешни. Съобщението за грешка е "ERROR_WINHTTP_SECURE_FAILURE при изпълнение на операция WinHttpSendRequest".

Когато дадено приложение се опитва да създаде връзка чрез 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: групови правила Прозорец на редактора

  1. Придвижете се до правилата за локален компютър>(компютърна конфигурация или потребителска конфигурация)>Административни шаблони> Компоненти >на WindowsInternet Explorer>Контролен панел>за интернетРазширена страница>Изключете поддръжката за шифроване. Вижте фигура 7.
  2. Двукратно щракване върху "Изключване на поддръжката за шифроване".
    Път до изключване на поддръжката за шифроване в GPedit.msc
    Figure 7: Path to turn encryption support in групови правила Editor
  3. Изберете опцията "Разрешено ". След това използвайте падащия списък, за да изберете версията на TLS, която искате да разрешите, както е показано на фигура 8.
    Изключване на поддръжката за шифроване с падащо меню, показващо различните опции
    Фигура 8: Разрешете Изключване на поддръжката за шифроване и падащия списък

След като разрешите правилата в редактора на групови правила, не можете да го променяте в "Опции за интернет". Например ако изберете Използвай SSL3.0 и TLS 1.0, всички други опции няма да са налични в "Опции за интернет". Вижте фигура 9. Не може да променяте никои от настройките в "Опции за интернет", ако разрешите "Изключване на поддръжката за шифроване" в редактора на групови правила.

Опции за интернет с неактивни настройки за SSL и TLS

Figure 9: Internet Options showing unavailable SSL and TLS settings

Разрешаване на TLS версия 1.1 и по-нови (настройки на winhttp)

Вижте актуализацията, за да разрешите TLS 1.1 и TLS 1.2 като защитени протоколи по подразбиране в WinHTTP в Windows.

Важни пътища в системния регистър (настройки за 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.

Важни пътища в системния регистър

  1. ForceDefaultSecureProtocols

    • HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\winhttp
    • По подразбиране е FALSE. Задаването на ненулева стойност ще попречи на приложенията да настройват протоколи по избор, използващи опцията WinHTTP.
  2. EnableInsecureTlsFallback

    • За да промените настройките: SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\winhttp
    • За да зададете правила: SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings
    • По подразбиране е FALSE. Задаването на ненулева стойност ще позволи на приложенията да се връщат обратно към незащитени протоколи (TLS 1.0 и 1.1), ако ръкостискането е неуспешно със защитени протоколи (TLS 1.2 и по-нови версии).