Archiwa tagu: Remote Desktop Service

sysadmin – Klient RDM w Windows Mobile i RDS w Windows Server 2008/2012

Microsoft zdecydował się wycofać z Remote Desktop Service (RDS, dawniej Terminal Service) w systemach Windows Server 2008, 2008 R2 i 2012 wsparcie dla Remote Desktop Mobile (RDM) w mobilnych systemach z rodziny Windows Mobile 6.x, Windows Embedded Handheld 6.x oraz Windows CE 5. Powodem, dla którego zdecydowano się na taki krok jest przestarzała wersja protokołu Remote Desktop Protocol (RDP, 5.x i starsze) implementowana w aplikacjach klienckich wspomnianych systemów mobilnych. RDS w systemach Windows Server 2008, 2008 R2 i 2012, przy domyślnych ustawieniach, nie pozwoli na połączenie się z usługą terminali klientom RDM w wersji 5.x i starszym. Istnieje jednak metoda aktywowania serwera licencji pulpitu zdalnego przy pomocy przeglądarki sieci Web, która pozwoli na rozwiązanie tego problemu.
W artykule zakładam, że masz już skonfigurowany serwer terminali wraz z serwerem licencji pulpitu zdalnego oraz dodane i aktywowane (niekoniecznie aktywowane) licencje CAL. Artykuł dotyczy Windows Server 2008 i 2008 R2, jednak wykonując alternatywne operacje w Windows Server 2012 uzyskamy ten sam efekt końcowy.

Jak objawia się problem?

Podczas próby połączenia się aplikacją RDM z urządzenia mobilnego z zainstalowanym systemem Windows Mobile 6.x, Windows Embedded Handheld 6.x bądź Windows CE 5 z RDS wyświetla się komunikat błędu o treści:

Because of a security error, the client could not connect to the remote computer. Verify that you are logged on to the network, and then try connecting again.

RDM01

Jak rozwiązać problem?

Aby takie połączenie było możliwe konieczna jest zmiana pewnych domyślnych ustawień RDS. Po pierwsze: koniecznie należy wyłączyć uwierzytelnianie na poziomie sieci (NLA – Network Level Authentication); po drugie: należy zmienić warstwę zabezpieczeń na negocjację oraz poziom szyfrowania na niski; po trzecie: należy ponownie aktywować RDS; po czwarte: koniecznie należy usunąć domyślnie wygenerowane certyfikaty aby po ponownym uruchomieniu RDS wygenerowały się nowe ze zmniejszonymi zabezpieczeniami; po piąte: ponownie uruchomić RDS.

Konfigurowanie Remote Desktop Service.

Zaczniemy od przekonfigurowania domyślnych ustawień Remote Desktop Service. W tym celu należy wykonać następujące czynności:

  1. Uruchom narzędzie konfiguracja hosta sesji usług pulpitu zdalnego.
    Wybierz: Start > Narzędzia administracyjne > Usługi pulpitu zdalnegoKonfiguracja hosta sesji usług pulpitu zdalnego
    Alternatywnie: WinKey + R > tsconfig.msc > Enter/OK
  2. Na liście połączeń prawym klawiszem kliknij interesujące nas połączenie, np: RDP-Tcp i wybierz właściwości.
  3. Na zakładce ogólne zmień ustawienia:
    Warstwa zabezpieczeń: negocjacja;
    Poziom szyfrowania: niski;
    Odznacz opcję: zezwalaj na połączenie tylko z komputerów, na których Pulpit zdalny jest uruchomiony z uwierzytelnianiem na poziomie sieci.
    RDS01
  4. Potwierdź zmiany przyciskiem OK.

Ponowna aktywacja Remote Desktop License Server.

Kolejnym krokiem jest ponowna aktywacja Remote Desktop License Server przez witrynę sieci Web. W tym celu należy wykonać następujące czynności:

  1. Uruchom narzędzie menedżer licencjonowania usług pulpitu zdalnego.
    Wybierz: Start > Narzędzia administracyjne > Usługi pulpitu zdalnegoMenedżer licencjonowania usług pulpitu zdalnego.
    Alternatywnie: WinKey + R > licmgr.exe > Enter/OK
  2. Na liście serwerów prawym klawiszem kliknij interesujący nas serwer i wybierz właściwości.
  3. Na zakładce metoda połączenia zmień ustawienie:
    Metoda połączenia: przeglądarka sieci Web.
  4. Potwierdź zmiany przyciskiem OK.
  5. Na liście serwerów prawym klawiszem kliknij interesujący nas serwer i wybierz zaawansowane > uaktywnij ponownie serwer.
  6. Postępuj zgodnie z instrukcjami na ekranie aż do ponownego aktywowania serwera licencji.

Generowanie nowych certyfikatów.

Kolejnym krokiem, który należy wykonać jest usunięcie starych certyfikatów z domyślnymi ustawieniami zabezpieczeń aby po ponownym uruchomieniu RDS zostały wygenerowane nowe, z niższymi ustawieniami zabezpieczeń. W tym celu należy wykonać następujące czynności:

  1. Uruchom edytor rejestru:
    Wybierz: Start > Uruchom > regedit > Enter/OK
    Alternatywnie: WinKey + R > regedit > Enter/OK
  2. Wyszukaj następującą gałąź rejestru:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM
  3. W wyszukanej gałęzi rejestru usuń następujące klucze rejestru:
    Certificate
    X509 Certificate
    X509 Certificate ID
    X509 Certificate2
  4. Ponownie uruchom RDS.

Podsumowanie.

Po ponownym uruchomieniu RDS, zostaną wygenerowane certyfikaty ze zmniejszonymi zabezpieczeniami, dzięki czemu możliwe będzie połączenie się przy pomocy RDM w systemach mobilnych Windows Mobile 6.x, Windows Embedded Handheld 6.x bądź Windows CE 5. Domyślnie certyfikaty generowane są przy użyciu algorytmu SHA256 z szyfrowaniem RSA a klucz publiczny ma długość 4096 bitów. Po wprowadzeniu ustawień zgodnie z tym artykułem, certyfikaty generowane są przy użyciu algorytmu SHA1 z RSA a klucz ma długość 2048 bitów. Ponadto przy ustawieniu niskiego poziomu szyfrowania, dane od klienta do serwera przesyłane są przy użyciu 56-bitowego szyfrowania ale dane od serwera do klienta nie są szyfrowane! Trzeba zwrócić uwagę, że zmniejszenie poziomu szyfrowania RDS naraża serwer na ryzyko udanego ataku ze strony hakerów i pod żadnym względem nie powinieneś wystawiać taki serwer na widok publiczny. Celem częściowego zmniejszenia ryzyka, po wygenerowaniu nowych certyfikatów ze zmniejszonymi zabezpieczeniami, można zmienić ustawienia poziomu szyfrowania RDS na zgodny z klientem. Nie wpłynie to na pracę RDM ale spowoduje, że komunikacja klient/serwer będzie szyfrowane przy pomocy maksymalnej sile klucza obsługiwanej przez klienta.