Remote Desktop Services – Passthrough

Im Internet kursieren viele einzelne Blogposts, welche die Voraussetzungen für ein sauberes Passthrough einer Remote Desktop Session (Server 2012+) beschreiben. Ich habe diese in folgendem Beitrag kurz zusammengefasst:

Voraussetzung Nr. 1: Zertifikate

Die Voraussetzung für ein sauberes Durchreichen der Anmeldinformationen sind in erster Linie die gebundenen Zertifikate. In diesem Beispiel habe ich von einer internen CA ein Webserver-Zertifikat tsgate.marcozimmermann.com ausgestellt und dieses in den Deployment Properties des RD-Servers gebunden:

rdspt01

Servereinstellungen

Folgende Einstellungen sind serverseitig notwendig:

Passthrough-Authentifizierungskomponente der Website aktivieren:

C:\Windows\Web\RDWeb\Pages\Web.config

<system.web>
     <authentication mode="Windows"/>
</authentication>
<system.webServer>
     <modules></modules>
     <security></security>
     .....
</system.webServer>

Einstellung „I am using a private computer“ per default aktivieren:

private2
C:\Windows\Web\RDWeb\Pages\en-US\Default.aspx

    //
    // Page Variables
    //
    public bool bShowPublicCheckBox = false, bPrivateMode = true, bRTL = false;

sowie falls erforderlich:
private
C:\Windows\Web\RDWeb\Pages\webscripts-domain.js

    var bPrivateMode = document.getElementById("rdoPblc").checked;
    var bPrivateMode = document.getElementById("rdoPrvt").checked;

 

 

Clienteinstellungen

Site zu den Lokalen Intranet Sites hinzufügen

Falls nicht bereits geschehen muss die Site – ich habe in diesem Fall die komplette marcozimmermann.com verwendet – zu den Lokalen Intranet Sites hinzugefügt werden. Alternativ kann hier auch die vorhandene Zone angepasst werden – wichtig ist hierbei die Berechtigung Anmeldeinformationen an die Seite durchreichen zu dürfen (Zone Settings => User Authentification => Automatic Logon).

intra1

Thumbprint des Zertifikats für vertrauenswürdige .rdp-Files

Als nächstes benötigen wir den Thumbrint des Zertifikates – dieser lässt sich durch Öffnen der erweiterten Zertifikatseigenschaften einsehen:

rdspt03

Um das kopieren des Thumbprints zu erleichtern empfiehlt sich ein kurzer Blick in die Registry:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates\MY\Certificates\E340900117389ADD63CE3E9C136C1818D6F4B2D2

Nun erstellen wir eine GPO und aktivieren folgende Einträge:

Windows Components/Remote Desktop Services/Remote Desktop Connection Client/Specify SHA1 thumbprints of certificates representing trusted .rdp publisher
System/Credentials Delegation/Allow delegating default credentials

 

gpo

Nach einem gpupdate werden die Anmeldeinformationen sauber durchgereicht.

Zusammenfassung:

Servereinstellungen

  1. Zuweisung SSL-Zertifikate
  2. Anpassung web.config – Aktivierung Windows SSON
  3. Anpassung Default.aspx
  4. Anpassung webscripts-domain.js

Client

  1. Trusted Sites
  2. GPO Trusted .rdp Publisher
  3. GPO Credential Delegation