RDP-Proxy
Die RDP-Proxy-Funktionalität wird als Teil des NetScaler Gateway bereitgestellt. In einer typischen Bereitstellung wird der RDP-Client auf dem Computer eines Remote-Benutzers ausgeführt. Das NetScaler Gateway-Gerät wird in der DMZ bereitgestellt, und die RDP-Serverfarm ist im internen Unternehmensnetzwerk.
Der Remote-Benutzer;
- stellt eine Verbindung zur öffentlichen IP-Adresse von NetScaler Gateway her
- stellt eine SSL-VPN-Verbindung her
- authentifiziert
- greift über das NetScaler Gateway-Gerät auf die Remote-Desktops zu
Die RDP-Proxy-Funktion wird im clientlosen VPN- und ICA-Proxy-Modus unterstützt.
Hinweis:
NetScaler Gateway unterstützt keine Remote Desktop Session Host (RDSH), Remote App, RDS-Multiuser, RDP-Sitzungen oder RDP-Apps.
Die folgenden RDP-Proxy-Funktionen bieten Zugriff auf eine Remote-Desktop-Farm über das NetScaler Gateway.
-
Sicherer RDP-Verkehr durch clientloses VPN oder ICA-Proxy-Modus (ohne Full Tunnel).
-
SSO (Single Sign-On) zu RDP-Servern über NetScaler Gateway. Bietet auch eine Option, SSO bei Bedarf zu deaktivieren.
-
Durchsetzungsfunktion (SmartAccess), bei der die NetScaler-Administratoren bestimmte RDP-Funktionen über die NetScaler 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:
Bereitstellung durch clientloses VPN
In diesem Modus werden die RDP-Links auf der Gateway-Homepage oder dem Portal als Lesezeichen, über die Konfiguration add vpn url
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 mit dem Parameter wihome
eine benutzerdefinierte Homepage für die 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 NetScaler 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 NetScaler 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 NetScaler-Konfiguration und leitet dann den RDP-Verkehr zwischen dem RDP-Client und dem Server weiter.
Einzelheiten zur Durchsetzung
Der NetScaler-Administrator kann bestimmte RDP-Funktionen über die NetScaler Gateway-Konfiguration konfigurieren. NetScaler Gateway bietet die Funktion “RDP-Durchsetzung” für wichtige RDP-Parameter. NetScaler 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
Durchsetzen des Folgens 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:
-
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 die 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 Informationen
RDPTarget
undRDPUser
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 ‘Listener’-Informationen aus der Anforderung /rdpproxy/ wird als “
fulladdress
” in die.rdp file
gepeichert und das STA-Ticket (mit vorangestellter STA AuthID) wird als “loadbalanceinfo
” in die.rdp file
gepeichert. -
Die
.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 InformationenRDPTarget
undRDPUser
. Der zu verwendende STA-Server wird mithilfe der in der vorhandenen ‘AuthID’ abgerufenloadbalanceinfo
. -
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 mitRDPTarget
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 Informationen
RDPTarget/RDPUser
zu erhalten. Sie müssen den STA-Server zusätzlich zum virtuellen VPN-Server binden.
Single-Gateway Kompatibilität
Die folgende Abbildung zeigt die Bereitstellung:
Wichtig:
Im Fall einer einzelnen Gateway-Bereitstellung ist der STA-Server nicht erforderlich. Das Authenticator-Gateway kodiert
RDPTarget
und das NetScaler-Authentifizierungs-, Autorisierungs- und Auditing-Sitzungscookie sicher und sendet sie alsloadbalanceinfo
in der Datei.rdp file
. Wenn der RDP-Client dieses Token im ursprünglichen Paket sendet, decodiert das Authenticator-Gateway dieRDPTarget
-Informationen, schlägt die Sitzung nach und stellt eine Verbindung zumRDPTarget
her.
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 NetScaler 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 Option rdpListener
. Diese Konfiguration wird für die Generierung von RDP-Verbindungen über das Portal im Dual-Gateway-Modus verwendet.
Lesezeichen erstellen
-
Erstellen Sie Lesezeichen auf der Portalseite, um auf die RDP-Ressourcen zuzugreifen: (actualURL beginnt mit
rdp
://). -
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>
- Die URL muss das folgende Format haben:
-
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-->
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 NetScaler zum Ziel hinzu.
add ns ip 10.102.147.135 255.255.255.0 –type SNIP <!--NeedCopy-->
RDP-Proxy-Konfiguration über die GUI
-
Navigieren Sie zu NetScaler Gateway > Richtlinien, klicken Sie mit der rechten Maustaste auf RDPund klicken Sie auf Funktion aktivieren
-
Klicken Sie im Navigationsbereich auf RDP. Wählen Sie auf der rechten Seite die Registerkarte Kundenprofile aus und klicken Sie auf Hinzufügen.
-
Geben Sie einen Namen für das Clientprofil einen Namen ein und konfigurieren Sie ihn.
-
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 NetScaler Gateway-Appliance.
-
Geben Sie unter Pre Shared Keyein Kennwort ein und klicken Sie auf OK.
-
Geben Sie dem Serverprofil einen Namen ein.
-
Geben Sie die IP-Adresse des virtuellen Gateway-Servers ein, an den Sie dieses Profil binden möchten.
-
Geben Sie denselben Preshared Key ein, den Sie für das RDP-Clientprofil konfiguriert haben. Klicken Sie auf Erstellen.
-
Wenn Sie RDP-Lesezeichen auf der Portalseite Clientless Access hinzufügen möchten, erweitern Sie auf der linken Seite NetScaler Gateway, erweitern Sie Ressourcen, und klicken Sie auf Lesezeichen.
-
Klicken Sie rechts auf Hinzufügen.
-
Gib dem Lesezeichen einen Namen.
-
Geben Sie für die URL rdp: //myRDPServer mit IP oder DNSein.
-
Wählen Sie NetScaler Gateway als Reverseproxy verwenden und klicken Sie auf Erstellen.
-
Erstellen Sie Lesezeichen gemäß Ihren Anforderungen.
-
Erstellen oder bearbeiten Sie ein Sitzungsprofil. Navigieren Sie zu NetScaler Gateway > Richtlinien > Sitzung.
-
Legen Sie auf der Registerkarte Sicherheit die Standardautorisierungsaktion auf ZULASSENfest. Oder Sie können Autorisierungsrichtlinien verwenden, um den Zugriff zu steuern.
-
Wählen Sie auf der Registerkarte Remotedesktop das RDP-Clientprofil aus, das Sie zuvor erstellt haben.
-
Wenn Sie Lesezeichen verwenden möchten, setzen Sie auf der Registerkarte Client ExperienceClientless Accessauf On.
-
Stellen Sie auf der Registerkarte Published Applications sicher, dass der ICA-Proxy AUSist.
-
Ändern oder erstellen Sie Ihren virtuellen Gateway-Server.
-
Klicken Sie im Abschnitt Grundeinstellungen auf Mehr.
-
Verwenden Sie die RDP-Serverprofilliste, um das zuvor erstellte RDP-Serverprofil auszuwählen.
-
Scrolle nach unten. Stellen Sie sicher, dass “ Nur ICA “ nicht aktiviert ist.
-
Binden Sie ein Zertifikat.
-
Binden Sie Authentifizierungsrichtlinien.
-
Binden Sie die Sitzungsrichtlinie/das Sitzungsprofil, für das das RDP-Clientprofil konfiguriert ist
-
Sie können Lesezeichen entweder an den virtuellen NetScaler Gateway-Server oder an eine Authentifizierungs-, Autorisierungs- und Überwachungsgruppe binden. Um an den virtuellen NetScaler Gateway-Server zu binden, klicken Sie rechts im Abschnitt Erweiterte Einstellungen auf Veröffentlichte Anwendungen.
-
Klicken Sie links im Abschnitt Veröffentlichte Anwendungen auf Keine URL.
-
Binde deine Lesezeichen.
-
Da Only ICA für diesen virtuellen NetScaler Gateway-Server nicht angegeben ist, stellen Sie sicher, dass Ihre NetScaler Gateway Universal-Lizenzen korrekt konfiguriert sind. Erweitern Sie auf der linken Seite NetScaler Gateway und klicken Sie auf Globale Einstellungen.
-
Klicken Sie rechts auf AAA-Einstellungen für Authentifizierung ändern.
-
Ändern Sie die maximale Anzahl von Benutzern auf Ihr lizenziertes Limit.
-
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).
-
Wenn Sie die Kurznamen anstelle von FQDNs verwenden möchten, fügen Sie ein DNS-Suffix hinzu (Traffic Management > DNS > DNS-Suffix).
-
Verbinden Sie sich mit Ihrem Gateway und melden Sie sich an.
-
Wenn Sie Lesezeichenkonfiguriert haben, klicken Sie auf das Lesezeichen.
-
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.
-
Öffne das
.rdp file
heruntergeladene -
Sie können die derzeit verbundenen Benutzer anzeigen, indem Sie zu NetScaler Gateway Policies > RDP gehen. Auf der rechten Seite ist die Registerkarte Verbindungen.
Option zum Deaktivieren von SSO
Die SSO-Funktion (Single Sign-On) mit RDP-Proxy kann durch Konfigurieren von NetScaler-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-->
In diesem Artikel
- Bereitstellung durch clientloses VPN
- Bereitstellung über ICA-Proxy
- Einzelheiten zur Durchsetzung
- Stateless (duale) Gateway-Kompatibilität
- Single-Gateway Kompatibilität
- Unterstützung für einen einzelnen Listener
- Lizenzanforderungen für RDP Proxy
- Lesezeichen
- RDP-Proxy-Konfigurationsschritte auf hoher Ebene
- RDP-Proxy-Konfiguration über die CLI
- RDP-Proxy-Konfiguration über die GUI
- Option zum Deaktivieren von SSO