RDP (Remote Desktop Protocol) to autorski protokół sieciowy firmy Microsoft, który pozwala na graficzne przejęcie kontroli nad oddalonym komputerem przez sieć internetową lub lokalną. Używa się go poprzez wpisanie adresu IP maszyny docelowej w kliencie Podłączanie pulpitu zdalnego, po czym użytkownik widzi ekran i operuje myszką tak, jakby fizycznie siedział przed tym sprzętem. Protokół ten przesyła w czasie rzeczywistym obraz interfejsu graficznego, a w drugą stronę odbiera kliknięcia i uderzenia w klawiaturę.
Prawda jest zresztą absolutnie taka, że większość firm opiera na tym rozwiązaniu całą swoją pracę zdalną. Wchodzisz rano z kawą do pokoju, odpalasz klienta RDP na starym laptopie i nagle pracujesz na potężnym serwerze obliczeniowym stojącym w serwerowni na drugim końcu miasta. A wszystko to dzieje się w ułamkach sekund. System operacyjny Windows ma tę funkcję wbudowaną w wersjach Pro oraz Enterprise. Wersja Home pozwala tylko na nawiązywanie połączeń wychodzących, ale sama nie przyjmie połączenia z zewnątrz.
Jak fizycznie działa pulpit zdalny pod maską systemu?
Microsoft zaprojektował RDP w oparciu o architekturę klient-serwer. Serwer RDP nasłuchuje żądań na określonym porcie sieciowym. Kiedy klient RDP zgłasza chęć nawiązania sesji, następuje negocjacja parametrów. Systemy ustalają między sobą rozdzielczość ekranu, głębię kolorów i obsługiwane szyfrowanie. Co ciekawe, RDP wcale nie wysyła gotowych klatek wideo tak, jak robi to YouTube czy Netflix. Wysyła po prostu instrukcje rysowania interfejsu GDI (Graphics Device Interface).
Oznacza to, że przez kabel sieciowy lecą komendy typu „narysuj szary prostokąt w tym rogu” albo „wyświetl tekst w czcionce Arial”. To drastycznie oszczędza transfer. Jeżeli jednak otworzysz na pulpicie zdalnym film, mechanizm inteligentnie przełączy się na strumieniowanie kompresowanych map bitowych (bitmap caching). Wtedy zjada więcej pasma. RDP domyślnie komunikuje się z użyciem protokołu TCP, dając gwarancję dostarczenia każdego pakietu w nienaruszonym stanie. Ostatnie wersje Windows Server mocno faworyzują jednak protokół UDP. UDP gubi pakiety, ale działa o wiele szybciej. W efekcie podczas przewijania długiego pliku PDF w sesji zdalnej nie odczuwasz irytującego opóźnienia i rwania obrazu.
Siedziałem nad tym wczoraj do 3 nad ranem, bo na produkcji wdrożenie stanęło przez jeden zablokowany port na firewallu brzegowym. Chociaż prawdę mówiąc brakuje nam twardych danych z logów za wczoraj, więc wydaje się to tylko jedną z możliwych hipotez awarii. Router po prostu wycinał ruch UDP i zrzucał całą komunikację na starszy wariant TCP. Efekt był taki, że księgowe w biurze narzekały na powolne odświeżanie się okienek w programie kadrowym. Wystarczyło dopisać jedną regułę na mikrotiku.
Jak skonfigurować RDP na komputerze z Windows 10 i 11?
To nie wymaga doktoratu z informatyki. Najpierw musisz upewnić się, że komputer docelowy (ten, do którego chcesz wejść) ma włączoną usługę nasłuchiwania. W systemach Windows funkcja ta jest domyślnie wyłączona ze względów bezpieczeństwa. By ją aktywować, nie musisz instalować żadnych dodatkowych paczek z internetu.
- Wciśnij przycisk Start na maszynie docelowej, wpisz „Ustawienia pulpitu zdalnego” i przełącz suwak na pozycję włączoną. Zignoruj ostrzeżenia systemu o zmianach w zaporze, Windows Defender sam otworzy odpowiednie porty w tle.
- Zanotuj adres IP tego komputera. Dobrym pomysłem jest wejście w wiersz polecenia, wpisanie komendy
ipconfigi spisanie ciągu cyfr przy karcie sieciowej. - Na swoim domowym laptopie otwórz aplikację „Podłączanie pulpitu zdalnego”. Wpisujesz tam zebrany wcześniej adres IP.
- System zapyta o login i hasło. Podajesz poświadczenia konta założonego na tamtej maszynie. Dajesz enter.
Zaraz po wpisaniu hasła wyskoczy okienko z błędem certyfikatu. To normalne w środowiskach bez podniesionej domeny Active Directory. Serwer generuje certyfikat z podpisem własnym (self-signed). Klikasz ignoruj błąd i wchodzisz do systemu. Masz pełen dostęp do plików, drukarek i schowka systemowego.
Co zrobić, gdy system odrzuca poświadczenia logowania?
Zwykle problem leży w uprawnieniach konta. Zwykły użytkownik lokalny nie ma z automatu prawa do logowania przez sieć. Musisz fizycznie podejść do komputera docelowego, wejść w zarządzanie komputerem i dodać wybranego pracownika do grupy „Użytkownicy pulpitu zdalnego”. Bez tego system zawsze zwróci komunikat o braku uprawnień, nawet jeśli wpisujesz w stu procentach poprawne hasło.
(Szczerze nienawidzę tego mechanizmu, bo Windows potrafi po cichu usunąć użytkownika z tej grupy przy większych aktualizacjach systemu, a my potem w dziale IT szukamy przyczyny przez pół dnia).
Czy wystawianie RDP prosto do internetu ma jakikolwiek sens?
To jest bez mała najgorsza opcja z wszystkich. Nigdy, pod żadnym pozorem nie przekierowuj portu 3389 na routerze domowym lub firmowym bezpośrednio na swój serwer. Zrobienie tego przypomina wywieszenie na drzwiach wejściowych kartki z napisem „zapraszam złodziei”. W ubiegłym roku konfigurowałem małą sieć dla biura rachunkowego na warszawskim Targówku. Właściciel upierał się, że chce mieć dostęp z domu bez żadnych dodatkowych haseł i aplikacji. Otworzył port na własną rękę.
Prawie połowa wszystkich ataków typu ransomware na świecie zaczyna się właśnie od brutalnego forsowania (brute-force) otwartych usług RDP. Atakujący używają zautomatyzowanych botów. Te boty bez przerwy skanują całą pulę adresów IPv4 w internecie w poszukiwaniu otwartego portu. Gdy go znajdą, od razu rzucają słownikiem w konta typu ADMINISTRATOR, sprawdzając tysiące kombinacji haseł na sekundę.
Zastosowaliśmy tam w biurze jedyne słuszne podejście ratujące infrastrukturę. Zamknęliśmy ruch z zewnątrz i zestawiliśmy serwer VPN (Virtual Private Network). Teraz właściciel najpierw zestawia szyfrowany tunel do routera firmowego. Dopiero będąc wirtualnie w sieci lokalnej, wywołuje wewnętrzny adres IP serwera przez klienta RDP. To zdejmuje całe ryzyko z barków protokołu Microsoftu.
Jak działa NLA (Network Level Authentication)?
Mechanizm autoryzacji na poziomie sieci weryfikuje poświadczenia, zanim w ogóle zestawi główną sesję graficzną. To tarcza ochronna. We wczesnych wersjach Windowsa, system najpierw ładował cały ekran logowania, przesyłał go do klienta i dopiero wtedy czekał na wpisanie znaków. Zjadało to potężne zasoby procesora na serwerze RDP. Atakujący wysyłali miliony żądań połączenia, zapychając pamięć RAM maszyny aż do jej całkowitego zawieszenia (atak DoS).
NLA odwraca ten proces. Najpierw podajesz login i hasło w małym okienku u siebie na komputerze. Klient szyfruje to i wysyła do serwera. Jeśli dane są błędne, serwer odrzuca pakiet od razu, nie angażując zasobów graficznych. Zawsze miej wymuszone NLA w ustawieniach systemu operacyjnego. Zdejmuje to masę problemów na produkcji.
Czym pulpit zdalny różni się od innych programów na rynku?
Wielu użytkowników myli mechanizmy wbudowane w Windows z komercyjnymi aplikacjami do wsparcia IT. Różnica techniczna jest drastyczna. TeamViewer czy AnyDesk działają na zasadzie przechwytywania zawartości matrycy. Robią setki zrzutów ekranu na sekundę, kompresują to jako wideo i wysyłają przez zewnętrzne serwery pośredniczące. RDP działa natywnie na jądrze systemu Windows, co daje mu potężną przewagę w jakości obrazu i integracji sprzętowej.
| Cecha systemu | Microsoft RDP | Narzędzia typu VNC / AnyDesk |
| Architektura połączenia | Bezpośrednie P2P (w sieci LAN) lub przez własny VPN. | Wymaga serwerów pośredniczących firmy trzeciej do ominięcia NAT. |
| Wydajność pasma | Zjada bardzo mało transferu przy pracy z tekstem. | Wymaga szerokiego pasma do przesyłania skompresowanego wideo. |
| Obsługa wielu monitorów | Znakomita. Można rozciągnąć sesję na 4 monitory o różnych proporcjach. | Uciążliwa, zazwyczaj wymusza przełączanie zakładek między ekranami. |
| Przekierowanie sprzętu | Natywne mapowanie dysków lokalnych, drukarek i kart inteligentnych. | Wymaga instalacji dodatkowych sterowników wirtualnych. |
Korzystamy z RDP do codziennej pracy biurowej i administracji serwerami. Do szybkiej pomocy pracownikowi, który nie potrafi odnaleźć pliku na pulpicie, używamy AnyDesk. RDP ma bowiem jedną specyficzną cechę. Kiedy logujesz się na komputer użytkownika, system wylogowuje go z lokalnej sesji i blokuje mu ekran fizyczny. Nie możecie pracować we dwóch jednocześnie na jednym koncie klienckiego systemu Windows. Serwerowe wersje (Windows Server) pozwalają z kolei na podłączenie setek użytkowników w tym samym czasie (usługi Remote Desktop Services).
Z czym najczęściej są problemy przy połączeniach RDP i jak je obejść?
Zmieniłeś zasady na robocie, uruchomiłeś serwer, przypisałeś uprawnienia, a klient nadal rzuca błędami na czerwono. Znamy to z autopsji. Najczęstszym błędem jest tak zwany błąd CredSSP (Credential Security Support Provider). Wyskakuje nagle i blokuje dostęp do wszystkich maszyn w firmie. Wynika to zazwyczaj z faktu, że twój komputer domowy pobrał najnowszą łatkę bezpieczeństwa od Microsoftu, a serwer docelowy od roku nie widział aktualizacji. Systemy nie potrafią uzgodnić bezpiecznego algorytmu szyfrowania i zrywają negocjacje. Rozwiązaniem nie jest grzebanie w rejestrze klienta, tylko wymuszenie aktualizacji na serwerze.
Kolejna sprawa to czarny ekran po zalogowaniu. Wpisujesz hasło, maszyna mieli dane i rzuca ci na monitor absolutną, czarną pustkę bez paska zadań. Wywołanie menedżera zadań (CTRL+ALT+END w sesji zdalnej) nie przynosi skutku. To zazwyczaj wina sterowników karty graficznej WDDM na komputerze docelowym, które nie potrafią zrzucić bufora ramki do usługi zdalnej. Wchodzimy wtedy do lokalnych zasad grupy (gpedit.msc) i wymuszamy użycie starszego sterownika graficznego XDDM dla połączeń RDP. Naprawia to usterkę od ręki.
Zastanawiacie się zresztą, dlaczego to na produkcji tak wyje na testach po drodze? Sam się nad tym borykałem dzisiaj u siebie we wtorek. Przekierowanie drukarek zjada nerwy najbardziej. Użytkownik drukuje fakturę na pulpicie zdalnym, a papier fizycznie nie wychodzi z urządzenia stojącego obok niego na biurku. Dzieje się tak, ponieważ serwer RDP szuka u siebie dokładnie takiego samego sterownika drukarki, jaki jest zainstalowany na komputerze klienta. Jeśli go nie ma, używa mechanizmu Easy Print, który działa koszmarnie wolno i często ucina marginesy w dokumentach PDF. Zawsze instalujcie dedykowane sterowniki na serwerze terminali.
Jak zmienić domyślny port 3389 na inny?
Wielu administratorów stosuje technikę Security through obscurity (bezpieczeństwo przez zaciemnienie). Zmieniają standardowy port 3389 na jakiś wysoki, losowy numer, na przykład 45912. Robi się to modyfikując jeden klucz w rejestrze systemowym HKEY_LOCAL_MACHINE pod gałęzią Terminal Server. Potem trzeba jeszcze dodać regułę na zaporze Windows dla nowego portu i zrestartować usługę.
Czy to chroni przed hakerami? Absolutnie nie. Zaawansowane boty skanują całe spektrum portów, od zera do 65535, i szybko zidentyfikują, że pod nietypowym numerem odpowiada usługa RDP. Zmniejsza to jedynie szum w logach serwera, odcinając najgłupsze, zautomatyzowane skrypty uderzające tylko w domyślne ustawienia. Wymagaj silnych haseł, blokuj konta po trzech nieudanych próbach logowania i stosuj autoryzację dwuskładnikową (MFA) z wykorzystaniem aplikacji na telefon. To jedyne metody, które faktycznie powstrzymują intruzów.
Odetnij wszystkie wymówki o braku czasu na konfigurację VPN. Zaloguj się w poniedziałek rano do swojego routera, zestaw szyfrowany tunel i zamknij porty. Sprawdź logi zdarzeń w Windowsie, a zobaczysz setki prób logowania z chińskich i rosyjskich adresów IP, o których nawet nie miałeś pojęcia. Popraw to natychmiast, zanim wylądujesz z zaszyfrowanym dyskiem i żądaniem okupu w kryptowalucie.
Często zadawane pytania (FAQ)
-
Co jest potrzebne do działania RDP?
Potrzebujesz komputera z systemem Windows Pro lub Enterprise jako serwera nasłuchującego, dostępu do sieci lokalnej lub VPN, oraz aplikacji klienta (Podłączanie pulpitu zdalnego) na urządzeniu, z którego będziesz się łączyć. -
Czy RDP działa przez Wi-Fi?
Działa na każdym typie połączenia sieciowego. Wi-Fi może jednak wprowadzać opóźnienia i gubić pakiety, co przy protokole TCP wywoła chwilowe zacięcia obrazu na ekranie. Zawsze preferujemy kabel miedziany. -
Czy mogę używać RDP na komputerze Mac lub telefonie z Androidem?
Tak. Microsoft wydał oficjalne aplikacje Remote Desktop dla systemów macOS, iOS oraz Android. Możesz połączyć się z firmowym serwerem prosto z iPada leżąc na kanapie. -
Jak skopiować pliki przez pulpit zdalny?
Przed nawiązaniem połączenia, w opcjach klienta wejdź w zakładkę Zasoby lokalne. Zaznacz tam swoje dyski twarde. Po zalogowaniu do serwera, twoje lokalne dyski pojawią się w Moim Komputerze na maszynie zdalnej. Możesz po prostu przeciągać pliki. -
Dlaczego RDP działa wolno i zacina obraz?
Zwykle wynika to ze słabego łącza internetowego (niski upload po stronie serwera) lub blokowania ruchu UDP przez zaporę sieciową. Wymuszenie protokołu UDP w politykach grupy drastycznie poprawia płynność interfejsu. -
Co to jest RDP Wrapper?
To nieoficjalny, tworzony przez społeczność program, który modyfikuje pliki systemowe Windows Home, odblokowując w nim funkcje serwera RDP. Używanie go łamie warunki licencji Microsoftu i mocno naraża system na luki w zabezpieczeniach.
Bibliografia
1. Microsoft Learn – https://learn.microsoft.com
2. CERT Polska – https://cert.pl
3. NASK – https://www.nask.pl
4. Niebezpiecznik – https://niebezpiecznik.pl
5. Zaufana Trzecia Strona – https://zaufanatrzeciastrona.pl
