Articles

Remotedesktopdienste

Die Schlüsselserverkomponente von RDS ist der Terminalserver (termdd.sys), der den TCP-Port 3389 abhört. Wenn ein RDP-Client (Remote Desktop Protocol) eine Verbindung zu diesem Port herstellt, wird er mit einer eindeutigen SessionID gekennzeichnet und einer frisch erzeugten Konsolensitzung zugeordnet (nur Benutzeroberfläche für Sitzung 0, Tastatur, Maus und Zeichenmodus). Die login-subsystem (winlogon.exe) und das GDI-Grafiksubsystem initiiert, das die Authentifizierung des Benutzers und die Darstellung der GUI übernimmt., Diese ausführbaren Dateien werden in einer neuen Sitzung und nicht in der Konsolensitzung geladen. Beim Erstellen der neuen Sitzung werden die Grafik-und Tastatur – /Mausgerätetreiber durch RDP-spezifische Treiber ersetzt: RdpDD.sys und RdpWD.sys. Die RdpDD.sys ist der Gerätetreiber und erfasst die UI-Rendering-Aufrufe in einem Format, das über RDP übertragbar ist. RdpWD.sys fungiert als Tastatur-und Maustreiber; es empfängt Tastatur-und Mauseingaben über die TCP-Verbindung und stellt sie als Tastatur-oder Mauseingaben dar., Es ermöglicht auch die Erstellung von virtuellen Kanälen, mit denen andere Geräte wie Disc, Audio, Drucker und COM-Ports umgeleitet werden können, dh die Kanäle fungieren als Ersatz für diese Geräte. Die Kanäle stellen über die TCP-Verbindung eine Verbindung zum Client her; Wenn auf die Kanäle für Daten zugegriffen wird, wird der Client über die Anforderung informiert, die dann über die TCP-Verbindung an die Anwendung übertragen wird. Dieser gesamte Vorgang wird vom Terminalserver und vom Client ausgeführt, wobei der RDP die korrekte Übertragung vermittelt und für die Anwendungen vollständig transparent ist., RDP-Kommunikation wird mit 128-Bit-RC4-Verschlüsselung verschlüsselt. Ab Windows Server 2003 können FIPS 140-kompatible Verschlüsselungsschemata verwendet werden.

Sobald ein Client eine Verbindung initiiert und über einen erfolgreichen Aufruf des Terminaldienste-Stacks auf dem Server informiert wird, lädt er das Gerät sowie die Tastatur – /Maustreiber. Die über RDP empfangenen UI-Daten werden dekodiert und als UI gerendert, während die Tastatur-und Mauseingaben für das Fenster, in dem sich die UI befindet, von den Treibern abgefangen und über RDP an den Server übertragen werden., Es erstellt auch die anderen virtuellen Kanäle und richtet die Umleitung ein. RDP-Kommunikation kann verschlüsselt werden; entweder mit niedriger, mittlerer oder hoher Verschlüsselung. Bei geringer Verschlüsselung werden Benutzereingaben (ausgehende Daten) mit einer schwachen (40-Bit RC4) Chiffre verschlüsselt. Bei mittlerer Verschlüsselung werden UI-Pakete (eingehende Daten) auch mit dieser schwachen Verschlüsselung verschlüsselt. Die Einstellung “ High encryption (Non-export)“ verwendet 128-Bit RC4-Verschlüsselung und „High Encryption (Export)“ 40-Bit RC4-Verschlüsselung.

Terminal ServerEdit

Terminal Server ist die server-Komponente Terminaldienste., Es übernimmt die Authentifizierung von Clients sowie die Remote-Bereitstellung der Anwendungen. Es ist auch mit der Aufgabe betraut, die Kunden je nach Zugriffsebene einzuschränken. Der Terminalserver respektiert die konfigurierten Softwareeinschränkungsrichtlinien, um die Verfügbarkeit bestimmter Software nur für eine bestimmte Gruppe von Benutzern einzuschränken. Die Remotesitzungsinformationen werden in speziellen Verzeichnissen gespeichert, die als Sitzungsverzeichnis bezeichnet werden und auf dem Server gespeichert werden., Sitzungsverzeichnisse werden zum Speichern von Statusinformationen zu einer Sitzung verwendet und können zum Fortsetzen unterbrochener Sitzungen verwendet werden. Der Terminalserver muss auch diese Verzeichnisse verwalten. Terminalserver können auch in einem Cluster verwendet werden.

In Windows Server 2008, es wurde erheblich überarbeitet. Wenn sich der Benutzer während der Anmeldung mit einem Windows Server-Domänenkonto beim lokalen System angemeldet hat, können die Anmeldeinformationen derselben Anmeldung zur Authentifizierung der Remotesitzung verwendet werden., Dies erfordert jedoch, dass Windows Server 2008 das Terminal-Server-Betriebssystem ist, während das Client-Betriebssystem auf Windows Server 2008, Windows Vista und Windows 7 beschränkt ist. Darüber hinaus kann der Terminalserver so konfiguriert sein, dass die Verbindung zu einzelnen Programmen und nicht zum gesamten Desktop über eine Funktion namens RemoteApp ermöglicht wird. Terminal Services Web Access (TS Web Access) macht eine RemoteApp-Sitzung über den Webbrowser aufrufbar. Es enthält das TS Web Access Web Part Control, das die Liste der auf dem Server bereitgestellten RemoteApps verwaltet und die Liste auf dem neuesten Stand hält., Terminal Server kann auch in den Windows System Resource Manager integriert werden, um die Ressourcennutzung von Remote-Anwendungen zu drosseln.

Terminal-Server verwaltet wird von der Terminal-Server-Manager, Microsoft Management Console-snap-in. Es kann verwendet werden, um die Anmeldeanforderungen zu konfigurieren und eine einzelne Instanz der Remotesitzung zu erzwingen. Es kann auch mithilfe von Gruppenrichtlinien oder Windows-Verwaltungsinstrumenten konfiguriert werden., Es ist jedoch nicht in Clientversionen von Windows OS verfügbar, in denen der Server so vorkonfiguriert ist, dass nur eine Sitzung zulässig ist und die Rechte des Benutzerkontos auf der Remote-Sitzung ohne Anpassung durchgesetzt werden.

Remote Desktop GatewayEdit

Die Remote Desktop Gateway Service-Komponente, auch als RD Gateway bekannt, kann die RDP-Sitzung über einen HTTPS-Kanal tunneln. Dies erhöht die Sicherheit von RDS, indem die Sitzung mit Transport Layer Security (TLS) gekapselt wird. Dies ermöglicht auch die Option, Internet Explorer als RDP-Client zu verwenden., Der offizielle MS RDP-Client für macOS unterstützt RDP ab Version 8. Dies ist auch für iOS und Android erhältlich.

Diese Funktion wurde in den Windows Server 2008-und Windows Home Server-Produkten eingeführt.

Remote Desktop HTML5 Web ClientEdit

Ende 2018 veröffentlichte Microsoft den Remote Desktop HTML5 Web-Client. Mit dem Client können Benutzer eine Verbindung zu ihren Remote-Apps oder ihren Remote-Desktops herstellen, ohne einen installierten Remote-Desktop-Client zu verwenden., Der Webclient verwendet den TLS-gesicherten Port 443 und verwendet das RD-Gateway nicht zum Transport von Datenverkehr, sondern verlässt sich ausschließlich auf den Remotedesktopsitzung-Host-Aspekt von Remotedesktopdiensten.

RolesEdit

Remote Desktop Gateway Ermöglicht autorisierten Benutzern die Verbindung zu virtuellen Desktops, Remote-App-Programmen und sitzungsbasierten Desktops über ein privates Netzwerk oder das Internet. Mit der Rolle Remotedesktopverbindungsbroker können Benutzer die Verbindung zu ihrem vorhandenen virtuellen Desktop, RemoteApp-Programmen und sitzungsbasierten Desktops wiederherstellen., Es ermöglicht eine gleichmäßige Lastverteilung über mehrere Sitzungshostserver in einer Sitzungssammlung oder über gepoolte virtuelle Desktops in einer gepoolten virtuellen Desktopsammlung und bietet Zugriff auf virtuelle Desktops in einer virtuellen Desktopsammlung. Remote Desktop Session Host Ermöglicht es einem Server, RemoteApp-Programme als sitzungsbasierte Desktops zu hosten. Benutzer können eine Verbindung zu RD-Sitzungshostservern in einer Sitzungssammlung herstellen, um Programme auszuführen, Dateien zu speichern und Ressourcen auf diesen Servern zu verwenden. Benutzer können mithilfe des Remotedesktopverbindungsclients oder mithilfe von RemoteApp-Programmen auf den Hostserver für Remotedesktopsitzungen zugreifen., Remotedesktopvirtualisierungshost Ermöglicht es Benutzern, mithilfe von RemoteApp und Desktop-Verbindung eine Verbindung zu virtuellen Desktops herzustellen. Remote Desktop Web Access Ermöglicht Benutzern den Zugriff auf RemoteApp und Desktop-Verbindung über das Startmenü oder über einen Webbrowser. RemoteApp and Desktop Connection bietet Benutzern eine benutzerdefinierte Ansicht von RemoteApp-Programmen, sitzungsbasierten Desktops und virtuellen Desktops. Remotedesktoplizenzierung Ermöglicht es einem Server, RDS-Clientzugriffslizenzen (RDS CALs) zu verwalten, die für jedes Gerät oder jeden Benutzer erforderlich sind, um eine Verbindung zu einem Remotedesktopsitzung-Hostserver herzustellen., RDS-CALs werden mit der Remote Desktop Licensing Manager-Anwendung verwaltet.

RemoteAppEdit

RemoteApp (oder TS RemoteApp) ist ein spezieller RDS-Modus, der in Windows Server 2008 R2 und höher verfügbar ist und in dem die Remotesitzungskonfiguration in das Clientbetriebssystem integriert ist. Der RDP 6.1 Client wird mit Windows XP SP3, KB952155 für Windows XP SP2 Benutzer, Windows Vista SP1 und Windows Server 2008 ausgeliefert. Die Benutzeroberfläche für RemoteApp wird in einem Fenster über den lokalen Desktop gerendert und wie jedes andere Fenster für lokale Anwendungen verwaltet., Das Endergebnis davon ist, dass Remote-Anwendungen verhalten sich weitgehend wie lokale Anwendungen. Die Aufgabe, die Remotesitzung einzurichten und lokale Ressourcen an die Remoteanwendung umzuleiten, ist für den Endbenutzer transparent. Mehrere Anwendungen können in einer einzigen RemoteApp-Sitzung mit jeweils eigenen Fenstern gestartet werden.

Eine RemoteApp kann entweder als .rdp – Datei gepackt oder über ein .msi Windows Installer-Paket verteilt werden., Wenn Sie als .rdp – Datei gepackt sind (die die Adresse des RemoteApp-Servers, die zu verwendenden Authentifizierungsschemata und andere Einstellungen enthält), kann eine RemoteApp durch Doppelklicken auf die Datei gestartet werden. Es wird der Remotedesktopverbindungsclient aufgerufen, der eine Verbindung zum Server herstellt und die Benutzeroberfläche rendert. Die RemoteApp kann auch in eine Windows Installer-Datenbank gepackt werden, in der Sie die RemoteApp im Startmenü registrieren und Verknüpfungen zum Starten erstellen können. Eine RemoteApp kann auch als Handler für Dateitypen oder URIs registriert werden., Beim Öffnen einer bei RemoteApp registrierten Datei wird zuerst die Remotedesktopverbindung aufgerufen, die eine Verbindung zum Terminalserver herstellt, und dann die Datei geöffnet. Jede Anwendung, auf die über den Remotedesktop zugegriffen werden kann, kann als RemoteApp bereitgestellt werden.

Windows 7 bietet integrierte Unterstützung für RemoteApp Publishing, muss jedoch manuell in der Registrierung aktiviert werden, da es in Clientversionen von Microsoft Windows keine RemoteApp Management Console gibt.,

Windows Desktop SharingEdit

Ab Windows Vista enthält Terminal Services auch eine Desktop-Freigabefunktion für mehrere Parteien, die als Windows Desktop Sharing bezeichnet wird. Im Gegensatz zu Terminaldiensten, die für jede RDP-Verbindung eine neue Benutzersitzung erstellen, kann Windows Desktop Sharing die Remotesitzung im Kontext des aktuell angemeldeten Benutzers hosten, ohne eine neue Sitzung zu erstellen, und den Desktop oder eine Teilmenge davon über RDP verfügbar machen. Die Windows-Desktopfreigabe kann verwendet werden, um den gesamten Desktop, eine bestimmte Region oder eine bestimmte Anwendung freizugeben., Die Windows-Desktopfreigabe kann auch zum Freigeben von Desktops mit mehreren Monitoren verwendet werden. Wenn Anwendungen einzeln (und nicht auf dem gesamten Desktop) freigegeben werden, werden die Fenster unabhängig voneinander auf Server-und Clientseite verwaltet (unabhängig davon, ob sie minimiert oder maximiert sind).

Die Funktionalität wird nur über eine öffentliche API bereitgestellt, die von jeder Anwendung zur Bereitstellung von Bildschirmfreigabefunktionen verwendet werden kann. Die Windows Desktop Sharing API macht zwei Objekte verfügbar: RDPSession für die Freigabesitzung und RDPViewer für den Viewer., Mehrere Viewer-Objekte können für ein Session-Objekt instanziiert werden. Ein Viewer kann entweder ein passiver Viewer sein, der die Anwendung nur wie einen Screencast ansehen kann, oder ein interaktiver Viewer, der in Echtzeit mit der Remote-Anwendung interagieren kann. DasRDPSession-Objekt enthält alle gemeinsam genutzten Anwendungen, dargestellt alsApplication – Objekte mit jeweilsWindow – Objekten, die ihre Bildschirmfenster darstellen. Filter pro Anwendung erfassen die Anwendungsfenster und verpacken sie als Window Objekte., Ein Viewer muss sich authentifizieren, bevor er eine Verbindung zu einer Freigabesitzung herstellen kann. Dies geschieht durch Generieren einer Invitation mit der RDPSession. Es enthält ein Authentifizierungsticket und ein Passwort. Das Objekt wird serialisiert und an die Viewer gesendet, die beim Herstellen der Verbindung die Invitation Invitation.

Die Windows-Desktop-Sharing-API wird von Windows Meeting Space und Windows Remote Assistance verwendet, um Anwendungsfreigabefunktionen für Netzwerk-Peers bereitzustellen.