KB5017811 — zarządzanie protokołem Transport Layer Security (TLS) 1.0 i 1.1 po domyślnej zmianie zachowania 20 września 2022 r.

Dotyczy
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

Podsumowanie

Transport Layer Security (TLS) 1.0 i 1.1 to protokoły zabezpieczeń służące do tworzenia kanałów szyfrowania w sieciach komputerowych. Są one obsługiwane przez firmę Microsoft od wersji Windows XP i Windows Server 2003. Zmieniają się jednak wymogi regulacyjne. Ponadto istnieją nowe luki w zabezpieczeniach protokołu TLS 1.0. Dlatego firma Microsoft zaleca usunięcie zależności TLS 1.0 i 1.1. Zalecamy również wyłączenie protokołu TLS 1.0 i 1.1 na poziomie systemu operacyjnego, jeśli to możliwe. Aby uzyskać więcej informacji, zobacz Wyłączanie protokołu TLS 1.0 i 1.1. W aktualizacji wersji zapoznawczej z 20 września 2022 r. domyślnie wyłączymy protokoły TLS 1.0 i 1.1 dla aplikacji opartych na usługach winhttp i wininet. Jest to część ciągłych wysiłków. Ten artykuł pomoże Ci je ponownie włączyć. Te zmiany zostaną uwzględnione po zainstalowaniu aktualizacji systemu Windows wydanych 20 września 2022 r. lub później.

Po 20 września 2022 r. komunikat będzie wyświetlany po otwarciu w przeglądarce witryny internetowej korzystającej z protokołu TLS 1.0 lub 1.1. Zobacz rysunek 1. Komunikat stwierdza, że witryna używa przestarzałego lub niebezpiecznego protokołu TLS. Aby rozwiązać ten problem, możesz zaktualizować protokół TLS do wersji TLS 1.2 lub nowszej. Jeśli nie jest to możliwe, możesz włączyć protokół TLS w sposób opisany w temacie Włączanie protokołu TLS w wersji 1.1 i starszych.

Okno programu Internet Explorer podczas uzyskiwania dostępu do łącza TLS 1.0 i 1.1

Rysunek 1: Okno przeglądarki podczas uzyskiwania dostępu do strony sieci Web TLS 1.0 i 1.1

Po aktualizacji aplikacje oparte na interfejsie winhttp mogą zakończyć się niepowodzeniem. Komunikat o błędzie to "ERROR_WINHTTP_SECURE_FAILURE podczas wykonywania operacji WinHttpSendRequest".

Gdy aplikacja próbuje utworzyć połączenie przy użyciu protokołu TLS 1.1 lub starszego, może się wydawać, że połączenie kończy się niepowodzeniem. Po zamknięciu aplikacji lub zatrzymaniu jej działania pojawia się okno dialogowe Asystenta zgodności programów (PCA), jak pokazano na rysunku 2.

Wyskakujące okienko Asystenta zgodności programów po zamknięciu aplikacji

Rysunek 2: Okno dialogowe Asystenta zgodności programów po zamknięciu aplikacji

W oknie dialogowym PCA pojawia się komunikat "Ten program mógł nie zostać uruchomiony poprawnie". W ramach tego istnieją dwie opcje:

  • Uruchamianie programu przy użyciu ustawień zgodności
  • Ten program działał poprawnie

Uruchamianie programu przy użyciu ustawień zgodności

Po wybraniu tej opcji aplikacja zostanie otwarta ponownie. Teraz wszystkie linki używające protokołów TLS 1.0 i 1.1 działają poprawnie. Od tego momentu nie będzie pojawiało się żadne okno dialogowe PCA. Edytor rejestru dodaje wpisy do następujących ścieżek:

  • Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store.
  • Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers.

Jeśli ta opcja została wybrana przez pomyłkę, można usunąć te wpisy. Jeśli je usuniesz, przy następnym otwarciu aplikacji zobaczysz okno dialogowe PCA.

Lista programów, które powinny być uruchamiane przy użyciu ustawień zgodności

Rysunek 3. Lista programów, które powinny być uruchamiane przy użyciu ustawień zgodności

Ten program działał poprawnie

Po wybraniu tej opcji aplikacja zostanie zamknięta normalnie. Przy następnym otwarciu aplikacji okno dialogowe PCA nie zostanie wyświetlone. System blokuje całą zawartość TLS 1.0 i 1.1. Edytor rejestru doda następujący wpis doComputer\HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store ścieżki . Zobacz rysunek 4. Jeśli ta opcja została wybrana przez pomyłkę, można usunąć ten wpis. Jeśli usuniesz wpis, przy następnym otwarciu aplikacji zostanie wyświetlone okno dialogowe PCA.

Wpis w Edytorze rejestru określający, że aplikacja została uruchomiona poprawnie

Rysunek 4: Wpis w Edytorze rejestru z informacją, że aplikacja została uruchomiona poprawnie

Ważne Starsze protokoły TLS są włączone tylko dla określonych aplikacji. Dzieje się tak, nawet jeśli są one wyłączone w ustawieniach dla całego systemu.

Włącz protokół TLS w wersji 1.1 lub starszej (ustawienia wininet i Internet Explorer)

Nie zaleca się włączania protokołu TLS w wersji 1.1 i starszych, ponieważ nie są one już uważane za bezpieczne. Są podatne na różne ataki, takie jak atak POODLE. Dlatego przed włączeniem protokołu TLS 1.1 wykonaj jedną z następujących czynności:

  • Sprawdź, czy jest dostępna nowsza wersja aplikacji.
  • Poproś dewelopera aplikacji o wprowadzenie zmian w konfiguracji aplikacji w celu usunięcia zależności od protokołu TLS 1.1 i starszych.

Jeśli żadne z rozwiązań nie działa, istnieją dwa sposoby włączenia starszych protokołów TLS w ustawieniach ogólnosystemowych:

  • Opcje internetowe
  • Edytor zasad grupy

Opcje internetowe

Aby otworzyć okno Opcje internetowe, wpisz "Opcje internetowe " w polu wyszukiwania na pasku zadań. Możesz również wybrać pozycję Zmień ustawienia w oknie dialogowym pokazanym na rysunku 1. Na karcie Zaawansowane przewiń w dół w panelu Ustawienia . Tam możesz włączyć lub wyłączyć protokoły TLS.

Okno Opcje internetowe

Rysunek 5: Okno dialogowe Właściwości internetowe

Edytor zasady grupy

Aby otworzyć Edytor zasady grupy, wpisz gpedit.msc w polu wyszukiwania paska zadań. Pojawi się okno podobne do pokazanego na rysunku 6.

Okno edytora zasad grupy

Rysunek 6: Okno edytora zasady grupy

  1. Przejdź do Zasad> komputera lokalnego (Konfiguracja komputera lub Konfiguracja użytkownika)>Szablony>administracyjne składniki systemu Windows Internet>Explorer>Internetowy panel sterowania>Strona>Zaawansowane Wyłącz obsługę szyfrowania. Zobacz rysunek 7.
  2. Kliknij dwukrotnie opcję Wyłącz obsługę szyfrowania.
    Ścieżka do wyłączania obsługi szyfrowania w GPedit.msc
    Rysunek 7. Ścieżka wyłączania obsługi szyfrowania w Edytorze zasady grupy
  3. Wybierz opcję Włączone . Następnie z listy rozwijanej wybierz wersję protokołu TLS, którą chcesz włączyć, jak pokazano na rysunku 8.
    Wyłącz obsługę szyfrowania z listą rozwijaną pokazującą różne opcje
    Rysunek 8: Włącz obsługę szyfrowania i listę rozwijaną

Po włączeniu zasad w Edytorze zasady grupy nie można ich zmienić w opcjach internetowych. Na przykład jeśli wybierzesz pozycję Użyj SSL3.0 i TLS 1.0, wszystkie inne opcje będą niedostępne w opcjach internetowych. Zobacz rysunek 9. Nie można zmienić żadnych ustawień w oknie Opcje internetowe, jeśli w Edytorze zasady grupy zostanie włączona opcja Wyłącz obsługę szyfrowania.

Opcje internetowe z wyszarzonymi ustawieniami SSL i TLS

Rysunek 9. Opcje internetowe pokazujące niedostępne ustawienia protokołów SSL i TLS

Włącz protokół TLS w wersji 1.1 lub starszej (ustawienia winhttp)

Zobacz Aktualizacja umożliwiająca włączenie protokołów TLS 1.1 i TLS 1.2 jako domyślnych bezpiecznych protokołów w usłudze WinHTTP w systemie Windows.

Ważne ścieżki rejestru (ustawienia usługi wininet i programu Internet Explorer)

  • Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings

    • Tutaj możesz znaleźć SecureProtocols, który przechowuje wartość obecnie włączonych protokołów, jeśli używasz Edytora zasady grupy.
  • Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings

    • Tutaj znajdziesz SecureProtocols, który przechowuje wartości aktualnie włączonych protokołów, jeśli używasz opcji internetowych.
  • Zasady grupy SecureProtocols mają pierwszeństwo przed zasadami ustawionymi przez opcje internetowe.

Włączanie rezerwowego szyfrowania niezabezpieczonego protokołu TLS

Powyższe modyfikacje umożliwią włączenie protokołów TLS 1.0 i TLS 1.1. Nie włączą jednak powrotu do protokołu TLS. Aby włączyć rezerwę protokołu TLS, należy ustawić wartość EnableInsecureTlsFallback na 1 w rejestrze w poniższych ścieżkach.

  • Aby zmienić ustawienia: SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\winhttp
  • Aby ustawić zasady: SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings

Jeśli parametr EnableInsecureTlsFallback nie istnieje, należy utworzyć nowy wpis DWORD i ustawić dla niego wartość 1.

Ważne ścieżki rejestru

  1. ForceDefaultSecureProtocols

    • HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\winhttp
    • Domyślnie jest to wartość FALSE. Ustawienie wartości różnej od zera uniemożliwi aplikacjom ustawianie protokołów niestandardowych przy użyciu opcji winhttp.
  2. EnableInsecureTlsFallback

    • Aby zmienić ustawienia: SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\winhttp
    • Aby ustawić zasady: SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings
    • Domyślnie jest to wartość FALSE. Ustawienie wartości różnej od zera umożliwi aplikacjom powrót do niezabezpieczonych protokołów (TLS 1.0 i 1.1), jeśli uzgadnianie nie powiedzie się z bezpiecznymi protokołami (tls 1.2 i nowsze).