Verwenden des CA-Zertifikats für die Remotedesktopverbindung

22

Ich stelle über das Internet eine Verbindung zu einem Remote-Windows Server 2012 R2 über eine Remotedesktopverbindung her, um Verwaltungsanforderungen zu erfüllen. Es ist ein einzelner Web- und Datenbankserver ohne AD usw.

Ich spreche nicht von Remotedesktopdiensten / Terminalserver, sondern von der einfachen Remotedesktopfunktion, die über Systemsteuerung> System> Remoteeinstellungen aktiviert wird. Der Server erstellt automatisch ein selbstsigniertes Zertifikat, um die Verbindung zu verschlüsseln, und der Remotedesktopverbindungs-Client zeigt aufgrund der nicht vertrauenswürdigen Zertifizierungsstelle einen Zertifikatfehler an.

Ich habe ein CA-signiertes Zertifikat für den FQDN dieses Servers ausgestellt und bin für die Serverauthentifizierung gültig (ich verwende es für den MSSQL Server-Remotezugriff).

Ich möchte diesen auch für RDP-Verbindungen verwenden. Alle Tutorials (wie diese Frage ), die ich bisher gefunden habe, beschreiben den Vorgang für die Remotedesktopdienste oder den Terminaldienst. Ich habe diese Frage mit einem wmicBefehl zum Festlegen eines Zertifikats gefunden, möchte aber nicht versuchen, einige Werte festzulegen, wenn ich nicht genau weiß, was ich tue. Ich habe es zu den Remotedesktopzertifikaten des lokalen Computers hinzugefügt, auf dem sich auch das automatisch generierte selbstsignierte Zertifikat befindet.

Ist das möglich? Wenn ja, was muss ich tun?

Vielen Dank!

marce
quelle

Antworten:

26

Die Frage, die Sie wmiczum Festlegen des Fingerabdruckwerts für das Zertifikat gestellt haben, sollte ohne zusätzliche Installation von Funktionen funktionieren. Eine ähnliche Frage habe ich hier etwas ausführlicher gestellt und beantwortet . Es gibt auch eine PowerShell-Entsprechung für den Befehl wmic. Aber ich werde auch hier eine Erklärung hinzufügen.

Da Sie dieses Zertifikat bereits für MSSQL SSL verwenden, wird davon ausgegangen, dass es bereits in einem der Zertifikatspeicher auf dem System installiert ist. Wenn Sie es im Kontext eines Dienstkontos installiert haben, unter dem MSSQL ausgeführt wird, müssen Sie es möglicherweise auch im persönlichen oder Remotedesktop-Speicher für den "lokalen Computer" installieren.
Bildbeschreibung hier eingeben

Sobald es dort ist, müssen Sie nur den SSLCertificateSHA1HashWert in aktualisieren Win32_TSGeneralSetting, um mit einem der Befehle in meiner vorherigen Frage darauf zu verweisen .

Wenn Sie überprüfen möchten, auf welchen Wert der aktuelle Wert eingestellt ist, und diesen mit dem selbstsignierten Zertifikat vergleichen möchten, können Sie den wmicBefehl wie folgt ändern . Sie können dies auch verwenden, um zu überprüfen, ob der neue Fingerabdruckwert, den Sie festgelegt haben, korrekt ist.

wmic /namespace:\\root\cimv2\TerminalServices PATH Win32_TSGeneralSetting Get SSLCertificateSHA1Hash

Die Ausgabe sollte ungefähr so ​​aussehen:
Bildbeschreibung hier eingeben

Ryan Bolger
quelle
2
Vielen Dank! Das hat so funktioniert, als hätte ich gezaubert. Ich weiß nicht, warum ich Ihr ursprüngliches Q / A überhaupt nicht gefunden habe. Ich habe nicht genug Repräsentanten, um zu stimmen, aber ich werde es auf dem Backlog belassen, bis es funktioniert.
Marce
Zumindest unter Windows 7 muss das Zertifikat nicht in den "Remotedesktop" -Speicher verschoben werden. Der "persönliche" Zertifikatspeicher funktioniert einwandfrei.
André Borie
Aus welcher Anwendung stammt der Screenshot mit dem roten Toolbox-Symbol oben links?
Kyle Humfeld
Es ist nur die Standard-Windows-mmc.exe (Microsoft Management Console), eine allgemeine Host-Anwendung für eine Reihe von Mini-Anwendungen, die mit denselben UI-Konstrukten wie Snap-Ins geschrieben wurden. Das im Screenshot geladene Snap-In ist das Zertifikat-Snap-In.
Ryan Bolger
2

Die Handbücher zu Remotedesktopdiensten / Terminaldiensten gelten auch für einen Server, auf dem nur der Standard-RDP-Dienst ausgeführt wird - es handelt sich lediglich um eine eingeschränktere Instanz desselben Dienstes.

In diesen Handbüchern fehlen möglicherweise die Tools zur Verwaltung des Dienstes. Sie möchten die Rollenverwaltungstools für Remotedesktopdienste installieren, um den Dienst verwalten zu können.

Install-WindowsFeature -Name RSAT-RDS-Tools
Shane Madden
quelle
1
Da dies 2012R2 ist, könnte er auch nur die Powershell Commandlets verwenden, um seine Zertifikate zu verwalten. Set-RDCertificate , Get-RDCertificate, Add-RDCertificate usw. Er sollte die Rollenadministrationstools nicht benötigen, um sie über Powershell zu konfigurieren.
Zoredache
@Zoredache Danke für deinen Hinweis. Ich habe versucht, einen einfachen Get-RDCertificateEinstieg zu finden, habe aber den folgenden Fehler erhalten: A Remote Desktop Services deployment does not exist on <FQDN>. This operation can be performed after creating a deployment.Ich fürchte, ich muss zumindest etwas installieren, oder? Soll ich mit den vorgeschlagenen Features @ShaneMadden fortfahren?
10.
Hm, ich hatte es eigentlich nicht ausprobiert. Ich habe gerade versucht, es auf dem 2012R2-Server auszuführen, den ich zu Testzwecken vollständig als Desktop Services eingerichtet habe. Ich habe den gleichen Fehler bekommen, also bin ich jetzt verwirrt, da das sicherlich hätte funktionieren sollen.
Zoredache
@Zoredache Also ich bin es zumindest nicht ... Naja, ich versuche es mit dem Install-WindowsFeature -Name RSAT-RDS-Toolsnächsten und melde mich zurück.
Marce
1
@ShaneMadden Sie zeigen in die richtige Richtung, aber tatsächlich ist das gesamte Paket erforderlich. Vielleicht könntest du deine Antwort aktualisieren, um sie denjenigen anzupassen, die kommen werden.
Marce