RDP-Zertifikat prüfen, tauschen und aus der eigenen CA beziehen
Jeder Windows-Rechner stellt sich für Remotedesktop ein eigenes, selbstsigniertes Zertifikat aus. Clients können es nicht prüfen und zeigen die bekannte Warnung „Die Identität des Remotecomputers kann nicht überprüft werden“. Wer sie täglich wegklickt, merkt auch einen echten Angriff nicht. Mit einer Vorlage aus der eigenen CA und einer Gruppenrichtlinie ist das in einer halben Stunde erledigt.
Welches Zertifikat nutzt RDP gerade?
$ts = Get-CimInstance -Namespace root\cimv2\TerminalServices -ClassName Win32_TSGeneralSetting -Filter "TerminalName='RDP-tcp'"
$ts.SSLCertificateSHA1Hash
# Zertifikat zum Fingerabdruck suchen (eigene Zertifikate oder RDP-Speicher)
Get-ChildItem Cert:\LocalMachine\My, 'Cert:\LocalMachine\Remote Desktop' |
Where-Object Thumbprint -eq $ts.SSLCertificateSHA1Hash |
Format-List PSParentPath, Subject, Issuer, NotAfterLiegt das Zertifikat im Speicher „Remote Desktop“ und sind Inhaber und Aussteller gleich, ist es das selbstsignierte. Es ist nur wenige Monate gültig und wird vom Remotedesktopdienst vor Ablauf von selbst erneuert – ein Ausfall droht hier nicht, nur die Warnung bleibt.
Zertifikate aus der eigenen CA per Gruppenrichtlinie
- Vorlage anlegen: In der Konsole „Zertifikatvorlagen“ (
certtmpl.msc) die Vorlage „Computer“ duplizieren, z. B. alsRemoteDesktop. Unter „Erweiterungen → Anwendungsrichtlinien“ genügt „Serverauthentifizierung“; wer es eindeutig möchte, fügt „Remotedesktopauthentifizierung“ mit der OID1.3.6.1.4.1.311.54.1.2hinzu. Unter „Antragstellername“ bleibt „Aus Informationen in Active Directory erstellen“ mit DNS-Namen. - Berechtigungen: Unter „Sicherheit“ der Gruppe „Domänencomputer“ (oder einer eigenen Servergruppe) Lesen und Registrieren erlauben.
- Veröffentlichen: In der Zertifizierungsstelle (
certsrv.msc) → Zertifikatvorlagen → Neu → Auszustellende Zertifikatvorlage →RemoteDesktop. - Gruppenrichtlinie: Computerkonfiguration → Richtlinien → Administrative Vorlagen → Windows-Komponenten → Remotedesktopdienste → Remotedesktop-Sitzungshost → Sicherheit → „Vorlage für Serverauthentifizierungszertifikat“ aktivieren und den Vorlagennamen eintragen (nicht den Anzeigenamen), hier
RemoteDesktop.
Nach gpupdate /force beantragt der Remotedesktopdienst das Zertifikat selbst, bindet es und erneuert es rechtzeitig. Prüfen Sie nach einigen Minuten mit dem Befehl oben, ob der Fingerabdruck gewechselt hat.
Die Warnung verschwindet nur, wenn der Name, mit dem Sie sich verbinden, im Zertifikat steht. Verbinden Sie sich deshalb mit dem vollständigen Namen (srv01.firma.local), nicht mit der IP-Adresse oder dem Kurznamen.
Zertifikat von Hand zuweisen
Für Einzelfälle, etwa ein gekauftes Zertifikat, weisen Sie den Fingerabdruck direkt zu:
$thumb = 'HIER_FINGERABDRUCK_EINTRAGEN'
$ts = Get-CimInstance -Namespace root\cimv2\TerminalServices -ClassName Win32_TSGeneralSetting -Filter "TerminalName='RDP-tcp'"
Set-CimInstance -InputObject $ts -Property @{ SSLCertificateSHA1Hash = $thumb }Das Zertifikat muss in „Eigene Zertifikate“ des Computers liegen und einen privaten Schlüssel haben. Der Remotedesktopdienst läuft als „Netzwerkdienst“ und braucht Lesezugriff darauf: certlm.msc → Zertifikat → Alle Aufgaben → Private Schlüssel verwalten → „NETZWERKDIENST“ mit „Lesen“ hinzufügen. Fehlt das Recht, kann der Dienst das Zertifikat nicht verwenden; Hinweise stehen im Ereignisprotokoll unter „TerminalServices-RemoteConnectionManager“.
Achtung: Von Hand zugewiesene Zertifikate erneuert niemand automatisch. Tragen Sie sich das Ablaufdatum ein oder wechseln Sie auf die Gruppenrichtlinie.
RD-Gateway, Web Access und Verbindungsbroker
In einer RDS-Bereitstellung haben die Rollen eigene Zertifikate – und die laufen oft unbemerkt ab, weil sie häufig von einer öffentlichen CA stammen und von Hand eingespielt wurden. Auf dem Verbindungsbroker:
Get-RDCertificate | Format-Table Role, Subject, ExpiresOn, Level
# Neues Zertifikat (PFX) für eine Rolle einspielen
Set-RDCertificate -Role RDGateway -ImportPath C:\certs\rds.pfx -Password (Read-Host -AsSecureString) -ForceWiederholen Sie Set-RDCertificate für jede Rolle, die dasselbe Zertifikat nutzt (RDGateway, RDWebAccess, RDRedirector, RDPublishing).
Weiterführend
Welche weiteren Dienste auf einem Server Zertifikate nutzen und wie Sie ablaufende finden, zeigt der Ratgeber Ablaufende Zertifikate auf Windows-Servern finden.
Weitere Ratgeber
Ablaufende Zertifikate auf Windows-Servern finden
Mit PowerShell ablaufende Zertifikate im Computer-Speicher finden – auf einem oder vielen Servern – und herausfinden, welcher Dienst sie verwendet.
LDAPS-Zertifikat auf Domänencontrollern prüfen und erneuern
Welches Zertifikat nutzt der Domänencontroller für LDAPS, wann läuft es ab und wie tauschen Sie es ohne Neustart? Mit PowerShell-Test für Port 636.
Autoenrollment erneuert keine Zertifikate – Checkliste
Gruppenrichtlinie, Vorlagenberechtigungen, Erreichbarkeit der CA, Ereignisprotokoll: Schritt für Schritt herausfinden, warum Zertifikate nicht automatisch erneuert werden.
Sperrliste abgelaufen: Notfallplan für die Microsoft-PKI
WLAN, VPN oder Anmeldung fallen aus, weil eine Sperrliste abgelaufen ist? So veröffentlichen Sie eine neue CRL – auch von der Offline-Root – und verhindern den nächsten Ausfall.