aethercert
Dokumentation

RDS-Zertifikate austauschen mit Set-RDCertificate

Zertifikate für RD-Gateway, RD-Web Access, Verbindungsbroker-Umleitung und Veröffentlichung mit Get-RDCertificate und Set-RDCertificate austauschen und jede Rolle prüfen.

Eine Remotedesktopdienste-Bereitstellung (RDS) weist Zertifikate pro Rolle über den RD-Verbindungsbroker zu, der sie an die Server der jeweiligen Rolle verteilt:

RolleWofür
RDGatewayTLS des RD-Gateways, über das Nutzer von außen verbinden
RDWebAccessHTTPS der RD-Web-Access-Seite
RDRedirectorVerbindungen zum Verbindungsbroker, einschließlich Single Sign-on
RDPublishingSignatur der .rdp-Dateien für RemoteApps und Desktops

Ein Zertifikat, dessen SAN alle Namen abdeckt, die Nutzer und Clients verwenden, kann alle vier Rollen bedienen; Sie können aber auch je Rolle eigene Zertifikate nutzen. Der RDP-Listener des Sitzungshosts selbst ist eine eigene, lokale Einstellung - siehe Remote Desktop (RDP).

Voraussetzungen

  • Besorgen Sie eine kennwortgeschützte PFX-Datei mit privatem Schlüssel, der EKU Serverauthentifizierung und SANs für die externen Gateway- und Web-Namen sowie - wo nötig - die internen Broker-Namen.
  • Arbeiten Sie auf einem Host mit dem PowerShell-Modul RemoteDesktop und Administratorrechten für die Bereitstellung. Notieren Sie die Ausgabe von Get-RDCertificate und exportieren Sie jede alte PFX-Datei sicher.
  • Bewahren Sie die PFX-Dateien der aktuellen Zertifikate auf: Ein Rollback heißt, sie erneut zuzuweisen, und ein Zertifikat mit nicht exportierbarem Schlüssel lässt sich später nicht mehr exportieren.
  • Planen Sie ein Wartungsfenster. Set-RDCertificate aktualisiert alle Server einer Rolle auf einmal; Verbindungen, die gerade aufgebaut werden, können scheitern, und Gateway-Nutzer müssen sich eventuell neu verbinden.

Zertifikat Schritt für Schritt austauschen

  1. Bereitstellung prüfen:

    Import-Module RemoteDesktop
    $broker = "rdcb.example.com"
    Get-RDCertificate -ConnectionBroker $broker
  2. PFX jeder betroffenen Rolle zuweisen:

    $password = Read-Host "PFX password" -AsSecureString
    $roles = "RDGateway","RDWebAccess","RDRedirector","RDPublishing"
    foreach ($role in $roles) {
      Set-RDCertificate -Role $role -ImportPath C:\secure\rds.pfx `
        -Password $password -ConnectionBroker $broker -Force
    }

    Das weist allen vier Rollen ein Zertifikat zu. Für unterschiedliche Zertifikate führen Sie Set-RDCertificate je Rolle mit der passenden PFX-Datei aus. Im Server-Manager finden Sie denselben Vorgang unter Remotedesktopdienste > Übersicht > Aufgaben > Bereitstellungseigenschaften bearbeiten > Zertifikate; dort wird das gewählte Zertifikat an die Server der jeweiligen Rolle verteilt.

  3. Jede Rolle mit Get-RDCertificate zurücklesen. Brauchen auch die Sitzungshosts ein vertrauenswürdiges Zertifikat für den RDP-Listener, wenden Sie auf jedem Host die Anleitung für den einzelnen RDP-Listener an.

Produktspezifische Hinweise

Erfinden Sie keinen Wert RDLicensing für Set-RDCertificate; Microsoft dokumentiert derzeit nur die vier oben genannten Rollen. Hochverfügbare Verbindungsbroker, Gateway-Farmen und Web-Access-Farmen müssen pro Knoten und über den Namen am Load Balancer getestet werden. Das Cmdlet bzw. der Import übernimmt die Verteilung an die Rollen - ein manueller Import nur auf dem Broker ist nicht gleichwertig.

Neues Zertifikat prüfen

Führen Sie Get-RDCertificate -ConnectionBroker $broker aus - jede Rolle muss den neuen Fingerabdruck, das neue Ablaufdatum und die Stufe Trusted zeigen. Prüfen Sie dann jeden Gateway- und Web-Access-Server direkt und über den öffentlichen Namen:

openssl s_client -connect rdgw.example.com:443 -servername rdgw.example.com -showcerts </dev/null

Starten Sie eine RemoteApp: Der im Sicherheitshinweis angezeigte Herausgeber ist das RDPublishing-Zertifikat. Testen Sie externe und interne DNS-Pfade.

Rollback

Führen Sie Set-RDCertificate für jede geänderte Rolle erneut mit der alten PFX-Datei aus. Behalten Sie die alten PFX-Dateien, bis Gateway-Zugriff, Web Access, Umleitung und Veröffentlichung erfolgreich getestet sind; ein Rollback hilft nur, solange das alte Zertifikat noch gültig ist.

Häufige Probleme

  • Der externe Name am Load Balancer fehlt in den SANs.
  • Nur eine Rolle wurde aktualisiert; Gateway oder Veröffentlichung nutzen noch das alte Zertifikat.
  • Der Befehl zielte auf den falschen Verbindungsbroker.
  • Der Listener eines Sitzungshosts wird mit einer Rolle der RDS-Bereitstellung verwechselt.

Zertifikatstausch mit aethercert automatisieren

Das aethercert-Deployment-Ziel für RDS ruft Set-RDCertificate für eine gewählte Rolle und einen Verbindungsbroker auf. Legen Sie für jede unterstützte RDS-Rolle, die das Zertifikat braucht, eine eigene Zielzuweisung an.

Unter Deployment-Ziele finden Sie die Felder dieser Vorlage, die Voraussetzungen auf dem Host und den Stand der Verifizierung.

Quellen

Auf dieser Seite