RemoteApp .rdp Creds einbetten?

11

Windows 2008 R2-Server mit Remotedesktopdiensten (wie wir früher Terminaldienste genannt haben) . Dieser Server ist der Einstiegspunkt in eine gehostete Anwendung - man könnte es Software as a Service nennen, nehme ich an. Wir haben Kunden von Drittanbietern, die eine Verbindung herstellen, um es zu verwenden.

Verwenden von RemoteApp Manager zum Erstellen von RemoteApp .rdp-Verknüpfungen zur Verteilung an Clientarbeitsstationen. Diese Arbeitsstationen befinden sich nicht in derselben Domäne wie der RDS-Server. Es gibt keine Vertrauensbeziehung zwischen Domänen (und wird es auch nicht geben). Zwischen Workstations und dem RDS-Server besteht ein streng kontrolliertes Site-to-Site-VPN. Wir sind ziemlich zuversichtlich, dass der Zugriff auf den Server gesperrt ist.

Die ausgeführte remoteApp ist eine ERP-Anwendung mit einem eigenen Authentifizierungsschema.

Die Angelegenheit? Ich versuche zu vermeiden, dass AD-Anmeldungen für jeden Endbenutzer erstellt werden müssen, wenn eine Verbindung zum RemoteApp-Server hergestellt wird. Da wir eine Remote- App ausführen und sie sich bei dieser App authentifizieren müssen , möchte ich sie lieber überhaupt nicht zu AD-Creds auffordern. Ich möchte sicher nicht, dass sie in die Verwaltung von AD-Kennwörtern (und regelmäßigen Ablaufzeiten) für Konten verwickelt sind, die sie nur verwenden, um zu ihrem ERP-Login zu gelangen.

Ich kann jedoch nicht herausfinden, wie AD-Creds in eine RemoteApp-RDP-Datei eingebettet werden. Ich möchte nicht wirklich die gesamte Authentifizierung auf dem RDS-Server auf dieser Ebene deaktivieren.

Irgendwelche guten Optionen? Mein Ziel ist es, dies für die Endbenutzer so nahtlos wie möglich zu gestalten.

Klärende Fragen sind willkommen.

Chris_K
quelle

Antworten:

10

Es ist möglich, ein Kennwort in eine RDP-Datei einzubetten, das Kennwort wird jedoch mit der SID Ihres lokalen Benutzerkontos so verschlüsselt, dass die RDP-Datei nicht zwischen Benutzern oder Computern ausgetauscht werden kann. Dieses Verhalten ist beabsichtigt: Microsoft wollte nicht, dass ein Eindringling die Schlüssel zu einem Terminalserver erhalten kann, indem er lediglich eine RDP-Datei von einem Desktop einer anderen Person stiehlt.

Glücklicherweise gibt es eine einigermaßen gut dokumentierte Problemumgehung. Grundsätzlich müssen Sie die RDP-Datei "on the fly" über eine Batchdatei oder ein Skript erstellen, die der Benutzer ausführt, anstatt sie mstsc.exedirekt aufzurufen . Ihr Skript erstellt die entsprechende .rdp-Datei und verschlüsselt dabei das Kennwort so, dass mstsc.exees im Kontext des aktuellen Benutzers akzeptiert wird.

Ressourcen:

Jeder der oben genannten Artikel enthält entweder einen Link zu einem Tool, mit dem RDP-Kennwörter und / oder Quellcode verschlüsselt werden können. Ich würde vorschlagen, wenn möglich mit dem Quellcode zu arbeiten. (Verwenden Sie wie immer Binärdateien, die von Internet-Fremden auf eigenes Risiko erstellt wurden.)

Skyhawk
quelle
Dies scheint der richtige Weg zu sein und ich danke Ihnen für die Links! Amüsanterweise (OK, nicht wirklich) ist das langjährige "Geschäftsbedürfnis" dafür heute verschwunden, aber ich denke, das wäre die Antwort gewesen.
Chris_K
1

Hmm, interessant. Das erste, was mir in den Sinn kommt, ist die Verwendung eines Schlüssels / Zertifikats (wie ssh):

Hilft das?

mbrownnyc
quelle
Zertifikate! Ja, das ist einen Blick wert. Ich habe keinen Gateway-Server im Mix, aber vielleicht ist es eine Option, Client-Zertifikate zu pushen? Vielen Dank.
Chris_K
Mein Such-Fu mag schwach sein, aber ich sehe keine Option, Benutzer / Pass durch ein Zertifikat für Clients zu ersetzen.
Chris_K
Bereit für Komplexität? Dachte mir! technet.microsoft.com/en-us/library/ff404286(WS.10).aspx (Hinweis: Die Smartcard-Umleitung kann in jedem RDP-Client 6.0 + ... erfolgen, und ich habe nichts davon implementiert)
mbrownnyc
... Oh fer yuck!
Chris_K