RDP mit Zertifikat

Wurde ein SSL-Zertifikat wie im Post „SSL Zertifikat für Server erstellen“ beschrieben erstellt, kann dieses zur Sicherung einer RDP-Sitzung genutzt werden. Zur Installation werden folgende Dinge benötigt:

  • Zertifikat als PFX Datei
  • Import dieses Zertifikates auf dem Server
  • Berechtigungen des Netzwerkdienstes für das Zertifikat
  • Verweis der RDP-Sitzungshosts auf den Fingerabdruck des Zertifikats

Zertifikat importieren

Zunächst muss das Zertifikat über die Einstellungen „Comuterzertifikate verwalten“ importiert werden.

Der Import kann dort über das Kontextmenü auf „Eigene Zertifikate“ / „Alle Aufgaben“ / „Importieren“ erfolgen.

Das Zertifikat wird dabei für den „Lokalen Computer“ hinterlegt.

Zunächst wird die Zertifikat-Datei im PFX-Format abgefragt.

Im zweiten Schritt wird das Passwort, das bei der Erstellung der PFX-Datei verwendet wurde abgefragt. Der Schlüssel bleibt dabei als „nicht exportierbar“ gekennzeichnet.

Das Zertifikat wird standardmäßig im Speicher „Eigene Zertifikate“ abgelegt.

Es folgt eine Zusammenfassung der geplanten Aktionen.

Mit Abschluss des Imports werden zwei Zertifikate dargestellt, zum Einen das Wildcard-Zertifikat und zum Anderen ein Intermediate-Zertifikat der Zertifizierungsstelle.

Netzwerk-Dienst berechtigen

Um das Zertifikat für die RDP-Sitzungen nutzen zu können, muss der Netzwerk-Dienst für den Privaten Schlüssel berechtigt werden.

Dies kann über das Kontext-Menü des Wildcard-Zertifikats unter „Alle Aufgaben“ / „Private Schlüssel verwalten“ erfolgen.

Im Berechtigungsdialog muss der „Netzwerk-Dienst“, der abhängig von der genutzten Windows-Version auch „Network Service“ heißt, hinzugefügt werden.

Verweis der RDP-Sitzungshosts auf das Zertifikat

Nachdem die Berechtigungen des Netzwerk-Dienstes gesetzt sind, muss der RDP-Sitzungshosts noch auf das Zertifikat verwiesen werden, über das er Verbindungen bereitstellen soll. Dafür muss ein Eintrag in der Windows Registry erstellt werden:

Im Schlüssel „Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp“ muss ein Binärwert „SSLCertificateSHA1Hash“ erstellt werden, dessen Wert auf den Fingerabdruck des Zertifikates zu setzen ist.

Der Fingerabdruck kann in den Eigenschaften des Zertifikates unter Details abgelesen bzw. kopiert werden.

Der Registry Schlüssel lässt sich am einfachsten über eine Textdatei mit folgendem Inhalt setzen. Der Fingerabdruck muss dabei jeweils in Zweierpaaren durch Kommata getrennt werden.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]
"SSLCertificateSHA1Hash"=hex:86,fd,78,f1,24,c2,21,e2,3a,9e,41,83,cc,0f,22,78,72,76,7e,0c

Bei der Angabe dieses Schlüssels bzw. den Berechtigungen des Netzwerk-Dienstes ist besondere Sorgfalt erforderlich, da falsche Angaben zu einem internem Fehler führen und eine RDP-Verbindung blockiert wird.

Nach einem Neustart des Rechners kann eine RDP-Verbindung ohne Hinweis-Meldung einer nicht bestätigten Identität aufgerufen werden.

This post is also available in: Deutsch

Schreibe einen Kommentar