Nasz procesor karty kredytowej niedawno powiadomił nas, że od 30 czerwca 2016 r. Będziemy musieli wyłączyć protokół TLS 1.0, aby zachować zgodność z PCI . Próbowałem być proaktywny, wyłączając TLS 1.0 na naszym komputerze z systemem Windows Server 2008 R2, ale okazało się, że natychmiast po ponownym uruchomieniu nie byłem w stanie połączyć się z nim za pomocą protokołu RDP. Po niektórych badaniach wydaje się, że RDP obsługuje tylko TLS 1.0 (patrz tutaj lub tutaj ), a przynajmniej nie jest jasne, jak włączyć RDP przez TLS 1.1 lub TLS 1.2. Czy ktoś zna sposób na wyłączenie TLS 1.0 w Windows Server 2008 R2 bez zerwania RDP? Czy Microsoft planuje obsługę protokołu RDP przez TLS 1.1 lub TLS 1.2?
Uwaga: Wydaje się, że można to zrobić, konfigurując serwer do korzystania z warstwy zabezpieczeń RDP, ale wyłącza to uwierzytelnianie na poziomie sieci , co wydaje się być zamianą jednego zła na drugie.
AKTUALIZACJA 1 : Microsoft rozwiązał teraz ten problem. Zobacz odpowiedź poniżej dotyczącą odpowiedniej aktualizacji serwera.
AKTUALIZACJA 2 : Microsoft wydał samouczek dotyczący obsługi SQL Server dla PCI DSS 3.1 .
Odpowiedzi:
Firma Microsoft wydała poprawkę dotyczącą tego problemu 15 września 2015 r
Zobacz https://support.microsoft.com/en-us/kb/3080079
źródło
Przyglądam się temu od kilku dni, ponieważ musimy przestrzegać PCI-DSS 3.1, który wymaga wyłączenia TLS 1.0.
Nie chcemy również wracać do warstwy zabezpieczeń RDP, która stanowi poważny problem bezpieczeństwa.
W końcu udało mi się znaleźć dokumentację potwierdzającą, że TLS 1.1 i TLS 1.2 SĄ obsługiwane przez RDP. Ta dokumentacja jest ukryta w logowaniu SChannel i bardzo szczegółowej specyfikacji RDP .
Całkowity brak dokumentacji głównego strumienia w Technet lub innych witrynach Microsoft wydaje się, więc mam nadzieję, że udokumentowanie tego tutaj może pomóc niektórym ludziom.
Odpowiednie fragmenty z podanych linków:
Z linku MSDN:
Ze specyfikacji PDF w RDP:
Dlatego można stwierdzić, że zgodnie z tą dokumentacją można używać TLS 1.1 lub 1.2 w systemie Windows Server 2008 R2.
Jednak nasze testy wykazały, że NIE działa on z klientem RDP systemu Windows 7 (wersja 6.3.9600), gdy protokół TLS 1.0 jest wyłączony, a opcja zabezpieczeń RDP wymaga ustawienia TLS 1.0.
Jest to oczywiście także możliwe włączenie TLS 1.1 i 1.2, które są domyślnie wyłączone w 2008R2 - nawiasem mówiąc, robimy to przy użyciu bardzo przydatnego narzędzia kryptograficznego IIS firmy Nartac Software .
Patrząc na ten problem, warto włączyć rejestrowanie SChannel, aby zobaczyć więcej szczegółów na temat tego, co dzieje się po otwarciu sesji.
Możesz ustawić rejestrowanie SChannel poprzez zmianę klucza HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ EventLogging na 5 i ponowne uruchomienie.
Po wykonaniu tej czynności można obserwować zdarzenia SChannel, które pokazują wersję TLS używaną podczas nawiązywania połączenia RDP. Po włączeniu rejestrowania można zaobserwować błąd SChannel, gdy klient RDP próbuje nawiązać połączenie w systemie Windows 2008 R2 z wyłączonym TLS 1.0:
Testowałem również wyłączenie TLS 1.0 w Windows Server 2012 i 2012 R2, co mogę potwierdzić, że działa idealnie przy użyciu klienta Windows 7 RDP. Wpis w dzienniku SChannel pokazuje, że używany jest TLS 1.2:
Mam nadzieję, że to pomoże komuś, kto szuka wyjaśnień w tej sprawie.
Będę nadal szukał, w jaki sposób możemy uzyskać RDP działający na TLS 1.1 i TLS 1.2 w systemie Windows Server 2008 R2.
AKTUALIZACJA: 2015-AUG-05
Podnieśliśmy kwestię, że protokół RDP nie działa z serwerem 2008 R2 ze wsparciem Microsoft, w tym kroki do odtworzenia.
Po kilku tygodniach wstecz i do przodu w końcu dzisiaj otrzymaliśmy telefon od zespołu wsparcia, aby potwierdzić, że rzeczywiście mogą go odtworzyć, co jest teraz klasyfikowane jako błąd. Uaktualnienie zostanie wydane, w tej chwili spodziewane jest to w październiku 2015 r. Jak tylko będę mieć artykuł KB lub inne szczegóły, dodam je do tego postu.
Mamy nadzieję, że ci, którzy utknęli w systemie Windows Server 2008 R2, mogą przynajmniej rozwiązać ten problem przed upływem terminu czerwca 2016 r., Kiedy aktualizacja zostanie wydana.
AKTUALIZACJA: 19 września 2015 r
Microsoft wreszcie wydała support kb artykuł o tym tutaj i mogę potwierdzić, że działa OK.
źródło
Zamiast tego należy użyć protokołu IPsec, jak zaleca dokument: „Najpierw należy skonfigurować silnie zaszyfrowaną sesję (np. Tunel IPsec), a następnie wysłać dane przez SSL w bezpiecznym tunelu”
Głównym powodem tego jest konfiguracja protokołu TLS dla protokołu RDP, ponieważ zasady zapory można łatwo skontrolować pod kątem zgodności (w porównaniu z potwierdzeniem zgodności wielu zmian w rejestrze), a protokół IPsec można dość łatwo skonfigurować w systemie Windows.
Jeśli potrzebujesz pełnej zgodności z pakietem B, IPSEC z tls 1.0 jest jedynym dostępnym sposobem na zastosowanie do odpowiednich długości certyfikatów
źródło
To nie jest odpowiedź na pytanie, ale na pytanie cząstkowe „Jak przywrócić zdalny dostęp do maszyny wirtualnej, na której wyłączyłem TLS 1.0 i bez dostępu fizycznego?”.
Wyłączyłem TLS 1.0 za pomocą IISCrypto, co dało użyteczne ostrzeżenie o skutku ubocznym, że RDP przestanie działać, jeśli jest ustawiony na TLS. Więc się zameldowałem:
a mój poziom bezpieczeństwa został ustawiony na „Negocjuj”. Zakładałem, że oznacza to, że jeśli TLS nie będzie dostępny, z wdziękiem obniży się do RDP Security.
Ale nie, Negocjacja nie działa w ten sposób. Przed wyłączeniem TLS 1.0 musisz ustawić Poziom bezpieczeństwa na Zabezpieczenia RDP, a nie Negocjuj.
Straciłem więc zdolność zdalnego łączenia się z moją instancją AWS!
Aby połączyć się ponownie, użyłem innej instancji AWS.
net use \\lost_machine_ip\c$
\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\
i ustaw wartość na
SecurityLayer
0 (0 to RDP Security).Będziesz wtedy mógł połączyć się zdalnie i ponownie włączyć TLS 1.0 w IISCrypto, jeśli to konieczne.
źródło
Konieczne będzie zainstalowanie protokołu RDP 8.0 na komputerach z systemem Windows 7 i serwerami Windows Server 2008 R2, a następnie włączenie protokołu RDP 8.0 na zasadach komputera lokalnego lub zasadach grupy.
Oto Microsoft KB dla RDP 8.0. https://support.microsoft.com/en-us/kb/2592687
Po wykonaniu tej czynności powinieneś móc wyłączyć TLS 1.0 na komputerach i serwerach, edytując rejestr zgodnie z instrukcją w tym artykule. https://technet.microsoft.com/en-us/library/dn786418.aspx
Po zainstalowaniu RDP 8.0 można także zainstalować RDP 8.1, ale przed zainstalowaniem RDP 8.1 należy zainstalować RDP 8.0. RDP 8.0 zawiera zarówno składniki klienta, jak i protokół po stronie serwera, ale RDP 8.1 obejmuje tylko klienta. Microsoft KB dla RDP 8.1 to KB2830477.
Wprowadziłem te zmiany na jednej ze swoich stacji roboczych z systemem Windows 7 i przetestowałem połączenia RDP przy włączonym ustawieniu zasad grupy „Wymagaj użycia określonej warstwy zabezpieczeń dla połączeń zdalnych (RDP)” i ustawiam „SSL (TLS 1.0)”, aby upewnić się, że nie wróciłby do szyfrowania RDP.
AKTUALIZACJA 6/19/2015:
W końcu dostałem szansę przetestowania tego na jednym z naszych serwerów Windows Server 2008 R2 i zdecydowanie zrywa połączenia RDP z serwerem. Wygląda na to, że komponenty po stronie serwera RDP 8.0 są instalowane tylko na komputerach z systemem Windows 7 i nie są instalowane na serwerach z systemem Windows Server 2008 R2.
źródło
Jak opublikowano w Jak wyłączyć TLS 1.0 bez przerywania RemoteApps na serwerze 2012 R2, ale ponowne przesłanie tutaj z korzyścią dla tych, którzy mogą nie monitorować tego łącza:
Po prawie roku w końcu wymyśliłem działające rozwiązanie do wyłączenia TLS 1.0 / 1.1 bez zerwania łączności RDP i usług pulpitu zdalnego i uruchomienia RemoteApps:
Uruchom IISCrypto i wyłącz TLS 1.0, TLS 1.1 i wszystkie złe szyfry.
Na serwerze usług pulpitu zdalnego z rolą bramy otwórz lokalną politykę bezpieczeństwa i przejdź do Opcje bezpieczeństwa - Kryptografia systemu: Użyj zgodnych algorytmów FIPS do szyfrowania, mieszania i podpisywania. Zmień ustawienie zabezpieczeń na Włączone. Uruchom ponownie, aby zmiany odniosły skutek.
Należy pamiętać, że w niektórych przypadkach (szczególnie w przypadku korzystania z certyfikatów z podpisem własnym na serwerze 2012 R2) opcja Zasady bezpieczeństwa Zabezpieczenia sieci: Poziom uwierzytelniania LAN Manager może wymagać ustawienia wysyłania tylko odpowiedzi NTLMv2.
źródło
Tylko aktualizacja tego, jeśli ktokolwiek szuka informacji na ten temat. W przypadku 64-bitowych urządzeń z systemem Windows 7 musiałem zainstalować KB2574819 (pierwszy) i KB2592687 (drugi). Windows 7 musi mieć zainstalowany dodatek SP1, zanim te 2 paczki zostaną zainstalowane. Jeśli masz problemy z instalacją dodatku SP1, tak jak ja, najpierw musiałem odinstalować KB958830, a następnie zainstalować dodatek SP1.
W przypadku moich pudeł z systemem Windows Server 2008 R2 musiałem zainstalować KB3080079. Po wykonaniu tej czynności i wprowadzeniu wszystkich odpowiednich ustawień bezpiecznej komunikacji, użyje TLS 1.2. Możesz to potwierdzić za pomocą Wireshark, aby wykonać przechwytywanie komunikacji między dwoma urządzeniami.
źródło
Z powodzeniem korzystałem z rdesktop ( http://www.rdesktop.org ) dla Linuksa, aby obejść ten problem.
źródło
Jeden przypadek nie jest objęty istniejącymi odpowiedziami: klienci Windows 7 łączący się przez bramę RDP nadal będą używać TLS 1.0 podczas łączenia się z bramą i zawiodą, jeśli brama nie obsługuje TLS 1.0, nawet po zastosowaniu KB3080079 , jak zaobserwowano w tym wątku na forum TechNet .
Aby używać TLS 1.2 do łączenia się przez bramę RDP, upewnij się, że KB3140245 jest zainstalowany i dodaj następujące klucze rejestru (zapisz w pliku z
.reg
rozszerzeniem do zaimportowania):Jak udokumentowano w KB3140245 , zastąpi
WINHTTP_OPTION_SECURE_PROTOCOLS
to domyślnie użycie TLS 1.2 (i tylko TLS 1.2). Pamiętaj więc, że wpłynie to nie tylko na klienta RDP.(Uwaga: jeśli wymagana jest kompatybilność wsteczna,
dword:00000800
można ją zmienić nadword:00000A00
lubdword:00000A80
odpowiednio uwzględnić TLS 1.1 i 1.0)źródło