Skonfiguruj zaufane certyfikaty SSL / TLS, aby chronić połączenia RDP

W tym artykule pokażemy, jak używać zaufanych certyfikatów SSL / TLS do ochrony połączeń RDP z komputerami i serwerami Windows w domenie Active Directory. Będziemy używać tych certyfikatów zamiast samopodpisanych certyfikatów RDP (użytkownicy otrzymają ostrzeżenie, że uwierzytelnienie nie jest możliwe podczas łączenia się z hostem RDP z takim certyfikatem). W tym przykładzie skonfigurujemy specjalny szablon do wystawiania certyfikatów RDP w urzędzie certyfikacji i skonfigurujemy zasady grupy, aby automatycznie wystawiać i wiązać certyfikat SSL / TLS z usługami pulpitu zdalnego.

Treść

  • Ostrzeżenie o certyfikacie RDP z podpisem własnym
  • Utwórz szablon certyfikatu RDP w urzędzie certyfikacji (CA)
  • Skonfiguruj zasady grupy, aby wystawiać certyfikaty RDP
  • Podpisujemy plik RDP i dodajemy odcisk palca zaufanego certyfikatu RDP

Ostrzeżenie o certyfikacie RDP z podpisem własnym

Domyślnie system Windows generuje sesję z podpisem własnym w celu ochrony sesji RDP.

certyfikat W rezultacie przy pierwszym połączeniu z serwerem RDP / RDS za pośrednictwem klienta mstsc.exe pojawia się ostrzeżenie dla użytkownika:

Komputer zdalny nie mógł zostać uwierzytelniony z powodu problemów z certyfikatem bezpieczeństwa. Błąd certyfikatu: certyfikat wystawiony przez niezaufany urząd certyfikacji.

Aby kontynuować ustanawianie połączenia RDP, użytkownik musi kliknąć Tak. Aby zapobiec pojawianiu się ostrzeżenia RDP za każdym razem, możesz włączyć opcję „Nie pytaj mnie ponownie o połączenia z tym komputerem”.

W takim przypadku odcisk palca certyfikatu RDP jest zapisywany na kliencie w parametrze CertHash w gałęzi rejestru z historią połączeń RDP (HKEY_CURRENT_USER \ Software \ Microsoft \ Terminal Server Client \ Servers \). Jeśli ukryłeś powiadomienie o niemożności zweryfikowania autentyczności serwera RDP w celu zresetowania ustawień, usuń klucz z odciskiem palca certyfikatu z rejestru.

Chociaż do połączenia używany jest certyfikat z podpisem własnym, połączenie RDP jest bezpieczne, a ruch jest szyfrowany..

Utwórz szablon certyfikatu RDP w urzędzie certyfikacji (CA)

Spróbujmy użyć zaufanego certyfikatu SSL / TLS wydanego przez korporacyjny urząd certyfikacji do ochrony połączeń RDP. Za pomocą tego certyfikatu użytkownik może uwierzytelnić serwer RDP podczas łączenia. Załóżmy, że masz już urząd certyfikacji Microsoft w swojej domenie, w którym to przypadku możesz skonfigurować automatyczne wystawianie i podłączanie certyfikatów do wszystkich komputerów i serwerów z systemem Windows w domenie.

N w urzędzie certyfikacji musisz utworzyć nowy typ szablonu certyfikatu dla serwerów RDP / RDS.

  1. Uruchom konsolę Urząd certyfikacji i przejdź do sekcji Szablony certyfikatów;
  2. Utwórz kopię szablonu certyfikatu komputera (Szablony certyfikatów -> Zarządzaj -> Komputer -> Duplikuj);
  3. Tab Ogólne podaj nazwę nowego szablonu certyfikatu - RDPTemplate. Upewnij się, że wartość pola Nazwa szablonu całkowicie pokrywa się z Nazwa wyświetlana szablonu;
  4. Tab Kompatybilność Określ minimalną wersję klientów w swojej domenie (na przykład Windows Server 2008 R2 dla CA i Windows 7 dla klientów). Dlatego zastosowane zostaną bardziej niezawodne algorytmy szyfrowania;
  5. Teraz zakładka Rozszerzenia w polityce aplikacji (polityce aplikacji) musisz ograniczyć zakres użycia takiego certyfikatu tylko dla Uwierzytelnianie pulpitu zdalnego (podaj następujący identyfikator obiektu - 1.3.6.1.4.1.311.54.1.2) Kliknij Dodaj -> Nowy, utwórz nową politykę i wybierz ją;
  6. W ustawieniach szablonu certyfikatu (rozszerzenie zasad aplikacji) usuń wszystkie zasady oprócz Uwierzytelnianie pulpitu zdalnego;
  7. Aby użyć tego szablonu certyfikatu RDP na kontrolerach domeny, otwórz kartę Bezpieczeństwo, dodaj grupę Kontrolery domen i włącz opcję Zarejestruj się i Automatyczna rejestracja;
  8. Zapisz szablon certyfikatu;
  9. Teraz w przystawce Urząd certyfikacji kliknij folder Szablony certyfikatów, wybierz Nowy -> Szablon certyfikatu do wystawienia -> wybierz utworzony szablon RDPTemplate.

Skonfiguruj zasady grupy, aby wystawiać certyfikaty RDP

Teraz musisz skonfigurować zasadę domeny, która automatycznie przypisze certyfikat RDP komputerom / serwerom zgodnie ze skonfigurowanym szablonem.

Zakłada się, że wszystkie komputery w domenie ufają korporacyjnemu urzędowi certyfikacji, tj. Dodano główny certyfikat GPO do zaufanych głównych urzędów certyfikacji.
  1. Otwórz konsolę zarządzania zasadami grupy domen gpmc.msc, utwórz nowy obiekt GPO i przypisz go do jednostki organizacyjnej z serwerami RDP / RDS lub komputerami, dla których musisz automatycznie wystawiać certyfikaty TLS w celu ochrony połączeń RDP;
  2. Przejdź do obiektu zasad grupy: Konfiguracja komputera -> Zasady -> Szablony administracyjne -> Składniki systemu Windows -> Usługi pulpitu zdalnego -> Host sesji usług pulpitu zdalnego -> Bezpieczeństwo. Włącz zasady Szablon certyfikatu uwierzytelnienia serwera. Podaj nazwę szablonu CA utworzonego wcześniej (RDPTemplate);
  3. Następnie w tej samej sekcji obiektu zasad grupy włącz zasadę Wymagaj użycia określonej warstwy zabezpieczeń dla połączeń zdalnych (RDP) i ustaw na SSL
  4. Aby automatycznie odnowić certyfikat RDP, przejdź do sekcji GPO Konfiguracja komputera -> Ustawienia systemu Windows -> Ustawienia zabezpieczeń -> Zasady kluczy publicznych i włącz zasady Klient usług certyfikatów - właściwości automatycznej rejestracji. Wybierz opcje „Odnów wygasłe certyfikaty, zaktualizuj certyfikaty oczekujące i usuń unieważnione certyfikaty” i „Aktualizuj certyfikaty korzystające z szablonów certyfikatów”;
  5. Jeśli chcesz, aby klienci zawsze weryfikowali certyfikat RDP serwera, musisz skonfigurować zasady Skonfiguruj uwierzytelnianie dla klienta = Ostrzeż mnie, jeśli uwierzytelnienie nie powiedzie się (sekcja Konfiguracja komputera GPO -> Zasady -> Szablony administracyjne -> Składniki systemu Windows -> Ustawienia pulpitu zdalnego -> Klient połączenia pulpitu zdalnego);
  6. W razie potrzeby można otworzyć przychodzący port RDP TCP / UDP 3389 za pomocą zasad zapory;
  7. Pozostaje zaktualizować zasady na kliencie, uruchomić konsolę certyfikatów komputera (Certlm.msc) i sprawdzić, czy certyfikat uwierzytelniania pulpitu zdalnego wydany przez urząd certyfikacji znajduje się w sekcji Osobiste -> Certyfikaty. Jeśli zasady nie zostały zastosowane, użyj narzędzia gpresult i tego artykułu, aby zdiagnozować obiekt zasad grupy.

Aby zastosować nowy certyfikat RDP, uruchom ponownie Usługi pulpitu zdalnego:

Uzyskaj-Service TermService -ComputerName msk-dc01 | Restart-Service -force -verbose

Teraz, gdy RDP jest podłączony do serwera, certyfikat zaufania certyfikat przestanie się pojawiać (aby pojawił się wniosek o zaufanie do certyfikatu, połącz się z serwerem za pomocą adresu IP zamiast nazwy FQDN nazwy serwera, dla którego certyfikat został wydany). Kliknij przycisk „Wyświetl certyfikat”, przejdź do karty „Skład”, skopiuj wartość pola „Certyfikat linii papilarnych”.

Możesz także w konsoli urzędu certyfikacji w sekcji Wydane certyfikaty sprawdź, czy certyfikat został wydany dla określonego komputera / serwera z systemem Windows przy użyciu szablonu RDPTemplate. Sprawdź także wartość odcisku palca certyfikatu:

Teraz porównaj dane z odciskiem palca certyfikatu używanego przez usługę pulpitu zdalnego. Możesz zobaczyć wartość odcisku palca certyfikatu RDS w rejestrze (oddział HKLM: \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ WinStations, parametr Szablon certyfikatu) lub za pomocą polecenia PowerShell: Get-WmiObject -Class "Win32_TSGeneralSetting" -Namepace root \ cimv2 \ terminalservices | wybierz SSLCertificateSHA1Hash

Teraz, gdy połączysz się ze zdalną tabelą na dowolnym serwerze lub komputerze, którego dotyczy ta zasada, nie zobaczysz ostrzeżenia o niezaufanym certyfikacie RDP.

Podpisujemy plik RDP i dodajemy odcisk palca zaufanego certyfikatu RDP

Jeśli nie masz urzędu certyfikacji, ale chcesz uniemożliwić użytkownikom otrzymywanie ostrzeżeń podczas łączenia się z serwerem RDP / RDS, możesz dodać certyfikat do zaufanych użytkowników na komputerach.

Jak opisano powyżej, pobierz wartość odcisku palca certyfikatu RDP:

Get-WmiObject -Class "Win32_TSGeneralSetting" -Przestrzeń nazw root \ cimv2 \ terminalservices | wybierz | wybierz SSLCertificateSHA1Hash

Użyj tego odcisku palca do podpisania pliku .RDP RDPSign.exe:

rdpsign.exe / sha256 65A27B2987702281C1FAAC26D155D78DEB2B8EE2 „C: \ Users \ root \ Desktop \ rdp.rdp”

Teraz poprzez GPO dodaj ten odcisk palca certyfikatu do zaufanych użytkowników. Określ odciski palców (oddzielone średnikami) w zasadach Podaj odciski palców SHA1 certyfikatów reprezentujących zaufanych wydawców .rdp (Określ odciski palców SHA1 certyfikatów reprezentujących zaufanych wydawców RDP) w obszarze Konfiguracja komputera -> Zasady -> Szablony administracyjne -> Składniki systemu Windows -> Ustawienia pulpitu zdalnego -> Klient połączenia pulpitu zdalnego.

Aby przejrzyste wejście RDP bez hasła (RDP jednokrotne logowanie) działało, musisz skonfigurować zasadę Zezwalaj na domyślne ustawienia poświadczeń i określić w nich nazwy serwerów RDP / RDS (zobacz artykuł).