Wie man SSL/TLS-Zertifikatsprobleme für RDP unter Windows behebt
Die Verwaltung von RDP-Zertifikaten kann ziemlich kompliziert werden, wenn man mit Warnungen vor selbstsignierten Zertifikaten zu tun hat oder versucht, eine reibungslose Verbindung mit vertrauenswürdigen Zertifikaten herzustellen. Manchmal generiert Windows automatisch ein selbstsigniertes Zertifikat, und bei jeder Verbindung erscheint die entsprechende Warnung, was ziemlich lästig sein kann. Wenn Sie eine Domänenzertifizierungsstelle (CA) verwenden, erleichtert die Automatisierung der Zertifikatsbereitstellung und -erneuerung die Arbeit enorm – aber ja, es ist nicht immer einfach. Dieser Leitfaden erklärt, wie Sie diese lästigen selbstsignierten Zertifikate durch gültige, vertrauenswürdige TLS-Zertifikate ersetzen können, entweder manuell oder per Gruppenrichtlinie (GPO), je nach Ihrer Konfiguration. Sobald Sie dies eingerichtet haben, sollten Ihre RDP-Sitzungen keine beunruhigenden Warnungen mehr ausgeben und sich sicher verbinden.
Wie man SSL/TLS-Zertifikatsprobleme mit RDP unter Windows behebt
Lösung 1: Manuelles Ersetzen des selbstsignierten Zertifikats
Warum überhaupt? Ein selbstsigniertes Zertifikat verschlüsselt zwar Ihre Daten, aber Windows warnt Sie jedes Mal – nicht ideal für Produktionsumgebungen. Ersetzen Sie es durch ein vertrauenswürdiges TLS-Zertifikat einer Zertifizierungsstelle (z. B.Let’s Encrypt, DigiCert oder Ihrer internen Zertifizierungsstelle), erhalten Sie keine Warnungen mehr und das grüne Schloss-Symbol wird angezeigt. Um zu überprüfen, welches Zertifikat RDP aktuell verwendet, führen Sie folgenden PowerShell-Befehl aus: (Get-CimInstance -class "Win32_TSGeneralSetting" -Namespace root\cimv2\terminalservices -Filter "TerminalName='RDP-tcp'").SSLCertificateSHA1Hash Dieser gibt den Fingerabdruck des aktuellen Zertifikats zurück. Ist es selbstsigniert oder nicht vertrauenswürdig, muss es ausgetauscht werden.Öffnen Sie anschließend certlm.msc (die Zertifikatverwaltung Ihres lokalen Computers) und suchen Sie unter Remotedesktop – Zertifikate nach Ihrem aktuellen Zertifikat, öffnen Sie dessen Eigenschaften und klicken Sie auf Details. Vergleichen Sie den Fingerabdruck mit dem von PowerShell ausgegebenen Wert. Sind sie unterschiedlich oder ist das Zertifikat nicht vertrauenswürdig, ist es Zeit für ein neues Zertifikat. Wenn Sie ein gültiges TLS-Zertifikat von einer Zertifizierungsstelle (z. B.Let’s Encrypt oder ein kostenpflichtiges Zertifikat) erhalten haben, stellen Sie sicher, dass es im PFX-Format vorliegt (einschließlich des privaten Schlüssels).Importieren Sie dieses Zertifikat in den Persönlichen Zertifikatsspeicher in certlm.msc. Kopieren Sie nun den Fingerabdruck des Zertifikats (eine lange Hexadezimalzeichenfolge).Um RDP für die Verwendung des neuen Zertifikats zu aktualisieren, führen Sie folgenden PowerShell-Befehl aus: $certHash = "YOUR_CERT_THUMBPRINT" Ersetzen Sie `YOUR_CERT_THUMBPRINT` durch Ihren tatsächlichen Fingerabdruck (ohne Leerzeichen).Führen Sie anschließend folgenden Befehl aus: Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -Name "SSLCertificateSHA1Hash" -Value $certHash Starten Sie abschließend den RDP-Dienst neu, um die Änderungen zu übernehmen: Restart-Service -Name TermService -Force Stellen Sie Ihre RDP-Sitzung wieder her, klicken Sie auf das Schlosssymbol oder die Warnung und überprüfen Sie, ob nun das vertrauenswürdige TLS-Zertifikat verwendet wird – idealerweise wird keine Warnung angezeigt und das Schlosssymbol ist grün. Hinweis: Let’s Encrypt-Zertifikate sind nur 90 Tage gültig. Daher wird die automatische Erneuerung und Aktualisierung empfohlen. Andernfalls kann Ihre Verbindung nach Ablauf der Gültigkeit wieder in den Warnstatus zurückfallen. Sie können dies mit WACS (Win-ACME) skripten und mit der Aufgabenplanung planen.
Lösung 2: Einrichten einer Zertifikatvorlage auf Ihrer Zertifizierungsstelle
Wenn Sie über eine korrekt eingerichtete Active Directory-Umgebung mit einer internen Microsoft-Zertifizierungsstelle verfügen, kann die Verwendung einer Vorlage für automatisch ausgestellte Zertifikate viel Aufwand ersparen.Öffnen Sie zunächst die Zertifizierungsstelle und navigieren Sie zu den Zertifikatvorlagen. Duplizieren Sie die Vorlage „Computer“ – klicken Sie dazu mit der rechten Maustaste darauf und wählen Sie „Duplizieren“.Benennen Sie Ihre Vorlage aussagekräftig, z. B.„RDPVorlage“.In den Eigenschaften der Vorlage: – Legen Sie unter „Allgemein“ den „Vorlagennamen“ entsprechend Ihrer Beschreibung fest.– Wählen Sie unter „Kompatibilität“ die minimale Client-Betriebssystemversion aus – in der Regel sind Windows Server 2016 oder Windows 10 geeignet.– Fügen Sie unter „Anwendungsrichtlinienerweiterungen“ die „Remotedesktopauthentifizierung“ (Version 1.3.6.1.4.1.311.54.1.2) hinzu und entfernen Sie alle anderen Richtlinien.– Um sicherzustellen, dass Domänencontroller automatisch registriert werden können, wechseln Sie zur Registerkarte „Sicherheit“, fügen Sie die Gruppe „Domänencontroller“ hinzu und aktivieren Sie die Optionen „Registrieren“ und „Automatische Registrierung“.Sobald Ihre Vorlage fertig ist, kehren Sie zur CA-Konsole zurück, klicken Sie mit der rechten Maustaste auf Zertifikatvorlagen und wählen Sie Neu > Auszustellende Zertifikatvorlage. Wählen Sie Ihre RDP-Vorlage aus und wenden Sie sie an. Ihre Domänenclients erhalten nun, sofern für die automatische Registrierung konfiguriert, automatisch vertrauenswürdige und gültige RDP-Zertifikate – ein manueller Import ist nicht erforderlich. Das bedeutet aktuelle, nicht selbstsignierte Zertifikate und weniger Warnungen.
Lösung 3: Bereitstellung von RDP-Zertifikaten über Gruppenrichtlinien
Hier automatisieren Sie die Bereitstellung – ideal für große Installationen. Dazu müssen Sie sicherstellen, dass Ihre Clients Ihrem Stammzertifikat der Zertifizierungsstelle vertrauen (verteilen Sie es per Gruppenrichtlinie an die vertrauenswürdigen Stammzertifizierungsstellen).Gehen Sie dann wie folgt vor: – Öffnen Sie die Gruppenrichtlinienverwaltung (`gpmc.msc`).– Erstellen Sie ein neues Gruppenrichtlinienobjekt oder bearbeiten Sie ein vorhandenes, das mit der Organisationseinheit Ihrer RDP-Server verknüpft ist.– Navigieren Sie zu Computerkonfiguration > Richtlinien > Administrative Vorlagen > Windows-Komponenten > Remotedesktopdienste > Remotedesktop-Sitzungshost > Sicherheit.– Aktivieren Sie die Serverauthentifizierungszertifikatvorlage und benennen Sie sie in Ihre RDPTemplate um.– Aktivieren Sie außerdem die Option Verwendung einer bestimmten Sicherheitsebene für Remote-(RDP-)Verbindungen erforderlich und wählen Sie SSL aus.– Um die automatische Erneuerung sicherzustellen, gehen Sie zu Sicherheitseinstellungen > Richtlinien für öffentliche Schlüssel und aktivieren Sie die Option Zertifikatdiensteclient – Automatische Registrierung.Überprüfen Sie die Optionen für die Erneuerung.– Aktivieren Sie für eine strenge Überprüfung die Warnung „Authentifizierung für Client konfigurieren“, falls die Authentifizierung fehlschlägt. Dies hilft, unbemerkte Fehler zu vermeiden. Stellen Sie Ihr Stammzertifikat der Zertifizierungsstelle per Gruppenrichtlinie (GPO) in den vertrauenswürdigen Stammzertifizierungsstellen bereit. Führen Sie nach der Anwendung der GPO auf Ihren Clientcomputern den Befehl `gpupdate /force` aus oder starten Sie die Computer neu.Überprüfen Sie in `certlm.msc`, ob das ausgestellte Zertifikat unter `Persönlich > Zertifikate` angezeigt wird. Starten Sie die Remotedesktopdienste (`Get-Service TermService | Restart-Service`) neu, damit RDP das neue Zertifikat verwendet. Anschließend sollten beim Verbindungsaufbau keine Warnungen mehr angezeigt werden, sofern alle Einstellungen übereinstimmen.
Lösung 4: Signieren von RDP-Dateien mit vertrauenswürdigen Zertifikaten
Wenn Sie keine Zertifizierungsstelle einrichten oder nicht überall neue Zertifikate bereitstellen möchten, können Sie Ihre `.rdp`-Dateien mit einem vertrauenswürdigen Fingerabdruck signieren. Ermitteln Sie zunächst den Fingerabdruck Ihres RDP-Zertifikats (Befehl `Get-WmiObject`, siehe oben).Verwenden Sie anschließend RDPSign.exe (Bestandteil der Remotedesktop-Clienttools), um Ihre RDP-Datei zu signieren.rdpsign.exe /sha256 YOUR_CERT_THUMBPRINT "C:\path\to\your\connection.rdp" Nach der Signierung stellen Sie die `.rdp`-Datei mit dem vertrauenswürdigen Fingerabdruck bereit, der auf den Benutzerrechnern per Gruppenrichtlinie unter den Richtlinien für Remotedesktopeinstellungen konfiguriert ist. So können sich Benutzer ohne lästige Warnungen verbinden – die Verbindung wird als vertrauenswürdig angezeigt.
Diese Optionen hängen also davon ab, wie viel Automatisierung und wie hoch die gewünschte Sicherheit gewünscht ist. Der Wechsel von selbstsignierten zu vertrauenswürdigen Zertifikaten erfordert zwar einige Schritte, reduziert aber die Warnmeldungen erheblich und erhöht die Vertrauenswürdigkeit der Verbindung. Wichtig: Let’s Encrypt-Zertifikate sind temporär. Planen Sie daher die automatische Verlängerung ein, falls Sie sich für diesen Weg entscheiden.
Bei einer Konfiguration schlug es beim ersten Mal fehl, funktionierte dann aber nach einem Neustart – Windows kann da schon mal etwas eigenartig sein. Manchmal muss man die Terminaldienste neu starten oder sogar den ganzen Rechner neu starten, um alte Zertifikatscaches zu löschen. Und natürlich muss Windows alles ein bisschen komplizierter machen, als es sein sollte, aber sobald man den Dreh raus hat, läuft alles wie am Schnürchen.
Zusammenfassung
- Überprüfen Sie den Fingerabdruck des aktuellen RDP-Zertifikats mit PowerShell.
- Ersetzen Sie selbstsignierte Zertifikate durch vertrauenswürdige Zertifikate (manueller Import oder über CA-Vorlagen).
- Verwenden Sie Gruppenrichtlinienobjekte (GPO), um die Zertifikatsbereitstellung zu automatisieren, wenn Sie eine Domäne verwalten.
- Signieren Sie RDP-Dateien mit vertrauenswürdigen Fingerabdrücken, wenn die Bereitstellung einer Zertifizierungsstelle keine Option ist.
- Nach der Änderung müssen die Dienste neu gestartet werden – diesen Schritt nicht vergessen!
Zusammenfassung
Die lästigen Zertifikatswarnungen lassen sich ganz einfach durch Ersetzen oder Vertrauen der richtigen Zertifikate beseitigen. Ist alles korrekt eingerichtet, fühlt sich die RDP-Verbindung sicherer, professioneller und (zum Glück) warnungsfrei an. Zwar nicht narrensicher, aber die Mühe lohnt sich definitiv, wenn man es satt hat, ständig auf „Ja“ zu klicken. Hoffentlich spart das jemandem ein paar Stunden. Ich drücke die Daumen, dass es hilft.