Protokół zdalnego pulpitu — Remote Desktop Protocol

Remote Desktop Protocol ( RDP ) to zastrzeżony protokół opracowany przez firmę Microsoft, który zapewnia użytkownikowi interfejs graficzny do łączenia się z innym komputerem za pośrednictwem połączenia sieciowego. Użytkownik korzysta w tym celu z oprogramowania klienckiego RDP, podczas gdy na drugim komputerze musi być uruchomione oprogramowanie serwera RDP.

Klienty istnieją dla większości wersji systemu Microsoft Windows (w tym Windows Mobile ), Linux , Unix , macOS , iOS , Android i innych systemów operacyjnych . Serwery RDP są wbudowane w systemy operacyjne Windows; istnieje również serwer RDP dla systemów Unix i OS X. Domyślnie serwer nasłuchuje na porcie TCP 3389 i porcie UDP 3389.

Firma Microsoft obecnie określa swoje oficjalne oprogramowanie klienckie RDP jako Podłączanie pulpitu zdalnego , dawniej „Klient usług terminalowych”.

Protokół jest rozszerzeniem protokołu udostępniania aplikacji ITU-T T.128 . Microsoft upublicznia niektóre specyfikacje na swojej stronie internetowej.

Historia

Każda wersja systemu Microsoft Windows, począwszy od systemu Windows XP, zawiera zainstalowanego klienta Podłączania pulpitu zdalnego (RDC) („Usługi terminalowe”) ( mstsc.exe ), którego wersja zależy od wersji systemu operacyjnego lub ostatniego zastosowanego dodatku Windows Service Pack. Serwer usług terminalowych jest obsługiwany jako oficjalna funkcja w systemie Windows NT 4.0 Terminal Server Edition , wydanym w 1998 r., Windows 2000 Server , we wszystkich wersjach systemu Windows XP z wyjątkiem Windows XP Home Edition, Windows Server 2003 , Windows Home Server , w systemie Windows Fundamentals for Legacy Komputery PC w wersjach Windows Vista Ultimate, Enterprise i Business, Windows Server 2008 i Windows Server 2008 R2 oraz Windows 7 Professional i nowszych.

Firma Microsoft zapewnia klienta wymaganego do łączenia się z nowszymi wersjami protokołu RDP dla systemów operacyjnych niższego poziomu. Ponieważ ulepszenia serwera nie są dostępne na niższym poziomie, funkcje wprowadzone z każdą nowszą wersją RDP działają tylko w systemach operacyjnych niższego poziomu podczas łączenia się z wyższą wersją serwera RDP ze starszych systemów operacyjnych, a nie podczas korzystania z serwera RDP w starszym systemie operacyjnym.

Wersja 4.0

W oparciu o protokół udostępniania aplikacji ITU-T T.128 (w wersji roboczej znany również jako „T.share”) z serii rekomendacji T.120 , pierwsza wersja protokołu RDP (o nazwie wersja 4.0) została wprowadzona przez firmę Microsoft z „Usługami terminalowymi ", jako część ich produktu Windows NT 4.0 Server, Terminal Server Edition. Wersja usług terminalowych NT 4.0 opierała się na technologii MultiWin firmy Citrix , dostarczanej wcześniej jako część Citrix WinFrame w systemie Windows NT 3.51, w celu jednoczesnej obsługi wielu użytkowników i sesji logowania. Firma Microsoft wymagała od Citrix udzielenia licencji na technologię MultiWin firmie Microsoft, aby móc dalej oferować swój własny produkt usług terminalowych, wówczas nazwany Citrix MetaFrame, w systemie Windows NT 4.0. Biblioteki DLL dostarczane przez firmę Citrix zawarte w systemie Windows NT 4.0 Terminal Services Edition nadal są objęte prawami autorskimi firmy Citrix, a nie prawami autorskimi firmy Microsoft. Późniejsze wersje systemu Windows bezpośrednio integrowały niezbędną obsługę. Technologia udostępniania aplikacji T.128 została nabyta przez Microsoft od brytyjskiego producenta oprogramowania Data Connection Limited .

Wersja 5.0

Ta wersja została wprowadzona w systemie Windows 2000 Server , dodano obsługę wielu funkcji, w tym drukowanie na drukarkach lokalnych, i miała na celu poprawę wykorzystania przepustowości sieci.

Wersja 5.1

Ta wersja została wprowadzona w systemie Windows XP Professional i zawierała obsługę 24-bitowych kolorów i dźwięku. Klient jest dostępny dla Windows 2000 , Windows 9x , Windows NT 4.0 . W tej wersji nazwa klienta została zmieniona z Klienta usług terminalowych na Podłączanie pulpitu zdalnego ; dziedzictwo pozostaje jednak do dziś, ponieważ podstawowy plik wykonywalny nadal nosi nazwę mstsc.exe .

Wersja 5.2

Ta wersja została wprowadzona w systemie Windows Server 2003 , zawierała obsługę połączeń w trybie konsoli, katalog sesji i mapowanie zasobów lokalnych. Wprowadza również Transport Layer Security (TLS) 1.0 do uwierzytelniania serwera i szyfrowania komunikacji z serwerem terminali. Ta wersja jest wbudowana w Windows XP Professional x64 Edition oraz Windows Server 2003 x64 i x86 Editions.

Wersja 6.0

Ta wersja została wprowadzona w systemie Windows Vista i zawierała obsługę aplikacji Windows Presentation Foundation , uwierzytelniania na poziomie sieci , obsługi wielu monitorów i dużych pulpitów oraz połączeń TLS 1.0 . Klient w wersji 6.0 jest dostępny dla systemu Windows XP SP2, Windows Server 2003 SP1/SP2 (edycje x86 i x64) oraz Windows XP Professional x64 Edition. Klient Microsoft Remote Desktop Connection dla systemu Macintosh OS X jest również dostępny z obsługą Intel i PowerPC Mac OS w wersji 10.4.9 i nowszych.

Wersja 6.1

Ta wersja została wydana w lutym 2008 r. i jest dołączona do systemu Windows Server 2008 oraz do dodatku Service Pack 1 dla systemu Windows Vista. Klient jest dołączony do systemu Windows XP SP3. Oprócz zmian związanych ze sposobem, w jaki zdalny administrator łączy się z „konsolą”, ta wersja ma nowe funkcje wprowadzone w systemie Windows Server 2008, takie jak zdalne łączenie się z poszczególnymi programami oraz nowy system przekierowywania drukarek po stronie klienta, który umożliwia drukowanie przez klienta dostępne dla aplikacji działających na serwerze, bez konieczności instalowania sterowników druku na serwerze również z drugiej strony zdalny administrator może dowolnie instalować, dodawać/usuwać dowolne oprogramowanie lub ustawienia po stronie klienta. Jednak aby rozpocząć zdalną sesję administracyjną, należy być członkiem grupy Administratorzy na serwerze, z którym próbujemy się połączyć.

Wersja 7.0

Ta wersja została wprowadzona do produkcji w lipcu 2009 r. i jest dołączona do systemu Windows Server 2008 R2 oraz systemu Windows 7 . W tej wersji zmieniono również z usług terminalowych na usługi pulpitu zdalnego . Ta wersja ma nowe funkcje, takie jak przekierowanie Windows Media Player, dwukierunkowy dźwięk, obsługa wielu monitorów, obsługa szyby Aero, ulepszona akceleracja bitmap, przekierowywanie Easy Print, dokowanie paska języka . Klient RDP 7.0 jest dostępny w systemach Windows XP SP3 i Windows Vista SP1/SP2 do KB969084. Klient RDP 7.0 nie jest oficjalnie obsługiwany w wersjach Windows Server 2003 x86 i Windows Server 2003 / Windows XP Professional x64.

Większość funkcji RDP 7.0, takich jak zdalne korzystanie ze szkła Aero, dwukierunkowy dźwięk, przekierowywanie programu Windows Media Player, obsługa wielu monitorów i łatwe drukowanie na pulpicie zdalnym, jest dostępnych tylko w wersjach Windows 7 Enterprise lub Ultimate.

Wersja 7.1

Wersja 7.1 protokołu RDP została dołączona do dodatku Service Pack 1 dla systemu Windows 7 i dodatku SP1 dla systemu Windows Server 2008 R2 w 2010 roku. Wprowadzono funkcję RemoteFX , która zapewnia obsługę zwirtualizowanego GPU i kodowanie po stronie hosta.

Wersja 8.0

Ta wersja została wydana w systemach Windows 8 i Windows Server 2012 . Ta wersja posiada nowe funkcje, takie jak Adaptive Graphics (renderowanie progresywne i powiązane techniki), automatyczny wybór TCP lub UDP jako protokołu transportowego, obsługa multi-touch, obsługa DirectX 11 dla vGPU, przekierowanie USB obsługiwane niezależnie od obsługi vGPU itp. Połączenie jakość” jest wyświetlany na pasku połączenia klienta RDP dla połączeń RDP 8.0; kliknięcie go zapewnia dalsze informacje o połączeniu, w tym o tym, czy UDP jest używany, czy nie.

Składniki klienta i serwera RDP 8.0 są również dostępne jako dodatek do systemu Windows 7 SP1. Klient RDP 8.0 jest również dostępny dla systemu Windows Server 2008 R2 z dodatkiem SP1, ale składniki serwera nie. Dodatek wymaga zainstalowania protokołu DTLS jako warunku wstępnego. Po zainstalowaniu aktualizacji, aby protokół RDP 8.0 był włączony między komputerami z systemem Windows 7, potrzebny jest dodatkowy krok konfiguracji za pomocą edytora zasad grupy .

Nową funkcją w RDP 8.0 jest ograniczona obsługa zagnieżdżania sesji RDP; działa tylko w systemach Windows 8 i Server 2012, Windows 7 i Server 2008 R2 (nawet z aktualizacją RDP 8.0) nie obsługują tej funkcji.

Funkcja „cienia” z RDP 7, która pozwalała administratorowi monitorować (snoop) na połączeniu RDP, została usunięta w RDP 8. Funkcja zdalnej Aero Glass (dotyczy komputerów z systemem Windows 7 łączących się ze sobą) została również usunięta w PROW 8.

Wersja 8.1

Ta wersja została wydana z systemami Windows 8.1 i Windows Server 2012 R2 . Aktualizacja klienta RDP 8.1 istnieje również dla systemu Windows 7 SP1, ale w przeciwieństwie do aktualizacji RDP 8.0 dla systemu Windows 7, nie dodaje ona składnika serwera RDP 8.1 do systemu Windows 7. Ponadto, jeśli funkcja serwera RDP 8.0 jest wymagana w systemie Windows 7, Aktualizacja KB 2592687 (składniki klienta i serwera RDP 8.0) musi zostać zainstalowana przed zainstalowaniem aktualizacji RDP 8.1.

Obsługa cieniowania sesji została dodana z powrotem w RDP w wersji 8.1. Ta wersja naprawia również pewne wizualne usterki w pakiecie Microsoft Office 2013, gdy działa jako RemoteApp .

Wersja 8.1 protokołu RDP umożliwia również tryb „z ograniczeniami administratora”. Zalogowanie się w tym trybie wymaga jedynie znajomości zaszyfrowanego hasła, a nie jego zwykłego tekstu , co umożliwia przeprowadzenie ataku haszującego . Firma Microsoft wydała 82-stronicowy dokument wyjaśniający, jak złagodzić tego typu ataki.

Wersja 10.0

Wersja 10.0 protokołu RDP zawiera następujące nowe funkcje: AutoSize zoom (przydatne dla klientów HiDPI). Ponadto uwzględniono ulepszenia kompresji grafiki z wykorzystaniem H.264/AVC.

Cechy

  • Obsługa 32-bitowych kolorów. Obsługiwane są również kolory 8-, 15-, 16- i 24-bitowe.
  • Szyfrowanie 128-bitowe przy użyciu algorytmu szyfrowania RC4 od wersji 6. Obsługa TLS od wersji 5.2.
  • Przekierowanie dźwięku umożliwia użytkownikom przetwarzanie dźwięku na zdalnym pulpicie i przekierowanie dźwięku na komputer lokalny.
  • Przekierowanie systemu plików umożliwia użytkownikom korzystanie z ich lokalnych plików na zdalnym pulpicie w ramach sesji terminala.
  • Przekierowanie drukarki umożliwia użytkownikom korzystanie z drukarki lokalnej w ramach sesji terminalowej tak samo, jak w przypadku drukarki udostępnionej lokalnie lub w sieci.
  • Przekierowanie portów umożliwia aplikacjom działającym w ramach sesji terminalowej bezpośredni dostęp do lokalnych portów szeregowych i równoległych.
  • Komputer zdalny i komputer lokalny mogą udostępniać schowek.

Firma Microsoft wprowadziła następujące funkcje w wydaniu RDP 6.0 w 2006 roku:

  • Bezproblemowy system Windows: aplikacje zdalne mogą działać na komputerze klienckim, który jest obsługiwany przez połączenie pulpitu zdalnego. Jest dostępny od PROW 6.
  • Programy zdalne: publikowanie aplikacji ze skojarzeniami typu pliku po stronie klienta.
  • Brama usług terminalowych: umożliwia korzystanie z frontowego serwera IIS do akceptowania połączeń (przez port 443 ) dla serwerów zaplecza usług terminalowych za pośrednictwem połączenia https , podobnie jak RPC przez https umożliwia klientom programu Outlook łączenie się z zapleczem koniec serwera Exchange 2003. Wymaga systemu Windows Server 2008 .
  • Uwierzytelnianie na poziomie sieci
  • Obsługa zdalnego motywu Aero Glass (lub Compposed Desktop), w tym technologia wygładzania czcionek ClearType .
  • Obsługa zdalnych aplikacji Windows Presentation Foundation : zgodni klienci z obsługą .NET Framework 3.0 mogą wyświetlać pełne efekty Windows Presentation Foundation na komputerze lokalnym.
  • Przepisanie przekierowania urządzeń na bardziej ogólne, co pozwala na dostęp do większej liczby urządzeń.
  • W pełni konfigurowalny i skryptowalny za pomocą Windows Management Instrumentation .
  • Ulepszone strojenie przepustowości dla klientów RDP.
  • Obsługa Transport Layer Security (TLS) 1.0 po stronie serwera i klienta (może być negocjowana, jeśli obie strony wyrażą na to zgodę, ale nie jest to obowiązkowe w domyślnej konfiguracji dowolnej wersji systemu Windows).
  • Obsługa wielu monitorów umożliwiająca jednej sesji korzystanie z wielu monitorów na kliencie (wyłącza kompozycję pulpitu)

W wersji 7.1 PROW w 2010 r. wprowadzono następującą funkcję:

  • RemoteFX : RemoteFX zapewnia obsługę zwirtualizowanego GPU i kodowanie po stronie hosta; jest dostarczany jako część systemu Windows Server 2008 R2 SP1.

Problemy z bezpieczeństwem

Wersja 5.2 protokołu RDP w domyślnej konfiguracji jest podatna na atak typu man-in-the-middle . Administratorzy mogą włączyć szyfrowanie warstwy transportowej, aby ograniczyć to ryzyko.

Sesje RDP są również podatne na zbieranie danych uwierzytelniających w pamięci, które można wykorzystać do uruchomienia ataków typu pass hash .

W marcu 2012 r. firma Microsoft wydała aktualizację dotyczącą krytycznej luki w zabezpieczeniach protokołu RDP. Luka umożliwiła przejęcie komputera z systemem Windows przez nieuwierzytelnionych klientów i robaki komputerowe .

Klient RDP w wersji 6.1 może być użyty do ujawnienia nazw i zdjęć wszystkich użytkowników na serwerze RDP (bez względu na wersję systemu Windows) w celu wybrania jednego, jeśli nie określono nazwy użytkownika dla połączenia RDP.

W marcu 2018 r. firma Microsoft wydała łatkę dla CVE - 2018-0886 , luki w zabezpieczeniach umożliwiającej zdalne wykonanie kodu w CredSSP, która jest dostawcą obsługi zabezpieczeń zaangażowanym w Microsoft Remote Desktop i Windows Remote Management, wykrytą przez Preempt.

W maju 2019 r. firma Microsoft wydała łatkę bezpieczeństwa dla CVE - 2019-0708 („ BlueKeep ”), lukę, która umożliwia zdalne wykonanie kodu i o której Microsoft ostrzegała, że ​​jest „robakowata”, co może spowodować szerokie zakłócenia. Co niezwykłe, łatki zostały również udostępnione dla kilku wersji systemu Windows, które dobiegły końca, takich jak Windows XP . Nie nastąpiła natychmiastowa złośliwa eksploatacja, ale eksperci byli jednomyślni, że jest to prawdopodobne i może spowodować rozległe szkody w oparciu o liczbę systemów, które wydawały się pozostać narażone i niezałatane.

W lipcu 2019 r. firma Microsoft wydała poprawkę bezpieczeństwa dla CVE - 2019-0887 , luki w protokole RDP, która dotyczy Hyper-V .

Wdrożenia firm innych niż Microsoft

Istnieje wiele innych niż Microsoft implementacji klientów i serwerów RDP, które implementują podzbiory funkcji Microsoft. Na przykład rdesktop klienta wiersza polecenia typu open source jest dostępny dla systemów operacyjnych Linux/Unix i Microsoft Windows. Istnieje wiele klientów GUI, takich jak tsclient i KRDC , które są zbudowane na rdesktopie.

W 2009 rdesktop został rozwidlony jako FreeRDP, nowy projekt mający na celu modularyzację kodu, rozwiązywanie różnych problemów i wdrażanie nowych funkcji. FreeRDP jest dostarczany z własnym klientem wiersza poleceń xfreerdp, który obsługuje Seamless Windows w RDP6. Około 2011 r. projekt zdecydował się zrezygnować z rozwidlenia i zamiast tego przepisać na licencji Apache , dodając więcej funkcji, takich jak RemoteFX, RemoteApp i NTLMv2. Komercyjna dystrybucja o nazwie Thincast została uruchomiona w 2019 roku. Wieloplatformowy klient oparty na FreeRDP z obsługą Vulkan/H.264 pojawił się latem 2020 roku. Istnieje również aplikacja GTK o nazwie Remmina .

Serwery RDP typu open source w systemie Unix obejmują FreeRDP, projekt ogonowy i xrdp . Do łączenia się z takim serwerem można użyć klienta Podłączania pulpitu zdalnego systemu Windows.

Zastrzeżone rozwiązania klienckie RDP, takie jak rdpclient, są dostępne jako samodzielna aplikacja lub wbudowane w sprzęt klienta. Nowy paradygmat dostępu, dostęp oparty na przeglądarce, umożliwił użytkownikom dostęp do pulpitów i aplikacji systemu Windows na dowolnych hostach RDP, takich jak hosty sesji pulpitu zdalnego Microsoft (RDS) (usługi terminalowe) i pulpity wirtualne, a także zdalne komputery fizyczne.

Istnieje również VirtualBox Remote Display Protocol (VRDP) używany w implementacji maszyny wirtualnej VirtualBox przez Oracle . Ten protokół jest zgodny ze wszystkimi klientami RDP, takimi jak ten dostarczany z systemem Windows, ale w przeciwieństwie do oryginalnego protokołu RDP można go skonfigurować tak, aby akceptował połączenia nieszyfrowane i niezabezpieczone hasłem, co może być przydatne w bezpiecznych i zaufanych sieciach, takich jak domowe lub biurowe sieci LAN . Domyślnie serwer RDP firmy Microsoft odmawia połączeń z kontami użytkowników z pustymi hasłami (ale można to zmienić za pomocą Edytora zasad grupy ). VRDP zapewnia również opcje autoryzacji zewnętrznej i gościa. Nie ma znaczenia, który system operacyjny jest zainstalowany jako gość, ponieważ VRDP jest zaimplementowany na poziomie maszyny wirtualnej (hosta), a nie w systemie gościa. Zastrzeżone VirtualBox Extension Pack jest wymagane.

Patenty

Firma Microsoft wymaga implementacji innych firm, aby uzyskać licencję na odpowiednie patenty RDP. Od lutego 2014 r. stopień, w jakim klienci open-source spełniają to wymaganie, pozostaje nieznany.

Użyj w cyberprzestępczości

Badacze bezpieczeństwa poinformowali, że cyberprzestępcy sprzedają zhakowane serwery RDP na forach podziemnych, a także w wyspecjalizowanych nielegalnych sklepach RDP. Te zagrożone PROW mogą być wykorzystywane jako „miejsce postoju” do przeprowadzania innych rodzajów oszustw lub uzyskiwania dostępu do wrażliwych danych osobowych lub firmowych. Badacze donoszą ponadto o przypadkach, w których cyberprzestępcy używają PROW do bezpośredniego upuszczania złośliwego oprogramowania na komputery.

Zobacz też

Bibliografia

Zewnętrzne linki