Citrix Gateway

RDP-Proxy

Die RDP-Proxy-Funktionalität wird als Teil des Citrix Gateway bereitgestellt. In einer typischen Bereitstellung wird der RDP-Client auf dem Computer eines Remote-Benutzers ausgeführt. Das Citrix Gateway-Gerät wird in der DMZ bereitgestellt, und die RDP-Serverfarm ist im internen Unternehmensnetzwerk.

Der Remote-Benutzer;

  1. stellt eine Verbindung zur öffentlichen IP-Adresse von Citrix Gateway her
  2. stellt eine SSL-VPN-Verbindung her
  3. authentifiziert
  4. greift über das Citrix Gateway-Gerät auf die Remote-Desktops zu

Die RDP-Proxy-Funktion wird im clientlosen VPN- und ICA-Proxy-Modus unterstützt.

Hinweis:

Citrix Gateway unterstützt keine Remotedesktop-Sitzungshost (RDSH), Remote App, RDS Multiuser oder RDP-Sitzungen.

Die folgenden RDP-Proxy-Funktionen bieten Zugriff auf eine Remote-Desktop-Farm über das Citrix Gateway.

  • Sicherer RDP-Verkehr durch clientloses VPN oder ICA-Proxy-Modus (ohne Full Tunnel).

  • SSO (Single Sign-On) zu RDP-Servern über Citrix Gateway. Bietet auch eine Option, SSO bei Bedarf zu deaktivieren.

  • Durchsetzungsfunktion (SmartAccess), bei der die Citrix ADC-Administratoren bestimmte RDP-Funktionen über die Citrix Gateway-Konfiguration deaktivieren können.

  • Single/Stateless (Dual) Gateway-Lösung für alle Anforderungen (VPN/ICA/RDP/Citrix Endpoint Management).

  • Kompatibilität mit dem nativen Windows MSTSC-Client für RDP, ohne dass benutzerdefinierte Clients erforderlich sind.

  • Verwendung eines vorhandenen von Microsoft bereitgestellten RDP-Clients auf MACOSX, iOS und Android.

Die folgende Abbildung zeigt einen Überblick über die Bereitstellung:

RDP-Proxy-Überblick

Bereitstellung durch clientloses VPN

In diesem Modus werden die RDP-Links auf der Gateway-Homepage oder dem Portal als Lesezeichen, über die add vpn url Konfiguration oder über ein externes Portal veröffentlicht. Der Benutzer kann auf diese Links klicken, um Zugriff auf den Remotedesktop zu erhalten.

Bereitstellung über ICA-Proxy

In diesem Modus wird mithilfe des wihome Parameters eine benutzerdefinierte Homepage auf dem Gateway VIP konfiguriert. Diese Homepage kann mit der Liste der Remote-Desktop-Ressourcen angepasst werden, auf die der Benutzer zugreifen darf. Diese benutzerdefinierte Seite kann auf Citrix ADC gehostet werden, oder wenn sie extern ist, kann sie ein iFrame auf der vorhandenen Gateway-Portalseite sein.

In beiden Modi, nachdem der Benutzer auf den bereitgestellten RDP-Link oder das bereitgestellte RDP-Symbol geklickt hat, kommt eine HTTPS-Anforderung für die entsprechende Ressource beim Citrix Gateway an. Das Gateway generiert den Inhalt der RDP-Datei für die angeforderte Verbindung und sendet ihn an den Client. Der native RDP-Client wird aufgerufen und stellt eine Verbindung zu einem RDP-Listener auf dem Gateway her. Gateway führt SSO zum RDP-Server durch Unterstützung der Durchsetzung (SmartAccess) durch. Das Gateway blockiert den Clientzugriff auf bestimmte RDP-Funktionen basierend auf der Citrix ADC-Konfiguration und leitet dann den RDP-Verkehr zwischen dem RDP-Client und dem Server weiter.

Einzelheiten zur Durchsetzung

Der Citrix ADC-Administrator kann bestimmte RDP-Funktionen über die Citrix Gateway-Konfiguration konfigurieren. Citrix Gateway bietet die Funktion “RDP-Durchsetzung” für wichtige RDP-Parameter. Citrix ADC stellt sicher, dass der Client blockierte Parameter nicht aktivieren kann. Wenn die blockierten Parameter aktiviert sind, ersetzt die RDP-Erzwingungsfunktion die clientfähigen Parameter und sie werden nicht berücksichtigt.

Wichtig: Die Durchsetzungsfunktion ist nur anwendbar, wenn SSO aktiviert ist.

Unterstützte RDP-Parameter für die Durchsetzung

Die Durchsetzung zum Befolgen von Umleitungsparametern wird unterstützt Diese Parameter sind als Teil eines RDP-Clientprofils konfigurierbar.

  • Umleitung der Zwischenablage

  • Umleitung von Druckern

  • Umleitung von Laufwerken

  • Umleitung von COM-Ports

  • Umleitung von PNP-Geräten

Ablauf der Verbindung

Der Verbindungsfluss kann in zwei Schritte unterteilt werden:

  • RDP-Ressourcenaufzählung und RDP-Dateidownload.
  • Start der RDP-Verbindung.

Basierend auf dem vorhergehenden Verbindungsablauf gibt es zwei Bereitstellungslösungen:

  • Stateless (Dual) Gateway-Lösung - Die RDP-Ressourcenaufzählung und der RDP-Dateidownload erfolgt über das Authenticator-Gateway, aber der Start der RDP-Verbindung erfolgt über das RDP-Listener-Gateway.

  • Einzel-Gateway-Lösung - Die RDP-Ressourcenaufzählung, der RDP-Dateidownload und der Start der RDP-Verbindung erfolgen über dasselbe Gateway.

Stateless (duale) Gateway-Kompatibilität

Die folgende Abbildung zeigt die Bereitstellung:

Kompatibilität mit zwei Gateway

  • Ein Benutzer stellt eine Verbindung zum Authenticator Gateway VIP her und stellt die Anmeldeinformationen bereit.

  • Nach einer erfolgreichen Anmeldung am Gateway wird der Benutzer zur Homepage oder zum externen Portal weitergeleitet, das die Remote-Desktop-Ressourcen aufzählt, auf die der Benutzer zugreifen kann.

  • Sobald der Benutzer eine RDP-Ressource ausgewählt hat, erhält der Authenticator Gateway VIP die Anforderung in dem Format, das die veröffentlichte Ressource https://vserver-vip/rdpproxy/rdptarget/listener angibt, auf die der Benutzer geklickt hat. Diese Anforderung enthält die Informationen über die IP-Adresse und den Port des RDP-Servers, die der Benutzer ausgewählt hat.

  • Das Authenticator Gateway verarbeitet die /rdpproxy/ -Anforderung. Da der Benutzer bereits authentifiziert ist, enthält diese Anfrage ein gültiges Gateway-Cookie.

  • Die RDPTarget und RDPUser -Informationen werden auf dem STA-Server gespeichert und ein STA-Ticket wird generiert. Die auf dem STA-Server gespeicherten Informationen werden mithilfe des konfigurierten Pre-Shared-Schlüssels verschlüsselt. Das Authenticator Gateway verwendet einen der STA-Server, der auf dem virtuellen Gateway-Server konfiguriert ist.

  • Die in der /rdpproxy/ -Anforderung erhaltenen ‘Listener’ Info werden .rdp file als “fulladdress” und das STA-Ticket (vorangestellt mit der STA AuthID) .rdp file als loadbalanceinfo gesetzt.

  • Der .rdp file wird an den Endpunkt des Clients zurückgesendet.

  • Der native RDP-Client startet und stellt eine Verbindung zum her RDPListener Gateway. Es sendet das STA-Ticket im ersten Paket.

    Das RDPListener Gateway validiert das STA-Ticket und erhält die RDPTarget und RDPUser Informationen. Der zu verwendende STA-Server wird mithilfe der in der vorhandenen ‘AuthID’ abgerufen loadbalanceinfo.

  • Eine Gateway-Sitzung wird zum Speichern von Autorisierungs-/Überwachungsrichtlinien erstellt. Wenn eine Sitzung für den Benutzer existiert, wird sie wiederverwendet.

  • Das RDPListener Gateway verbindet sich mit dem RDPTarget und meldet sich mit CREDSSP an.

Wichtig:

  • Für einen statuslosen RDP-Proxy validiert der STA-Server das vom RDP-Client gesendete STA-Ticket, um die RDPTarget/RDPUser Informationen zu erhalten. Sie müssen den STA-Server zusätzlich zum virtuellen VPN-Server binden.

Kompatibilität mit einem Gateway

Die folgende Abbildung zeigt die Bereitstellung:

Kompatibilität mit einem Gateway

Wichtig:

Im Fall einer einzelnen Gateway-Bereitstellung ist der STA-Server nicht erforderlich. Das Authenticator-Gateway codiert das RDPTarget und das Citrix Authentifizierungs-, Autorisierungs- und Überwachungssitzungscookie sicher und sendet sie wie loadbalanceinfo in der .rdp file. Wenn der RDP-Client dieses Token im ursprünglichen Paket sendet, decodiert das Authenticator-Gateway die RDPTarget Informationen, sucht die Sitzung nach und stellt eine Verbindung zum her RDPTarget.

Unterstützung für einen einzelnen Listener

  • Single Listener für sowohl RDP- als auch SSL-Verkehr.

  • Der RDP-Dateidownload und der RDP-Verkehr können über dasselbe 2-Tupel (dh IP und Port) auf der Citrix ADC Appliance verarbeitet werden.

Lizenzanforderungen für RDP Proxy

Premium-Ausgabe, Advanced-Ausgabe

Hinweis:

Die RDP-Proxy-Funktion steht Kunden, die nur eine Gateway-Plattformlizenz oder nur die Standard Edition besitzen, nicht zur Verfügung.

Sie können den folgenden Befehl verwenden, um RDP-Proxy zu aktivieren.

enable feature rdpProxy
<!--NeedCopy-->

Lesezeichen

RDP-Linkgenerierung über Portal. Anstatt die RDP-Links für den Benutzer zu konfigurieren oder die RDP-Links über ein externes Portal zu veröffentlichen, können Sie Benutzern die Möglichkeit geben, ihre eigenen URLs durch Bereitstellung zu generieren targerIP:Port. Für die zustandslose RDP-Proxy-Bereitstellung kann der Administrator RDP-Listener-Informationen im FQDN: Port-Format als Teil des RDP-Clientprofils einschließen. Dies erfolgt im Rahmen der rdpListener Option. Diese Konfiguration wird für die Generierung von RDP-Verbindungen über das Portal im Dual-Gateway-Modus verwendet.

Lesezeichen

Erstellen Sie Lesezeichen

  1. Erstellen Sie Lesezeichen auf der Portalseite, um auf die RDP-Ressourcen zuzugreifen: (Die ActualUrl beginnt mit rdp://).

  2. VPN-URL hinzufügen <urlName> <linkName>  <actualURL>

    • Die URL muss das folgende Format haben: rdp://<TargetIP:Port>.
    • Für den statuslosen RDP-Proxy-Modus muss die URL das folgende Format haben: rdp://<TargetIP:Port>/<ListenerIP:Port>

    • Die URL wird im Portal im Format veröffentlicht: https://<VPN-VIP>/rdpproxy/<TargetIP:Port> https://<VPN-VIP>/rdpproxy/<TargetIP:Port>/<ListenerIP:Port>
  3. Binden Sie die Lesezeichen an den Benutzer oder die Gruppe oder den virtuellen VPN-Server oder VPN global.

Funktionen und Modi, die für RDP Proxy aktiviert werden sollen

-  enable ns feature ssl

-  enable ns feature sslvpn

-  enable ns feature rdpproxy

-  enable mode usnip
<!--NeedCopy-->

RDP-Proxy-Konfigurationsschritte auf hoher Ebene

Die folgenden Schritte auf hoher Ebene sind an der statuslosen RDP-Proxy-Konfiguration beteiligt.

  • Erstellen Sie ein RDP-Serverprofil
  • Erstellen Sie ein RDP-Clientprofil
  • Erstellen und binden Sie einen virtuellen Server
  • Erstellen Sie ein Lesezeichen
  • Erstellen oder Bearbeiten eines Sitzungsprofils oder einer Richtlinie
  • Binden Sie ein Lesezeichen

Konfigurieren eines Clientprofils

Konfigurieren Sie das Clientprofil auf dem Authenticator-Gateway. Das Folgende ist eine Beispielkonfiguration:

add rdpClient profile <name> [-addUserNameInRdpFile ( YES | NO )] [-audioCaptureMode ( ENABLE | DISABLE )] [-keyboardHook <keyboardHook>] [-multiMonitorSupport ( ENABLE | DISABLE )] [-psk <string>] [-rdpCookieValidity <positive_integer>] [-rdpCustomParams <string>] [-rdpFileName <string>] [-rdpHost <optional FQDN that will be put in the RDP file as ‘fulladdress>] [-rdpUrlOverride ( ENABLE | DISABLE )] [-redirectClipboard ( ENABLE | DISABLE )] [-redirectComPorts ( ENABLE | DISABLE )] [-redirectDrives ( ENABLE | DISABLE )] [-redirectPnpDevices ( ENABLE | DISABLE )] [-redirectPrinters ( ENABLE | DISABLE )] [-videoPlaybackMode ( ENABLE | DISABLE )]
<!--NeedCopy-->

Verknüpfen Sie das RDP-Clientprofil mit dem virtuellen VPN-Server.

Dies kann entweder durch Konfigurieren einer SessionAction+SessionPolicy oder durch Festlegen des globalen VPN-Parameters erfolgen.

Beispiel:

add vpn sessionaction <actname> -rdpClientprofile <rdpprofilename>

add vpn sessionpolicy <polname> NS_TRUE <actname>

bind vpn vserver <vservername> -policy <polname> -priority <prioritynumber>
<!--NeedCopy-->

ODER

set vpn parameter –rdpClientprofile <name>
<!--NeedCopy-->

Konfigurieren eines Serverprofils

Konfigurieren Sie das Serverprofil auf dem Listener-Gateway.

add rdp ServerProfile <profilename> -rdpIP <IPV4 address of the RDP listener> -rdpPort <port for terminating RDP client connections> -psk <key to decrypt RDPTarget/RDPUser information, needed while using STA>`
<!--NeedCopy-->

rdp ServerProfile muss auf dem virtuellen VPN-Server konfiguriert sein.

add vpn vserver v1 SSL <publicIP> <portforterminatingvpnconnections> -rdpServerProfile <rdpServer Profile>`  
<!--NeedCopy-->

Beispiel-Konfiguration

RDP-Proxy-Konfiguration über die CLI

Das Folgende ist ein Beispiel für eine RDP-Proxy-Konfiguration über die CLI.

  • Fügen Sie die VPN-URL für den Benutzer mit den Zielinformationen hinzu.

     add aaa user Administrator –password freebsd123$%^
    
     add vpn url rdp RdpLink rdp://rdpserverinfo
    
     add dns addrec rdpserverinfo 10.102.147.132
    
     bind aaa user Administrator  –urlName rdp
     <!--NeedCopy-->
    
  • Konfigurieren Sie das RDP-Client- und Serverprofil für die VPN-Verbindung.

     add rdp clientprofile p1 –psk citrix -redirectClipboard ENABLE
    
     add rdp serverprofile p1 -rdpIP 10.102.147.134 -psk citrix
    
     add vpn vserver mygateway SSL  10.102.147.134 443 –rdpserverprofile p1
    
     set vpn parameter -clientlessVpnMode ON -defaultAuthorizationAction ALLOW -rdpClientProfileName p1
    
     add ssl certKey gatewaykey -cert rdp_rootcert.pem  -key rdp_rootkey
    
     bind ssl vserver mygateway -certkeyName gatewaykey
     <!--NeedCopy-->
    
  • FÜGEN SIE SNIP für die Verbindung von Citrix ADC zum Ziel hinzu.

     add ns ip 10.102.147.135  255.255.255.0 –type SNIP
     <!--NeedCopy-->
    

RDP-Proxy-Konfiguration über die GUI

  1. Navigieren Sie zu Citrix Gateway > Richtlinien, klicken Sie mit der rechten Maustaste auf RDPund klicken Sie auf Funktion aktivieren

  2. Klicken Sie im Navigationsbereich auf RDP. Wählen Sie auf der rechten Seite die Registerkarte Kundenprofile aus und klicken Sie auf Hinzufügen.

  3. Geben Sie einen Namen für das Clientprofil einen Namen ein und konfigurieren Sie ihn.

    Namen für Profil hinzufügen

  4. Geben Sie im Feld RDP-Host den FQDN ein, der in den RDP-Proxy-Listener aufgelöst wird. Dies ist normalerweise der gleiche FQDN wie der FDQN der Citrix Gateway-Appliance.

  5. Geben Sie unter Pre Shared Keyein Kennwort ein und klicken Sie auf OK.

    Preshared Key-Kennwort

  6. Geben Sie dem Serverprofil einen Namen ein.

  7. Geben Sie die IP-Adresse des virtuellen Gateway-Servers ein, an den Sie dieses Profil binden möchten.

  8. Geben Sie denselben Preshared Key ein, den Sie für das RDP-Clientprofil konfiguriert haben. Klicken Sie auf Erstellen.

    Preshared-Key-Kennwort erneut eingeben

  9. Wenn Sie RDP-Lesezeichen auf der Portalseite Clientless Access hinzufügen möchten, erweitern Sie auf der linken Seite Citrix Gateway, erweitern Sie Ressourcen, und klicken Sie auf Lesezeichen.

  10. Klicken Sie rechts auf Hinzufügen.

  11. Gib dem Lesezeichen einen Namen.

  12. Geben Sie für die URL rdp: //myRDPServer mit IP oder DNSein.

  13. Wählen Sie Citrix Gateway als Reverseproxy verwenden und klicken Sie auf Erstellen.

  14. Erstellen Sie Lesezeichen gemäß Ihren Anforderungen.

    Fügen Sie mehrere Lesezeichen hinzu

  15. Erstellen oder bearbeiten Sie ein Sitzungsprofil. Navigieren Sie zu Citrix Gateway > Richtlinien > Sitzung.

  16. Legen Sie auf der Registerkarte Sicherheit die Standardautorisierungsaktion auf ZULASSENfest. Oder Sie können Autorisierungsrichtlinien verwenden, um den Zugriff zu steuern.

    Festlegen der Standardauthentifizierungsaktion

  17. Wählen Sie auf der Registerkarte Remotedesktop das RDP-Clientprofil aus, das Sie zuvor erstellt haben.

    Wählen Sie das RDP-Clientprofil

  18. Wenn Sie Lesezeichen verwenden möchten, setzen Sie auf der Registerkarte Client ExperienceClientless Accessauf On.

    Stellen Sie den clientlosen Zugriff auf On

  19. Stellen Sie auf der Registerkarte Published Applications sicher, dass der ICA-Proxy AUSist.

    Stellen Sie den ICA-Proxy auf AUS

  20. Ändern oder erstellen Sie Ihren virtuellen Gateway-Server.

  21. Klicken Sie im Abschnitt Grundeinstellungen auf Mehr.

    Festlegen der Grundeinstellungen

  22. Verwenden Sie die RDP-Serverprofilliste, um das zuvor erstellte RDP-Serverprofil auszuwählen.

    Verwenden Sie das RDP-Serverprofil

  23. Scrolle nach unten. Stellen Sie sicher, dass “ Nur ICA “ nicht aktiviert ist.

    Stellen Sie ICA nur auf aus

  24. Binden Sie ein Zertifikat.

  25. Binden Sie Authentifizierungsrichtlinien.

  26. Binden Sie die Sitzungsrichtlinie/das Sitzungsprofil, für das das RDP-Clientprofil konfiguriert ist

    Richtlinie zum Binden von Sitzungen

  27. Sie können Lesezeichen entweder an den virtuellen Citrix Gateway-Server oder an eine Authentifizierungs-, Autorisierungs- und Überwachungsgruppe binden. Um an den virtuellen Citrix Gateway-Server zu binden, klicken Sie rechts im Abschnitt Erweiterte Einstellungen auf Veröffentlichte Anwendungen.

    Klicken Sie auf veröffentlichte Anwendungen

  28. Klicken Sie links im Abschnitt Veröffentlichte Anwendungen auf Keine URL.

    Keine URL festlegen

  29. Binde deine Lesezeichen.

    Lesezeichen binden

  30. Da Only ICA für diesen virtuellen Citrix Gateway-Server nicht angegeben ist, stellen Sie sicher, dass Ihre Citrix Gateway Universal-Lizenzen korrekt konfiguriert sind. Erweitern Sie auf der linken Seite Citrix Gateway und klicken Sie auf Globale Einstellungen.

    Festlegen globaler Einstellungen

  31. Klicken Sie rechts auf AAA-Einstellungen für Authentifizierung ändern.

    Ändern der Authentifizierungseinstellungen

  32. Ändern Sie die maximale Anzahl von Benutzern auf Ihr lizenziertes Limit.

    Legen Sie die maximale Anzahl von Benutzern fest

  33. Wenn Sie mithilfe von DNS eine Verbindung zu RDP-Servern herstellen möchten, stellen Sie sicher, dass DNS-Server auf der Appliance konfiguriert sind (Traffic Management > DNS > Nameserver).

    Konfigurieren von DNS-Servern

  34. Wenn Sie die Kurznamen anstelle von FQDNs verwenden möchten, fügen Sie ein DNS-Suffix hinzu (Traffic Management > DNS > DNS-Suffix).

    Verwenden Sie FQDNs

  35. Verbinden Sie sich mit Ihrem Gateway und melden Sie sich an.

    Verbinden mit dem Gateway

  36. Wenn Sie Lesezeichenkonfiguriert haben, klicken Sie auf das Lesezeichen.

    Klicken Sie auf Lesezeichen

  37. Sie können die Adressleiste in /rdpProxy/myRDPServerändern. Sie können eine IP-Adresse (zum Beispiel rdpproxy/192.168.1.50) oder einen DNS-Namen (/rdpproxy/myserver) eingeben.

    Adressleiste ändern

  38. Öffne das .rdp fileheruntergeladene

    Laden Sie die RDP-Datei

  39. Sie können die derzeit verbundenen Benutzer anzeigen, indem Sie zu Citrix Gateway Policies > RDP gehen. Auf der rechten Seite ist die Registerkarte Verbindungen .

    Klicken Sie auf die Registerkarte Verbindungen

Option zum Deaktivieren von SSO

Die SSO-Funktion (Single Sign-On) mit RDP-Proxy kann durch Konfigurieren von Citrix ADC-Verkehrsrichtlinien deaktiviert werden, sodass der Benutzer immer zur Eingabe von Anmeldeinformationen aufgefordert wird. Wenn SSO deaktiviert ist, funktioniert die RDP-Durchsetzung (SmartAccess) nicht.

Beispiel:

add vpn trafficaction <TrafficActionName> HTTP -SSO OFF
<!--NeedCopy-->

Die Verkehrsrichtlinie kann gemäß der Anforderung konfiguriert werden. Im Folgenden sind zwei Beispiele aufgeführt:

  • So deaktivieren Sie SSO für den gesamten Verkehr:

     add vpn trafficpolicy <TrafficPolicyName>  "url contains rdpproxy" <TrafficActionName>
     <!--NeedCopy-->
    
  • So deaktivieren Sie SSO basierend auf Quell-/Ziel-IP/FQDN

     add vpn trafficPolicy <TrafficPolicyName>  "HTTP.REQ.URL.CONTAINS("rdpproxy") && CLIENT.IP.SRC.EQ(<IP>)" <TrafficActionName>
     bind vpnvserver rdp -policy <TrafficPolicyName> -priority 10
     <!--NeedCopy-->