Windows PKI: Zertifikate für RDP Verbindungen automatisch ausrollen

In der Standardeinstellung verwenden Windows Server selbst signierte Zertifikate für die RDP Verbindung. Die selbst signierten Zertifikate sorgen dann beim Herstellen der RDP Verbindung zu einem Windows Server für eine Zertifikatswarnung:

Warnung bei selbst signierten RDP Zertifikaten

Diese Warnung lässt sich vermeiden indem Zertifikate von ein Windows Zertifizierungsstelle automatisch auf den Servern ausgerollt und bei Bedarf auch erneuert werden. Die Installation einer Windows PKI habe ich in diesem Artikel beschrieben. In diesem Artikel geht es um das automatische Ausrollen der Zertifikate für die RDP Verbindung.

Template für Zertifikate erstellen

Damit Zertifikate für RDP Verbindungen ausgerollt werden können, wird zunächst ein neues Zertifikats-Template benötigt:

Template für RDP Zertifikate erstellen

Das vorhandene Template „Computer“ eignet sich schon ganz gut für RDP Zertifikate und kann daher dupliziert werden:

Neues Template

Im duplizierten Template müssen zunächst die „Application Policies“ auf dem Reiter „Extensions“ bearbeitet werden:

Eigenschaften der Vorlage

Die vorhandenen beiden Policies „Client Authentication“ und „Server Authentication“ werden entfernt:

Eigenschaften der Vorlage

Jetzt kann eine neue Application Policy hinzugefügt werden:

Eigenschaften der Vorlage

Da es aber noch keine Policy für RDP gibt, muss diese Policy zunächst erstellt werden:

Eigenschaften der Vorlage

Die neue Application Policy bekommt den Namen „Remote Desktop Authentication“ und als Object Identififier wird die OID „1.3.6.1.4.1.311.54.1.2 eingetragen (die bereits vorausgefüllten OIDs werden gelöscht):

RDP Application Policy

Die Dialoge können nun mit OK geschlossen werden:

RDP Application Policy

Auf dem Reiter Security bekommt jetzt die Gruppe „Domain Computer“ die entsprechenden Berechtigungen um das Zertifikat anzufordern:

Berechtigungen der Vorlage

Auf dem Reiter General wird zum Schluss noch ein Name für das Template vergeben, in diesem Fall ist es RDPCertificates. Zusätzlich kann die Gültigkeit entsprechend festgelegt werden:

Eigenschaften der RDP Vorlage

Der Dialog kann mit OK geschlossen werden und das neue Zertifikats-Template wird in der Übersicht angezeigt:

RDP Zertifikatsvorlage

Damit Zertifikate über das Template ausgestellt werden, muss das Template in der Zertifizierungsstelle als aufzustellende Vorlage angegeben werden:

aufzustellende Vorlage

Das soeben erstellte Template kann ausgewählt und hinzugefügt werden:

Auszustellende Zertifikatsvorlage

Jetzt kann eine Gruppenrichtlinie erstellt werden, welche das Zertifikat anfordert und für RDP Verbindungen aktiviert.

Gruppenrichtlinie für RDP Zertifikate

Auf einer OU kann nun eine neue Gruppenrichtlinie erstellt und direkt verknüpft werden:

Neue GPO

Der Name der Gruppenrichtlinie ist frei wählbar:

Neue GPO

Unter dem Pfad „Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Seurity“ findet sich die Einstellung „Server authentication certificate template“. Diese Einstellung muss aktiviert und der Name des zuvor erstellten Zertifikats-Templates angegeben werden. In meinem Fall also „RDPCertificates“:

Gruppenrichtlinie

Die Gruppenrichtlinie kann jetzt noch mit weiteren OUs verknüpft werden. Sobald die Gruppenrichtlinie auf den Servern angewendet wird, wird ein Zertifikat über das Template angefordert und für RDP aktiviert.

ausgestellte Zertifikate

Mehr ist nicht zu tun, wichtig ist nur, dass RDP Verbindungen mit dem FQDN hergestellt werden (nicht mit dem UNC Namen), da nur der FQDN auf dem Zertifikat angegeben ist:

RDP Zertifikat

12 Gedanken zu „Windows PKI: Zertifikate für RDP Verbindungen automatisch ausrollen“

  1. Wenn das enrollment per gpo wie oben beschrieben durchgeführt wird, ist das autoenrollment als Berechtigung nicht notwendig. Das gpo enrollment ist aber am Ende eigentlich nur ein fallback, wenn der zertifikatsregistrierungsagent nicht konfiguriert wurde. Das sollte man aber tun, sonst sammeln sich über die Jahre am Server die abgelaufenen Zertifikate. Das könnte der Agent sonst gleich mit aufräumen. ;)

    Antworten
  2. Der Server hat in meinem Fall das Zertifikat bekommen, allerdings beschwert sich der RDP Client immer noch über das nicht vertrauenswürdige Zertifikat.
    Das Zertifikat im Store sieht gut aus. Root CA wird auch vertraut.
    Dann noch Tipps von MS das Zertifikat per WMI oder Registry zu setzen versucht, leider ohne Erfolg.
    Verbindung über FQDN.

    Danke und Grüße,
    MG

    Antworten
      • Hm also ich bin jetzt kein Zertifikatsexpert aber vielleicht musst du die Zertifikatsstelle bei den Clients noch hinterlegen, damit Sie vertrauswürdig ist.

        Antworten
      • Unbekannter Herausgeber heißt aber afair, dass dein Client eben nicht der ausstellenden CA vertraut. Im Zweifel mach im Forum einfach mal einen Thread auf, da ist das einfacher als hier in den Kommentaren.

        Antworten
        • Ich habe jetzt herausgefunden, dass dies nur bei bereits gespeicherten RDP-Verbindungen passiert, nicht bei neuen. In der Registry habe ich aber keine gespeicherten Hashes gefunden. Merkwürdig.

        • Stehen die gespeicherten Verbindungen nicht im Password Safe von Windows? Ich mach das nie, deswegen nur eine Vermutung.

  3. Wichtig hierbei: Das Template darf KEINE Leerzeichen im DisplayName haben, ansonsten wird das Zertifikat bei jedem Booten neu angefordert (Ist ein tolles Feature, wenn es für 2500 Clients ausgerollt wird…)

    Antworten
    • Das lernt man ja gleich am Anfang, dass man das identisch mit dem Vorlagennamen konfiguriert und Leerzeichen sind sowieso nie eine gute Idee bei sowas. ;)

      Antworten

Schreibe einen Kommentar