Zabezpieczenia usług pulpitu zdalnego w systemie Windows Server 2008 R2

Usługi pulpitu zdalnego (RDS) w systemie Windows Server 2008 R2 to nie tylko rebranding poprzednika - usług terminalowych. Nowe funkcje, z których niektóre pojawiły się w systemie Windows Server 2008, takie jak RemoteApp, RD Gateway i RD Virtualization Host, ułatwiają i ułatwiają wdrożenie i działanie zarówno indywidualnych aplikacji użytkownika, jak i całych komputerów stacjonarnych w rozwiązaniach RDS i VDI, a także funkcjonalność a wygoda nie jest gorsza niż w rozwiązaniach Citrix lub kompleksach innych dostawców.

Co z bezpieczeństwem usług pulpitu zdalnego? Microsoft znacząco zaktualizował i poprawił bezpieczeństwo tej usługi. W tym artykule porozmawiamy o mechanizmach bezpieczeństwa RDS, zabezpieczaniu usług terminalowych za pomocą zasad grupy oraz o praktycznych aspektach zabezpieczania rozwiązań RDS.

Co nowego w R2

Jeśli musiałeś pracować z wersjami usług terminalowych w systemie Windows Server 2003 i Windows Server 2008, prawdopodobnie pamiętasz, że w systemie Windows 2008 pojawiło się wiele nowych funkcji, takich jak TS Web Access (połączenie przez przeglądarkę), TS Gateway (dostęp do terminala usługi przez Internet), RemoteApp (publikowanie poszczególnych aplikacji przez RDP) i Broker sesji (zapewniający równoważenie obciążenia).

Windows Server 2008 R2 wprowadził następujące funkcje:

  • Wirtualizacja pulpitu zdalnego dla rozwiązań VDI
  • Dostawca RDS dla PowerShell (teraz administrator może kontrolować konfigurację i zarządzanie RDS z poziomu wiersza poleceń lub za pomocą skryptów)
  • Wirtualizacja IP pulpitu zdalnego, która umożliwia przypisywanie adresów IP do połączeń na podstawie ustawień sesji lub aplikacji
  • Nowa wersja klienta RDP i połączenia pulpitu zdalnego (RDC) - v. 7.0
  • Zarządzanie zasobami procesora w celu dynamicznego przydzielania zasobów procesora na podstawie liczby aktywnych sesji
  • Zgodność z Instalatorem Windows, umożliwiająca instalowanie programów z możliwością dostosowania ustawień aplikacji po stronie użytkownika.
  • Obsługa po stronie klienta do 16 monitorów.

Ponadto ulepszono funkcje pracy z wideo i dźwiękiem oraz pełną obsługę technologii Windows Aero (należy pamiętać, że Aero nie jest obsługiwane w trybie wielu monitorów).

Oczywiście kwestie bezpieczeństwa RDS zależą od konkretnego rozwiązania. Na przykład, jeśli opublikujesz pulpit dla użytkowników łączących się przez Internet lub za pomocą przeglądarki, problem bezpieczeństwa jest znacznie poważniejszy niż w przypadku standardowego rozwiązania, gdy klienci łączą się za pomocą klienta RDC za pośrednictwem sieci LAN.

Uwierzytelnianie na poziomie sieci

Aby zapewnić większe bezpieczeństwo wszystkich połączeń, musisz użyć mechanizmu uwierzytelniania na poziomie sieci (NLA). NLA wymaga, aby użytkownik zalogował się na serwerze RD Session Host przed utworzeniem sesji. Ten mechanizm pozwala chronić serwer przed przetwarzaniem niepotrzebnych sesji, które mogą być generowane przez cyberprzestępców lub programy botów. Aby korzystać z NLA, system operacyjny klienta musi obsługiwać protokół Credential Security Support Provider (CredSSP), co oznacza Windows XP SP3 (jak włączyć NLA w Windows XP SP3) i nowszy, a także klienta RDP 6.0 lub nowszego.

Możesz skonfigurować NLA na serwerze sesji usług pulpitu zdalnego, otwierając Narzędzia administracyjne -> Usługi pulpitu zdalnego -> Konsolę konfiguracji hosta sesji pulpitu.

  1. Kliknij połączenie prawym przyciskiem myszy
  2. Wybierz Właściwości
  3. Przejdź do zakładki Ogólne
  4. Zaznacz opcję „Zezwalaj na połączenia tylko z komputerów z uruchomionym Pulpitem zdalnym z uwierzytelnianiem na poziomie sieci”
  5. Kliknij OK.

Transport Layer Security (TLS)

W sesji RDS można użyć jednego z trzech mechanizmów bezpieczeństwa w celu ochrony połączenia między klientami a serwerem hosta sesji RDS:

  • Warstwa bezpieczeństwa RDP - wykorzystuje wbudowane szyfrowanie RDP, jest mniej bezpieczny.
  • Negocjuj - Szyfrowanie TLS 1.0 (SSL) zostanie zastosowane, jeśli klient go obsługuje, jeśli klient go nie obsługuje, zostanie użyty zwykły poziom bezpieczeństwa RDP.
  • SSL - Szyfrowanie TLS 1. będzie używane do uwierzytelniania serwera i szyfrowania przesyłanych danych między klientem a serwerem. To najbezpieczniejszy tryb..

Aby zapewnić wysoki poziom bezpieczeństwa, wymagane jest szyfrowanie SSL / TLS. Do tych celów musisz mieć certyfikat cyfrowy, może być samopodpisany lub wydany przez urząd certyfikacji CA (co jest preferowane).

Oprócz poziomu bezpieczeństwa możesz wybrać poziom szyfrowania połączenia. Dostępne są następujące typy szyfrowania:

  • Niski - Stosowane jest 56-bitowe szyfrowanie danych wysyłanych od klienta do serwera. Dane przesyłane z serwera do klienta nie są szyfrowane.
  • Kompatybilny z klientem - Ten typ szyfrowania jest używany domyślnie. W takim przypadku cały ruch między klientem a serwerem jest szyfrowany przy użyciu maksymalnej długości klucza obsługiwanej przez klienta.
  • Wysoki - wszystkie dane przesyłane między klientem a serwerem w obu kierunkach są szyfrowane 128-bitowym kluczem
  • Zgodny z FIPS - wszystkie dane przesyłane między klientem a serwerem w obu kierunkach są szyfrowane przy użyciu FIPS 140-1.

Warto zauważyć, że jeśli stosowane są poziomy szyfrowania High lub Comppsant, wówczas wszyscy klienci, którzy nie obsługują tego rodzaju szyfrowania, nie będą mogli połączyć się z serwerem.

Możesz skonfigurować typ uwierzytelnienia serwera i poziom szyfrowania w następujący sposób:

  1. Na serwerze hosta sesji usług pulpitu zdalnego otwórz okno konfiguracji hosta sesji usług pulpitu zdalnego i przejdź do okna właściwości.
  2. Na karcie Ogólne w menu rozwijanych wybierz wymagany poziom bezpieczeństwa i typ szyfrowania.
  3. Kliknij OK.

Zasady grupy

Istnieje wiele opcji zasad grupy do konfigurowania ustawień RDS w systemie Windows Server 2008 R2. Wszystkie znajdują się w sekcji Konfiguracja komputera \ Zasady \ Szablony administracyjne \ Składniki systemu Windows \ Usługi pulpitu zdalnego (zrzut ekranu konsoli zarządzania zasadami grupy jest pokazany na zdjęciu).

Jak widać, istnieją zasady zarządzania licencjami, zasady konfiguracji dla klienta RDC i sam serwer RD Session Host. Zasady bezpieczeństwa hosta sesji usług pulpitu zdalnego obejmują:

  • Ustaw poziom szyfrowania połączenia klienta: Ta zasada służy do kontrolowania poziomu szyfrowania. Po aktywacji wszystkie połączenia powinny używać określonego poziomu szyfrowania (domyślnie jest to Wysoki).
  • ZawszeMonitujdlaHasłonaPołączenie: Ta zasada jest używana, jeśli zawsze trzeba pytać o hasło użytkownika podczas łączenia się z sesją RD, nawet jeśli hasło zostało wprowadzone w kliencie RDC. Domyślnie użytkownicy mogą automatycznie logować się do sesji, jeśli określą hasło w kliencie RDC.
  • WymagajBezpiecznieRpcKomunikacja: - gdy zasada jest włączona, dozwolone są tylko uwierzytelnione i zaszyfrowane żądania od klientów.
  • WymagajUżyjzSpecyficzneBezpieczeństwoWarstwadlaZdalne (Rdp) Połączenia: gdy zasada jest włączona, wszystkie połączenia między klientem a serwerem terminali muszą korzystać z poziomu zabezpieczeń określonego w tym miejscu (RDP, Negotiate lub SSL / TLS)
  • ZróbNiePozwólLokalnyAdministratorzydoDostosujUprawnienia: zasada uniemożliwia administratorom konfigurowanie ustawień zabezpieczeń RD Session Host.
  • Wymagaj uwierzytelnienia użytkownika dla połączeń zdalnych przy użyciu uwierzytelniania na poziomie sieci: Zasady obejmują wymóg NLA dla wszystkich połączeń z serwerem terminali (klienci bez obsługi NLA nie mogą się połączyć).

Ustawienia klienta RDC znajdują się w podsekcji Zdalne Pulpit Połączenie Klient:

  • Zróbniepozwolićhasładobyćzapisane: zasada zabrania zapisywania haseł w kliencie RDC, opcja „Zapisz hasło” staje się niedostępna, wszystkie wcześniej zapisane hasła zostaną usunięte.
  • OkreślSHA1 odciski palcówzcertyfikatyreprezentującyzaufany.rdpwydawcy: ta zasada umożliwia utworzenie listy odcisków palców certyfikatów SHA1, a jeśli certyfikat pasuje do odcisku palca na tej liście, uznaje się go za zaufany.
  • Monitujdlapoświadczenianaklientkomputer: Reguła aktywuje żądanie poświadczeń użytkownika na komputerze klienckim, a nie na serwerze sesji usług pulpitu zdalnego.

Dostęp RD Web

Użytkownicy komputerów, na których klient RDC nie jest zainstalowany, mogą uzyskiwać dostęp do opublikowanych aplikacji za pomocą przeglądarki internetowej. Aby to zrobić, użytkownik musi otworzyć w przeglądarce adres URL, na którym publikowane są zasoby RDS. RD Web Access Server to osobna rola RD Server, zwykle zlokalizowana na dedykowanym serwerze.

Interfejs internetowy serwera RD Web Access jest oparty na protokole SSL, a użytkownicy mogą się logować przy użyciu swoich poświadczeń. Uwierzytelnieni użytkownicy widzą tylko listę opublikowanych programów (RemoteApp), do których mają dostęp..

Serwer Web Access używa do szyfrowania certyfikatu X.509. Domyślnie używany jest certyfikat z podpisem własnym..