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.
Zachowanie podczas uzyskiwania dostępu do łączy TLS 1.0 i 1.1 w przeglądarce
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.
Rysunek 1: Okno przeglądarki podczas uzyskiwania dostępu do strony sieci Web TLS 1.0 i 1.1
Zachowanie podczas uzyskiwania dostępu do łączy TLS 1.0 i 1.1 w aplikacjach winhttp
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".
Zachowanie podczas uzyskiwania dostępu do łączy TLS 1.0 i 1.1 w niestandardowych aplikacjach interfejsu użytkownika opartych na winhttp lub wininet
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.
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.
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.
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.
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.
Rysunek 6: Okno edytora zasady grupy
- 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.
- Kliknij dwukrotnie opcję Wyłącz obsługę szyfrowania.
Rysunek 7. Ścieżka wyłączania obsługi szyfrowania w Edytorze zasady grupy - Wybierz opcję Włączone . Następnie z listy rozwijanej wybierz wersję protokołu TLS, którą chcesz włączyć, jak pokazano na rysunku 8.
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.
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)
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
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.
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).