Zapytaj, czym jest RDP, i dostaniesz dwie odpowiedzi, obie prawdziwe. Jedna to funkcja, która siedzi w Windowsie od czasów Windows NT. Druga to wynajmowana maszyna z Windowsem, sprzedawana na miesiące, którą ludzie nazywają „RDP".
Jeśli pracodawca albo klient powiedział ci, żebyś „użył RDP", niemal na pewno miał na myśli pierwsze. Prawdopodobnie już to masz. Jeśli znalazłeś RDP na stronie dostawcy z ceną obok, patrzyłeś na drugie.
RDP oznacza dwie różne rzeczy
RDP to skrót od Remote Desktop Protocol, Protokołu Pulpitu Zdalnego. To protokół Microsoftu do sterowania jednym komputerem z drugiego przez sieć i jest wbudowany w Windows. Te same trzy litery pojawiają się także na stronach produktowych firm hostingowych. W tym kontekście „serwer RDP" zwykle oznacza hostowaną maszynę z Windowsem, często VPS, na której Pulpit zdalny jest już włączony. Docierasz do niej za pomocą protokołu.
Więc: czym jest RDP w twoim przypadku? To zależy, gdzie zobaczyłeś to słowo. Instrukcja instalacji zwykle ma na myśli protokół; oferty hostingowe często oznaczają wynajmowaną maszynę z Windowsem i włączonym RDP.
Microsoft opracował RDP w 1998 roku. Pojawiło się pierwszy raz wraz z pierwszym wydaniem Windows NT Terminal Server. Na komputerze z Windowsem strona kliencka jest już zainstalowana i już opłacona. Nazywa się Podłączanie pulpitu zdalnego i znajdziesz ją, wpisując tę nazwę w pole wyszukiwania menu Start. Microsoft wydaje też nowsze klienty, w tym Windows App. Są dostępne na wielu różnych rodzajach urządzeń poza Windowsem.
Jeśli maszyna, do której musisz dotrzeć, już istnieje i działa na edycji zdolnej hostować Pulpit zdalny, zwykle nie potrzebujesz osobnego produktu RDP. Dotyczy to komputera biurowego, serwera prowadzonego przez twój zespół albo VPS, który już masz. Włącz dostęp, spraw, by host był osiągalny, potem otwórz klienta, wpisz adres i zaloguj się.
Jak działa Protokół Pulpitu Zdalnego
Trzy warunki muszą być spełnione, zanim jakiekolwiek połączenie RDP się uda, a niepowodzenie prawie zawsze wynika z jednego z nich. Pulpit zdalny musi być włączony na hoście. Host musi być osiągalny z miejsca, w którym siedzisz, czyli z tej samej sieci biurowej albo przez otwartą ścieżkę w internecie. I musisz mieć konto lub dane uwierzytelniające, które host akceptuje, z prawem do zdalnego logowania. Wpisanie adresu IP to dopiero ostatni z tych trzech.
Kiedy to jest na miejscu, sesja przebiega w trzech etapach:
- Konfiguracja. Administrator włącza Pulpit zdalny na maszynie hosta i decyduje, kto może się łączyć. To tutaj zabezpieczanie hosta RDP jest najtańsze, bo nic jeszcze nie jest wystawione.
- Połączenie. Klient wysyła adres hosta i twoje dane uwierzytelniające. Jeśli zostaną przyjęte, host otwiera sesję dla twojego konta. Kroki przy łączeniu się z Windowsa są takie same, czy host stoi obok ciebie, czy w innym kraju.
- Komunikacja. Host wysyła ci grafikę pulpitu; twoje dane z klawiatury i myszy wracają. Twoje aplikacje działają na hoście, nie na twojej własnej maszynie.
Pod spodem RDP rozdziela różne rodzaje danych sesji na logiczne kanały wirtualne, a potem multipleksuje te kanały przez połączenie. Aktualizacje ekranu, dane wejściowe, drukowanie i przekierowanie urządzeń mogą być obsługiwane i porządkowane osobno, mimo że nadal dzielą tę samą ścieżkę sieciową. Ruch sesji jest szyfrowany w tranzycie. Własna dokumentacja architektury Microsoftu umieszcza komponenty zarządzające tymi kanałami w rodzinie T.120 według ITU. T.122 definiuje usługi wielopunktowe; T.125 definiuje protokół transmisji danych.
Liczba, którą trzeba zapamiętać, to 3389. Pulpit zdalny domyślnie nasłuchuje na porcie 3389, i to zarówno po TCP, jak i po UDP. Ten port da się zmienić przez rejestr. UDP jest nowsze z tych dwóch. Pojawiło się wraz z aktualizacją RDP 8.0, która pozwala administratorowi używać zarówno TCP, jak i UDP. Sesje degradują się wtedy łagodniej w sieciach ze stratami. Kiedy ktoś prosi cię, żebyś „otworzył firewall dla RDP", chodzi właśnie o 3389.
Co potrafi RDP
Przy włączonym przekierowaniu drukarki drukarka na twoim biurku może pojawić się wewnątrz sesji zdalnej, jakby była tam podłączona. Ta sztuczka, zwana przekierowaniem, stanowi większość tego, co odróżnia RDP od zwykłej przeglądarki ekranu.
| Właściwość | Co robi | Dlaczego to ważne |
|---|---|---|
| Uwierzytelnianie za pomocą karty inteligentnej | Przyjmuje fizyczne tokeny bezpieczeństwa z wbudowanym układem | Mocniejsze niż samo hasło |
| Redukcja Przepustowości | Koduje i kompresuje aktualizacje pulpitu, zamiast przesyłać surowe wideo pełnoekranowe | Sesje nadające się do pracy na wolnych połączeniach |
| Obsługa wielu wyświetlaczy | Obsługuje więcej niż jeden monitor w jednej sesji | Pulpit zdalny odpowiada twojej fizycznej konfiguracji |
| Obsługa GPU | Może korzystać z akceleracji GPU na hoście i sprzętowego kodowania H.264/AVC tam, gdzie jest wspierane i włączone | Aplikacje obciążające grafikę pozostają możliwe do obejrzenia |
| Przekierowanie Audio | Odtwarza zdalny dźwięk przez twoje lokalne głośniki | Wideo i połączenia działają wewnątrz sesji |
| Przekierowanie systemu plików | Udostępnia twoje lokalne dyski sesji zdalnej | Kopiowanie plików nie wymaga narzędzia innej firmy |
| Przekierowanie drukarki | Udostępnia twoją lokalną drukarkę sesji zdalnej | Bez eksportowania dokumentu tylko po to, by wydrukować go u siebie |
| Przekierowanie Portów | Obsługuje przekierowanie portu szeregowego/COM i wybrane przekierowanie USB, gdy jest skonfigurowane | Zgodne urządzenia peryferyjne mogą pozostać dostępne zdalnie |
Wiersz o GPU niesie zastrzeżenie warte poznania. Starego komponentu RemoteFX vGPU już nie ma. Microsoft wymienia kartę graficzną 3D RemoteFX wśród usuniętych funkcji Windows Server i wskazuje zamiast niej na Discrete Device Assignment. Ten komponent nosił też podatność na zdalne wykonanie kodu, CVE-2020-1036. Nowoczesne hosty Hyper-V mogą udostępniać zasoby GPU przez Discrete Device Assignment albo partycjonowanie GPU zamiast RemoteFX vGPU. Właśnie dlatego zestawy do zdalnego grania są tak wybredne co do sprzętu hosta.
To, czy kilka osób może być zalogowanych naraz, jest właściwością hosta, nie protokołu. Pojedynczy pulpit Windows zwykle obsługuje jedną sesję interaktywną. Hostowanie wielu odizolowanych sesji na jednym Windows Server to zadanie Usług pulpitu zdalnego, a nie samego RDP. W normalnym wdrożeniu RDS na Windows Server każdy użytkownik lub urządzenie potrzebuje także odpowiedniej licencji RDS CAL. Sprawdź zarówno model sesji, jak i licencje, zanim obiecasz zespołowi wspólną maszynę.
Gdzie RDP nie wystarcza
RDP to dobry protokół z czterema konkretnymi kosztami. Trzy z nich są twoje do zarządzania. Czwarty decyduje, czy RDP jest w ogóle właściwym narzędziem.
Port 3389 w otwartym internecie
Nie wystawiaj RDP wprost do publicznego internetu. Port 3389 zwrócony do internetu to standardowy wektor pierwszego dostępu, a historia jest udokumentowana. CVE-2019-0708, znana jako BlueKeep, pozwalała nieuwierzytelnionemu atakującemu wykonać kod na celu. Wystarczyło połączyć się i wysłać odpowiednio spreparowane żądania.
BlueKeep i DejaBlue zostały ujawnione i załatane w 2019 roku. Wzorzec ekspozycji, który wykorzystywały, nie zniknął. Odgadywanie danych uwierzytelniających wobec otwartego portu od początku nie potrzebowało żadnej podatności.
Środki zaradcze są zwyczajne. Umieść host za VPN albo Bramą pulpitu zdalnego, żeby port nie był osiągalny z dowolnych adresów. Ogranicz, które adresy źródłowe mogą się łączyć. Dodaj uwierzytelnianie wieloskładnikowe na warstwie dostępu tam, gdzie twoja konfiguracja to wspiera, na przykład wdrożenie RD Gateway. Instaluj aktualizacje Windows w tempie, które utrzymasz. Jeśli maszyna musi być osiągalna z dowolnego miejsca, ograniczanie tempa nieudanych logowań też należy do tej listy.
Połączenie jest tym doświadczeniem
Każda klatka, którą widzisz, przeszła przez sieć. Na stabilnym łączu RDP przypomina pracę lokalną. Na zatłoczonym albo o wysokim opóźnieniu każde naciśnięcie klawisza przychodzi z opóźnieniem, a opóźnienie kumuluje się w trakcie zdania. Duże operacje na plikach są gorsze niż odrysowanie ekranu. Sieci mobilne to wzmacniają. RDP z urządzenia Android zyskuje na obniżeniu rozdzielczości sesji, zanim zaczniesz winić serwer.
Za sesję płaci host
Renderowanie pulpitu, kodowanie go i uruchamianie twoich aplikacji dzieje się wszystko na hoście. Maszyna, której nie przeszkadza działająca usługa w tle, może zacząć się dławić, gdy tylko ktoś pracuje na niej interaktywnie. Z każdą dodatkową sesją jest gorzej. Dobierz rozmiar hosta do pracy, którą zamierzasz w nim wykonywać, nie do pracy, którą wykonuje dziś.
Windows na hoście, na kliencie prawie cokolwiek
To jest granica, która decyduje o narzędziu. Strona klienta jest znacznie mniej ograniczona. Strona hosta nie jest. Dokumentacja Microsoftu wymienia edycje, które mogą hostować sesję: Professional, Enterprise, Education i Windows Server. Edycje Home nie mogą.
To właśnie ogranicza wbudowane hostowanie RDP od Microsoftu do Windowsa. macOS nie udostępnia hosta RDP natywnie, więc sterowanie Makiem odsyła cię do innego narzędzia zdalnego dostępu. Linux to wyjątek wart poznania. Implementacja open source xrdp odpowiada na połączenia RDP bez niczego od Microsoftu, a xRDP na Ubuntu jest zwykłym punktem startowym.
Co dostawcy hostingu rozumieją przez serwer RDP
Kupujesz jeden, a dostawca podaje ci dane połączenia: zwykle adres IP, nazwę użytkownika i hasło. Nie ma żadnej fizycznej skrzynki ani lokalnego instalatora. W zależności od dostawcy możesz wybrać wersję Windows w trakcie udostępniania; sam serwer działa w centrum danych z włączonym Pulpitem zdalnym, jeszcze przed twoim połączeniem.
W ofertach hostingowych ten produkt to zwykle VPS z Windowsem i włączonym RDP. VPS uruchamia własne środowisko Windows na wspólnej infrastrukturze fizycznej, a ty wynajmujesz maszynę wirtualną, zamiast posiadać sprzęt. Dostawca wstępnie konfiguruje połowę protokołową, więc host jest włączony, osiągalny i działa, jeszcze przed twoim pierwszym połączeniem.
Główna zmienna między planami to, czy maszyna jest tylko twoja, czy wspólna. To decyduje, co możesz zainstalować i co się dzieje, gdy sąsiadowi rośnie obciążenie. To granica między współdzielonymi i administratorskimi planami RDP.
Co dostajesz z hostowanym serwerem RDP
Pierwsza sesja wygląda tak. Otwierasz Podłączanie pulpitu zdalnego, wklejasz adres, a potem wpisujesz nazwę użytkownika i hasło, które ci przysłano. Pojawia się pulpit Windows. Od tego momentu zachowuje się jak każda inna maszyna z Windowsem. Instalujesz oprogramowanie, przeglądasz, uruchamiasz aplikacje i zostawiasz rzeczy działające, gdy zamykasz okno.
To, za co płacisz, jest tą częścią pod spodem. Dostawca ma sprzęt, sieć i bezpieczeństwo fizyczne. Trzyma maszynę włączoną, kiedy twój własny laptop nie jest. Wyjaśnij sobie, gdzie leży granica. W planie niezarządzanym wszystko, co dzieje się w środku Windowsa, zostaje po twojej stronie. Aktualizacje, konta użytkowników i reguły firewalla są twoją pracą. Hostowany serwer zdejmuje problem sprzętu z twojego biurka; nie zdejmuje problemu łatek.
Dwie inne cechy liczą się w praktyce. Zasoby są zwykle elastyczne, więc zbyt małej maszynie można dodać CPU albo pamięć bez odbudowy. A lokalizacja to wybór, który robisz raz, a czujesz codziennie, bo odległość wyznacza dolny pułap tego, jak szybko sesja może reagować. Dostawcy różnią się w obu tych rzeczach i w tym, ile ze stosu są gotowi tknąć. To są te trzy punkty warte rozważenia, kiedy wybierasz dostawcę RDP.
Kto używa serwerów RDP
Te cztery sytuacje potrzebują tego samego: maszyny z Windowsem, która zostaje włączona, zostaje osiągalna i nie podróżuje w torbie.
Zespoły zdalne i rozproszone
Hostowany pulpit daje każdemu członkowi zespołu te same narzędzia i pliki, niezależnie od sprzętu, który ma przed sobą. Może trzymać dane robocze na maszynie kontrolowanej przez firmę, zamiast przechowywać je lokalnie, o ile zasady schowka, dysków i innych przekierowań są odpowiednio ustawione.
Środowiska programistyczne i testowe
Budowanie i testowanie potrzebuje sprzętu, który większość czasu stoi bezczynnie. Wynajmowanie go na miesiące pozwala nie kupować sprzętu pod szczyt obciążenia. Uszkodzoną maszynę testową można odbudować, a nikt nie traci stanowiska pracy.
Środowiska szkoleniowe i laboratoryjne
Identyczny, wstępnie skonfigurowany pulpit, wydany każdemu uczestnikowi, sprawia, że każdy startuje z tego samego stanu. Nikt nie traci pierwszych zajęć na instalowanie oprogramowania albo naprawianie problemu ze sterownikiem w jednym laptopie.
Praca kontraktowa i freelance
Klient może dać wykonawcy oddzielne środowisko pracy bez dawania mu bezpośredniego dostępu do firmowego stanowiska. Dane mogą zostać na hostowanej maszynie, jeśli schowek, dyski i inne ścieżki przekierowań są ograniczone. Kiedy projekt się kończy, konto albo maszynę można usunąć.
Alternatywy dla RDP warte poznania
Dwie z trzech alternatyw poniżej potrafią sterować Makiem. To jest oś, wokół której kręci się ta kategoria. Próba nie polega na tym, które narzędzie ma więcej funkcji, ale na tym, co działa na maszynie docelowej i czy potrafisz do niej dotrzeć.
| Narzędzie | Wspierane platformy docelowe | Jak do tego docierasz |
|---|---|---|
| Protokół Pulpitu Zdalnego | Windows | Własny adres hosta, domyślnie na porcie 3389 TCP lub UDP |
| Pulpit zdalny Chrome | Mac, Windows lub Linux | Przez przeglądarkę, z kodem PIN wpisywanym przy łączeniu |
| TeamViewer | Windows, macOS, Linux i wspierane urządzenia Android; na iOS/iPadOS i ChromeOS tylko udostępnianie ekranu | Oprogramowanie TeamViewer na urządzeniu zdalnym; klient desktopowy lub webowy po stronie łączącej się |
| UltraVNC | Windows | Przeglądarka dla Windows albo przeglądarka w Javie z Linuksa, macOS i innych systemów |
Własna dokumentacja Google obejmuje konfigurację Chrome Remote Desktop dla zdalnego dostępu do komputera z Makiem, Windowsem lub Linuksem, czyli dokładnie ten przypadek, którego RDP nie obsłuży. To tutaj najłatwiejsza opcja do uruchomienia. To także ta, która wstawia najwięcej infrastruktury innych firm na ścieżkę połączenia, i właśnie tam leżą jej kompromisy bezpieczeństwa.
TeamViewer obejmuje tu najszerszy zakres platform, ale wsparcie nie jest identyczne na każdym celu. Jego aktualna macierz wsparcia obejmuje Windows, macOS, Linux, Android, iOS/iPadOS i ChromeOS; iOS/iPadOS i ChromeOS to przypadki udostępniania ekranu, a nie pełnego zdalnego sterowania.
Rodzina VNC jest najbliższym technicznym krewnym i w praktyce najbardziej odmiennym. Własna dokumentacja UltraVNC opisuje serwer tylko dla Windowsa z przeglądarką opartą na Javie dla innych platform. Traktuje też szyfrowanie jako wtyczkę, a nie jako domyślne, i to najważniejsza rzecz do wiedzenia przed uruchomieniem go przez niezaufaną sieć. Na hoście z Windowsem wybór między RDP a VNC zwykle sprowadza się właśnie do tego.
Kiedy wynajęcie maszyny z Windowsem jest właściwą odpowiedzią
Strona hosta w RDP sprowadza się do krótkiej specyfikacji: maszyna, która zostaje włączona i osiągalna, ma dość CPU i pamięci do pracy interaktywnej i dostaje łatki. Jeśli już masz tę maszynę i może hostować Pulpit zdalny, nie ma osobnej usługi RDP do kupienia. Włącz Pulpit zdalny, spraw, by host był osiągalny, i połącz się klientem.
Jeśli jej nie masz, ta specyfikacja jest właśnie tym, co wypełnia hostowany serwer RDP. W Cloudzy nasze serwery RDP z Windowsem przychodzą z preinstalowanym Windows Server i włączonym Pulpitem zdalnym, z SLA dostępności 99,95 %. Działają w centrach danych w Ameryce Północnej, Europie, na Bliskim Wschodzie i w Azji i Pacyfiku, więc możesz postawić maszynę blisko ludzi, którzy z niej korzystają. Jest 14-dniowa gwarancja zwrotu pieniędzy, jeśli opóźnienie okaże się gorsze, niż liczyłeś.
Często zadawane pytania
Czy RDP jest bezpłatne?
Nie ma osobnej opłaty za protokół RDP ani za wbudowanego klienta Windows. Jeśli już posiadasz albo prowadzisz wspierany host, możesz się z nim połączyć bez kupowania produktu „RDP". Pieniądze kosztuje maszyna na drugim końcu. Dostawca, który reklamuje „RDP" w cenie miesięcznej, wynajmuje ci hostowany serwer Windows, a nie protokół.
Czy mogę używać RDP na Macu albo na Linuksie?
Połączyć się możesz z obu. Microsoft dostarcza Windows App i klientów Pulpitu zdalnego dla macOS i kilku innych platform; na Linuksie potrzebujesz klienta RDP innej firmy. Hostowanie to drugi kierunek. Linux może odpowiadać na RDP przez xrdp, natomiast macOS nie udostępnia hosta RDP natywnie.
Czy Protokół Pulpitu Zdalnego to to samo co VPN?
Nie. RDP daje ci ekran i klawiaturę jednej konkretnej maszyny. VPN wstawia twoje urządzenie do sieci, żebyś dosięgnął tego, co w niej jest, ale nie wręcza ci żadnego pulpitu. Obu używa się często razem: VPN dostarcza prywatną ścieżkę, a RDP prowadzi sesję po niej.
Czy powinienem zmienić domyślny port RDP?
Zmniejsza to hałas, nie ryzyko. Nieukierunkowane skanowanie sprawdza 3389 i idzie dalej, więc inny port trzyma ten ruch poza twoimi logami. Kontrolą dostępu to nie jest: skan nakierowany na twój adres i tak znajdzie usługę. Traktuj to jak porządkowanie, nigdy jak zamiennik ograniczania dostępu.