Przejdź do treści
Cyberbezpieczeństwo

Jak bezpiecznie korzystać z RDP w firmie: 12 zabezpieczeń pulpitu zdalnego

Jak zabezpieczyć protokół RDP w organizacji: brak portu 3389 w internecie, VPN lub RD Gateway z MFA, NLA, GPO, blokada kont, Remote Credential Guard i monitoring.

CZCzarek ZawolskiAktualizacja: 8 min czytania
Administrator łączący się przez pulpit zdalny z serwerem Windows w firmowej sieci

W skrócie

  • Nigdy nie wystawiaj portu 3389 bezpośrednio do internetu — zmiana numeru portu nie jest zabezpieczeniem.
  • Dostęp z zewnątrz tylko przez VPN z MFA lub Remote Desktop Gateway z MFA; wewnątrz sieci ogranicz źródłowe adresy IP w zaporze.
  • Wymuś NLA i warstwę TLS przez GPO, włącz blokadę konta po nieudanych logowaniach i ogranicz, kto w ogóle może logować się przez RDP.
  • Administratorzy powinni łączyć się z Remote Credential Guard (mstsc /remoteGuard), żeby nie zostawiać poświadczeń na serwerze.
  • Monitoruj zdarzenia 4624 (typ logowania 10) i 4625 oraz logi TerminalServices — seria nieudanych logowań to sygnał ataku.
Spis treści

Aby bezpiecznie korzystać z RDP w organizacji, przede wszystkim nie wystawiaj pulpitu zdalnego bezpośrednio do internetu: dostęp z zewnątrz powinien odbywać się przez VPN lub Remote Desktop Gateway z uwierzytelnianiem wieloskładnikowym. Do tego dochodzą wymuszone NLA, ograniczenie użytkowników i adresów IP, blokada kont po nieudanych logowaniach, aktualizacje oraz monitorowanie dzienników.

RDP (Remote Desktop Protocol) jest wbudowany w Windows i wygodny, dlatego jest wszędzie — a przez to od lat należy do najczęściej wykorzystywanych dróg wejścia do firmowych sieci, także przy atakach ransomware. Poniżej znajdziesz 12 konkretnych zabezpieczeń z ustawieniami GPO i poleceniami PowerShell.

Dlaczego RDP jest częstym celem ataków

Usługa pulpitu zdalnego domyślnie nasłuchuje na porcie TCP i UDP 3389. Atakujący skanują cały internet w poszukiwaniu otwartych usług RDP, a potem:

  • zgadują hasła — metodą brute force lub password spraying, czyli próbując kilku popularnych haseł na wielu kontach,
  • używają wykradzionych poświadczeń — kupionych na forach lub zebranych przez malware typu infostealer,
  • wykorzystują luki — przykładem jest BlueKeep (CVE-2019-0708), krytyczna podatność w starszych wersjach Windows pozwalająca na zdalne wykonanie kodu bez logowania.

Wewnątrz sieci RDP służy z kolei do ruchu bocznego: po przejęciu jednej stacji atakujący łączy się z kolejnymi serwerami, korzystając z poświadczeń administratorów pozostawionych w pamięci.

Bezpieczne korzystanie z RDP w organizacji

1. Nie wystawiaj RDP do internetu

To najważniejsza zasada. Sprawdź, czy na routerze lub firewallu nie ma przekierowania portu 3389 (lub innego portu na usługę RDP) na serwer czy komputer w sieci. Zmiana portu na np. 33890 nie jest zabezpieczeniem — skanery rozpoznają protokół na dowolnym porcie.

Bezpieczne sposoby dostępu z zewnątrz:

RozwiązanieJak działaUwagi
VPN z MFAużytkownik łączy się najpierw z siecią firmową, potem z RDP po adresie wewnętrznymużywaj nowoczesnych protokołów (IKEv2, WireGuard, SSL VPN); nie PPTP
Remote Desktop GatewayRDP opakowany w HTTPS (port 443), z kontrolą, kto i do których maszyn może się łączyćMFA przez rozszerzenie NPS dla Microsoft Entra MFA lub rozwiązania firm trzecich
Dostęp typu zero trust / brokery w chmurzedostęp przez pośrednika z weryfikacją tożsamości i stanu urządzenianp. Azure Bastion dla maszyn w Azure, Azure Virtual Desktop

Przy wyborze rozwiązania VPN dla pracowników zdalnych pomocne będzie porównanie protokołów VPN — WireGuard, OpenVPN i IKEv2 różnią się szybkością, zgodnością z urządzeniami i łatwością konfiguracji.

2. Wymuś NLA (uwierzytelnianie na poziomie sieci)

Network Level Authentication wymaga uwierzytelnienia użytkownika, zanim serwer utworzy pełną sesję i wyświetli ekran logowania. Zmniejsza to obciążenie serwera przy atakach i ogranicza ekspozycję na część podatności przed uwierzytelnieniem.

W GPO: Konfiguracja komputera → Szablony administracyjne → Składniki systemu Windows → Usługi pulpitu zdalnego → Host sesji pulpitu zdalnego → Zabezpieczenia → włącz zasadę wymagającą uwierzytelniania użytkownika przy użyciu uwierzytelniania na poziomie sieci (ang. Require user authentication for remote connections by using Network Level Authentication).

W tym samym miejscu ustaw warstwę zabezpieczeń na SSL (TLS) oraz poziom szyfrowania na Wysoki.

3. Używaj certyfikatu z firmowego CA

Domyślnie RDP używa certyfikatu z podpisem własnym, więc użytkownicy przyzwyczajają się do klikania ostrzeżenia o certyfikacie — a to ułatwia ataki typu man-in-the-middle. W domenie wdroż certyfikaty z wewnętrznego urzędu certyfikacji (szablon dla uwierzytelniania pulpitu zdalnego) i naucz zespół, że ostrzeżenie oznacza problem do zgłoszenia, nie do kliknięcia.

4. Ogranicz, kto może logować się przez RDP

  • Domyślnie na serwerze przez RDP mogą logować się członkowie grupy Administratorzy i Użytkownicy pulpitu zdalnego. Dodawaj do tej drugiej grupy tylko konkretne grupy domenowe, nie „Użytkowników domeny”.
  • W GPO (Ustawienia zabezpieczeń → Zasady lokalne → Przypisywanie praw użytkownika) skonfiguruj prawa „Zezwalaj na logowanie za pomocą usług pulpitu zdalnego” i „Odmowa logowania za pomocą usług pulpitu zdalnego”.
  • Zablokuj logowanie kont o najwyższych uprawnieniach (np. Administratorzy domeny) na zwykłe stacje robocze i serwery niższego poziomu. To podstawa modelu warstwowego administracji opisanego w tekście o PAM.

5. Ogranicz źródłowe adresy IP w zaporze Windows

Nawet wewnątrz sieci RDP do serwerów powinien być dostępny tylko z wydzielonych stacji administracyjnych lub podsieci VPN. Regułę zapory zmienisz w PowerShellu niezależnie od języka systemu (grupa reguł „Pulpit zdalny”):

Get-NetFirewallRule -Group "@FirewallAPI.dll,-28752" |
  Set-NetFirewallRule -RemoteAddress 10.10.50.0/24, 10.10.60.15

Na stacjach roboczych, z którymi nikt nie łączy się zdalnie, wyłącz RDP całkowicie:

Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server" -Name fDenyTSConnections -Value 1
Disable-NetFirewallRule -Group "@FirewallAPI.dll,-28752"

6. Włącz blokadę kont i silne uwierzytelnianie

  • Ustaw zasady blokady konta (Zasady konta → Zasady blokady konta), np. blokada po 10 nieudanych próbach na 10–15 minut. Nowe instalacje Windows 11 od wersji 22H2 mają taką domyślną zasadę dla kont lokalnych; w domenie ustaw ją w GPO lub w szczegółowych zasadach haseł.
  • Wymagaj długich haseł zamiast wymuszania częstych zmian — jak budować takie hasła, opisuje poradnik jak stworzyć i zapamiętać bezpieczne hasło.
  • Dla dostępu z zewnątrz i kont uprzywilejowanych wymagaj MFA (na VPN lub RD Gateway).
  • Zarządzaj hasłami lokalnych administratorów przez Windows LAPS, żeby każdy komputer miał inne hasło.

7. Chroń poświadczenia administratorów: Remote Credential Guard

Przy zwykłym połączeniu RDP poświadczenia trafiają na zdalny serwer. Jeśli ten jest przejęty, atakujący może je wyciągnąć z pamięci. Dwa tryby temu zapobiegają:

mstsc /remoteGuard /v:serwer01.firma.local
mstsc /restrictedAdmin /v:serwer01.firma.local
  • Remote Credential Guard przekierowuje żądania Kerberos z powrotem do komputera, z którego się łączysz. Hasło nie opuszcza Twojej stacji, a w sesji nadal masz dostęp do zasobów sieciowych. Wymaga Kerberosa (połączenie po nazwie, nie po adresie IP) i obsługi po obu stronach.
  • Restricted Admin loguje Cię bez przekazywania poświadczeń, ale sesja działa na koncie komputera docelowego i nie ma dostępu do zasobów sieciowych jako Ty. Ten tryb ułatwia ataki pass-the-hash na RDP, więc stosuj go świadomie.

Tryb możesz wymusić w GPO po stronie klienta: Składniki systemu → Delegowanie poświadczeń → zasada ograniczająca delegowanie poświadczeń do serwerów zdalnych.

8. Aktualizuj systemy i wycofaj stare wersje Windows

Krytyczne luki w usłudze pulpitu zdalnego (BlueKeep, a także późniejsze podatności łatane w comiesięcznych aktualizacjach) są wykorzystywane szybko po publikacji. Serwery z RDP instaluj w pierwszej kolejności. Systemy bez wsparcia — w tym Windows 10 bez ESU od października 2025 r. i Windows Server 2012/2012 R2 — nie powinny być dostępne przez RDP z szerszej sieci.

9. Ogranicz przekierowania urządzeń i ustaw limity sesji

Na serwerach z wrażliwymi danymi wyłącz w GPO (Host sesji pulpitu zdalnego → Przekierowanie urządzeń i zasobów) przekierowanie dysków, schowka i drukarek, jeśli nie są potrzebne. Utrudnia to wynoszenie danych i przenoszenie narzędzi atakującego.

W sekcji Limity czasu sesji ustaw rozłączanie bezczynnych sesji (np. po 15–30 minutach) i wylogowanie rozłączonych sesji po kilku godzinach. Porzucone, zalogowane sesje administratorów to łatwy cel.

10. Monitoruj logowania RDP

Najważniejsze zdarzenia:

DziennikIDZnaczenie
Zabezpieczenia4624 (typ logowania 10)udane logowanie przez RDP
Zabezpieczenia4625nieudane logowanie — seria to sygnał ataku
Zabezpieczenia4778 / 4779ponowne połączenie / rozłączenie sesji
TerminalServices-RemoteConnectionManager/Operational1149udane uwierzytelnienie sieciowe połączenia RDP (z adresem źródłowym)
TerminalServices-LocalSessionManager/Operational21, 24, 25logowanie, rozłączenie i ponowne połączenie sesji

Szybki podgląd ostatnich nieudanych logowań:

Get-WinEvent -FilterHashtable @{ LogName = 'Security'; Id = 4625 } -MaxEvents 50 |
  Select-Object TimeCreated, @{ n = 'Konto'; e = { $_.Properties[5].Value } }, @{ n = 'IP'; e = { $_.Properties[19].Value } }

W większej organizacji przesyłaj te zdarzenia do SIEM i ustaw alerty: logowanie RDP spoza stacji administracyjnych, logowanie w nietypowych godzinach, logowanie jednego konta na wiele serwerów w krótkim czasie. Na samych hostach takie zachowania wychwyci też EDR.

11. Wdróż ustawienia centralnie przez GPO

Konfiguracja ręczna na każdym serwerze szybko się rozjeżdża. Zbierz ustawienia z punktów 2–9 w jednym obiekcie zasad grupy podpiętym do jednostek organizacyjnych z serwerami i stacjami. Inne ustawienia, które warto dodać przy okazji, znajdziesz w zestawieniu 20 obiektów GPO dla bezpieczeństwa.

12. Regularnie sprawdzaj ekspozycję

Raz na jakiś czas przeskanuj własne publiczne adresy IP z zewnątrz (lub zleć test bezpieczeństwa) i sprawdź, czy nie pojawił się otwarty RDP — często po „tymczasowym” przekierowaniu portu dla dostawcy lub pracownika zdalnego. Przejrzyj też członków grup z prawem logowania przez RDP i usuń konta, które już go nie potrzebują.

Uwaga: Jeśli w logach widzisz udane logowanie RDP z nieznanego adresu lub na konto, które nie powinno się logować zdalnie, traktuj to jako incydent: odłącz maszynę od sieci, zresetuj hasła użytych kont (także administratorów, którzy logowali się na ten serwer) i sprawdź, czy atakujący nie utworzył nowych kont lub zaplanowanych zadań.

Lista kontrolna bezpiecznego RDP

  • Port RDP niedostępny bezpośrednio z internetu.
  • Dostęp zdalny przez VPN lub RD Gateway z MFA.
  • NLA i warstwa TLS wymuszone w GPO.
  • Prawo logowania przez RDP tylko dla wybranych grup.
  • Zapora ogranicza źródłowe adresy IP; RDP wyłączony tam, gdzie zbędny.
  • Blokada kont, silne hasła, Windows LAPS.
  • Remote Credential Guard dla administratorów.
  • Aktualne systemy, brak niewspieranych wersji Windows z otwartym RDP.
  • Limity sesji i ograniczone przekierowania urządzeń.
  • Monitorowanie zdarzeń 4624/4625 i alerty w SIEM.

Najczęściej zadawane pytania

Czy RDP jest bezpieczny?

Sam protokół szyfruje połączenie i przy aktualnym systemie, NLA, silnym uwierzytelnianiu i dostępie tylko przez VPN lub RD Gateway jest bezpieczny. Problemem jest RDP wystawiony wprost do internetu ze słabymi hasłami — to jedna z najczęstszych dróg wejścia ransomware.

Czy zmiana portu RDP z 3389 na inny zwiększa bezpieczeństwo?

Tylko nieznacznie zmniejsza liczbę automatycznych prób w logach. Skanery internetu znajdują usługę RDP na dowolnym porcie, więc zmiana portu nie zastępuje VPN, MFA ani ograniczenia adresów IP.

Jak włączyć MFA dla pulpitu zdalnego?

Najczęściej przez Remote Desktop Gateway z rozszerzeniem NPS dla Microsoft Entra MFA, przez VPN wymagający MFA albo przez rozwiązania firm trzecich instalujące dodatkowy składnik logowania na serwerach. Sam klient mstsc nie ma wbudowanego MFA dla kont lokalnych.

Czym różni się Restricted Admin od Remote Credential Guard?

Oba tryby nie wysyłają hasła na zdalny serwer. Restricted Admin loguje się na serwerze jako administrator bez przekazywania poświadczeń, ale sesja nie ma dostępu do zasobów sieciowych i ułatwia ataki pass-the-hash. Remote Credential Guard przekierowuje żądania Kerberos do komputera klienta, więc zwykle jest lepszym wyborem.

Jakie zdarzenia w dzienniku pokazują logowania RDP?

W dzienniku Zabezpieczenia: 4624 z typem logowania 10 (udane logowanie zdalne), 4625 (nieudane), 4778 i 4779 (ponowne połączenie i rozłączenie sesji). Dodatkowo dziennik TerminalServices-LocalSessionManager/Operational (zdarzenia 21, 24, 25) i RemoteConnectionManager (1149).

CZ

Autor

Czarek Zawolski

Założyciel i redaktor XAD.pl. Pisze o sieciach, bezpieczeństwie IT, administracji systemami Windows i Linux oraz o sprzęcie, który sprawia ludziom problemy na co dzień.