Citrix Gateway

RDP 代理

通过 Citrix Gateway 的 RDP 代理概述和增强功能

以下 RDP 代理功能可通过 Citrix Gateway 访问远程桌面场:

  • 通过 CVPN 或 ICA 代理模式(无完整隧道)保护 RDP 流量。

  • 通过 Citrix Gateway 登录到 RDP 服务器的单次登录 (SSO)。如果需要,还提供了一个禁用 SSO 的选项)。

  • 强制 (SmartAccess) 功能,其中 Citrix ADC 管理员可以通过 Citrix Gateway 配置禁用某些 RDP 功能。

  • 满足所有需求的单/无状态(双)网关解决方案 (VPN/ICA/RDP/Citrix Endpoint Management)。

  • 与本机 Windows MSTSC 客户端的 RDP 兼容性,而无需任何自定义客户端。

  • 在 macOSX、iOS 和 Android 上使用 Microsoft 提供的现有 RDP 客户端。

部署概述

下图描述了部署的概述:

RDP 代理概述

RDP 代理功能作为 Citrix Gateway 的一部分提供。在典型部署中,RDP 客户端在远程用户的计算机上运行。Citrix Gateway 设备部署在 DMZ 内,RDP 服务器场位于内部企业网络中。远程用户连接到 Citrix Gateway 公有 IP 地址,建立 SSL VPN 连接,并对自己进行身份验证,之后该用户可以通过 Citrix Gateway 设备访问远程桌面。

在 CVPN 和 ICA 代理模式下支持 RDP 代理功能。

注意: Citrix Gateway 不支持远程桌面会话主机 (RDSH)/远程应用程序 /RDS 多用户 RDP 会话。

通过 CVPN 进行部署

在此模式下,RDP 链接将以书签形式在网关主页或门户网站上发布,通过“add vpn url”配置或通过外部门户网站。用户可以单击这些链接以访问远程桌面。

通过 ICA 代理进行部署

在此模式下,通过使用 wihome 参数在网关 VIP 上配置自定义主页。可以使用允许用户访问的远程桌面资源列表自定义此主页。此自定义页面可以托管在 Citrix ADC 上,如果是外部页面,则可以是现有网关门户页面中的 iFrame。

在任何一种模式下,用户单击已置备的 RDP 链接或图标后,相应资源的 HTTPS 请求到达 Citrix Gateway。网关为请求的连接生成 RDP 文件内容并将其推送到客户端。调用本机 RDP 客户端,并连接到网关上的 RDP 侦听器。网关通过支持强制 (SmartAccess) 对 RDP 服务器执行 SSO,其中 Gateway 根据 Citrix ADC 配置阻止客户端对某些 RDP 功能的访问,然后代理 RDP 客户端和服务器之间的 RDP 流量。

执行详细信息

Citrix ADC 管理员可以通过 Citrix Gateway 配置配置某些 RDP 功能。Citrix Gateway 为重要的 RDP 参数提供了“RDP 强制执行”功能。Citrix ADC 确保客户端无法启用阻止的参数。如果已启用阻止的参数,则 RDP 强制功能将取代启用客户端的参数,并且不支持这些参数。

支持强制执行的 RDP 参数

支持强制执行以下重定向参数。这些可作为 RDP 客户端配置文件的一部分进行配置。

  • 剪贴板的重定向

  • 打印机的重定向

  • 磁盘驱动器的重定向

  • COM 端口的重定向

  • pnp 设备的重定向

连接流程

连接流程可分为两个步骤:

  • RDP 资源枚举和 RDP 文件下载。

  • RDP 连接启动。

基于上述连接流程,有两种部署解决方案:

  • 无状态(双)网关解决方案-RDP 资源枚举和 RDP 文件下载通过身份验证器网关进行,但 RDP 连接启动通过 RDP 侦听器网关进行。

  • 单个网关解决方案-通过同一网关进行 RDP 资源枚举、RDP 文件下载和 RDP 连接启动。

无状态(双)网关兼容性

下图描述了部署情况:

双 Gateway 兼容性

  • 用户连接到身份验证器网关 VIP 并提供凭据。

  • 成功登录到网关后,用户将被重定向到主页或外部门户,该门户将枚举用户可以访问的远程桌面资源。

  • 用户选择 RDP 资源后,身份验证器网关 VIP 将接收请求,格式为 https://vserver-vip/rdpproxy/rdptarget/listener,指示用户单击的已发布资源。此请求包含有关用户选择的 RDP 服务器的 IP 地址和端口的信息。

  • /rdpproxy/ 请求由身份验证器网关处理。由于用户已经通过身份验证,因此此请求附带有效的网关 cookie。

  • RDPTarget 和 RDP用户信息存储在 STA 服务器上,并生成 STA 票证。通过使用配置的预共享密钥对存储在 STA 服务器上的信息进行加密。身份验证器网关使用网关虚拟服务器上配置的 STA 服务器之一。

  • 在 /rdpproxy/ 请求中获得的“侦听器”信息作为“fulladdress”放入 .rdp 文件中,STA 票证(预先使用 STA AuthID)作为“loadbalanceinfo”放入 .rdp 文件中。

  • .rdp 文件被发送回客户端端点。

  • 本机 RDP 客户端启动并连接到 RDPListener 网关。它在初始数据包中发送 STA 票证。

    RDPListener 网关验证 STA 票证并获取 RDPs 目标和 RDPs 用户信息。要使用的 STA 服务器通过使用负载均衡信息中存在的“AuthID”来检索。

单网关兼容性

下图描述了部署情况:

单 Gateway 兼容性

在单个网关部署的情况下,不需要 STA 服务器。身份验证器 Gateway 对 RDPTarget 和 Citrix ADC AAA 会话 cookie 进行安全编码,并将它们作为 .rdp 文件中的负载均衡信息发送。当 RDP 客户端在初始数据包中发送此令牌时,身份验证器网关将解码 RDPTarget 信息,查找会话并连接到 RDPTarget。

RDP 代理的许可证要求

高级版,高级版

注意: 只拥有网关平台许可证或仅拥有标准版的客户不可用 RDP 代理功能。

RDP 代理功能必须启用 RDP 代理才能工作。

enable feature rdpProxy
<!--NeedCopy-->

配置步骤

高级配置步骤如下所示:

  1. 启用此功能
  2. 在网关门户上创建书签或使用枚举 RDP 资源的自定义网关门户
  3. 配置 RDP 客户端配置文件
  4. 配置 RDP 服务器配置文件

启用所需的功能和模式

  • enable ns feature ssl

  • enable ns feature sslvpn

  • enable ns feature rdpproxy

  • 启用模式 usnip

创建书签

  1. 在门户页面上创建书签以访问 RDP 资源:(actualURL 以 rdp:// 开头)。

  2. Add vpn url <urlName> <linkName>  <actualURL>

    • URL 必须采用以下格式:rdp://<TargetIP:Port>
    • 对于无状态 RDP 代理模式,URL 必须采用以下格式:rdp://<TargetIP:Port>/<ListenerIP:Port>

    • 该 URL 以下列格式在门户上发布: https://<VPN-VIP>/rdpproxy/<TargetIP:Port> https://<VPN-VIP>/rdpproxy/<TargetIP:Port>/<ListenerIP:Port>
  3. 将书签绑定到用户、组、VPN 虚拟服务器或 VPN 全局。

配置客户端配置文件

在身份验证器网关上配置客户端配置文件。以下是一个示例配置:

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-->

将 RDP 客户端配置文件与 VPN 虚拟服务器关联。

这可以通过配置 sessionAction+sessionPolicy 或通过设置全局 vpn 参数来完成。

示例:

add vpn sessionaction <actname> -rdpClientprofile <rdpprofilename>

add vpn sessionpolicy <polname> NS_TRUE <actname>

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

set vpn parameter –rdpClientprofile <name>

配置服务器配置文件

在侦听器网关上配置服务器配置文件。

add rdpServer Profile <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>

rdpServer 配置文件必须在“VPN 虚拟服务器”上进行配置。

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

示例配置

示例配置

  • 启用所需的功能和模式

    • enable ns feature ssl

    • enable ns feature sslvpn

    • enable ns feature rdpproxy

    • 启用模式 usnip

  • 为具有目标信息的用户添加 VPN URL

     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-->
    
  • 为 VPN 连接配置 RDP 客户端和服务器配置文件

     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-->
    
  • 添加 SNIP 以便从 Citrix ADC 连接到目标

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

禁用 SSO 的选项

可以通过配置 Citrix ADC 流量策略来禁用具有 RDP 代理的 SSO(单点登录)功能,以便始终提示用户输入凭据。当 SSO 被禁用时,RDP 强制(SmartAccess)不起作用。

示例配置:

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

流量策略可以根据要求进行配置,以下是两个示例:

• 要为所有流量禁用 SSO,请执行以下操作:

add vpn trafficpolicy <TrafficPolicyName>  "url contains rdpproxy" <TrafficActionName>
<!--NeedCopy-->

• 基于源/目标IP/FQDN 禁用 SSO

add vpn trafficPolicy <TrafficPolicyName>  "REQ.HTTP.URL CONTAINS rdpproxy && REQ.IP.SOURCEIP == <IP/FQDN>" <TrafficActionName> bind vpnvserver rdp -policy <TrafficActionName>
<!--NeedCopy-->

支持单个监听器

  • 用于 RDP 和 SSL 流量的单个侦听器。

  • RDP 文件下载和 RDP 流量可以通过 Citrix ADC 上的相同 2 元组(即 IP 和端口)进行处理。

书签

通过门户网站生成 RDP 链接。无需为用户配置 RDP 链接或通过外部门户发布 RDP 链接,您可以通过提供 targerIP:Port 为用户提供生成自己的 URL 的选项。对于无状态 RDP 代理部署,管理员可以在 FQDN:端口格式中包含 RDP 侦听器信息,作为 RDP 客户端配置文件的一部分。这是在 rdpListener 选项下完成的。此配置用于在双网关模式下通过门户生成 RDP 链接。

书签

RDP 代理配置

执行以下操作来配置 RDP 代理:

  1. 展开 Citrix Gateway,展开 略,右键单击 RDP,然后单击 启用功能

    启用功能

  2. 点击左侧的 RDP。在右侧,切换到 客户端配置文件 选项卡,然后单击 添加

    创建客户端配置文件

  3. 为客户端配置文件指定一个名称,并根据需要对其进行配置。向下滚动

    为配置文件添加名称

  4. 在 RDP 主机字段中,输入解析为 RDP 代理侦听器的 FQDN,该侦听器通常与 Citrix Gateway 设备的 FQN 相同。

  5. 底部附近是一个预共享密钥。输入密码,然后单击 确定。你稍后需要这个。

    预共享密钥密码

  6. 为服务器配置文件指定一个名称。

  7. 输入要绑定的网关虚拟服务器的 IP 地址。

  8. 输入您为 RDP 客户端配置文件配置的相同预共享密钥。单击创建

    重新输入预共享密钥密码

  9. 如果要将 RDP 书签放在“无客户端访问”门户页面上,请在左侧展开 Citrix Gateway,展开“资源”,然后单击“书签”。

    添加书签

  10. 点击右侧的“添加”。

    添加书签 2

  11. 为书签指定一个名称。

  12. 对于 URL,请使用 IP 或 DNS 输入 rdp://MyRDPServer。

  13. 选中使用 Citrix Gateway 作为反向代理旁边的复选框,然后单击创建。

  14. 根据需要创建更多书签。

    添加多个书签

  15. 创建或编辑会话配置文件或策略。

  16. 在“安全”选项卡上,将“默认授权操作”设置为“允许”。或者,您可以使用授权策略来控制访问。

    设置默认身份验证操作

  17. 在“远程桌面”选项卡上,选择您之前创建的 RDP 客户端配置文件。

    选择 RDP 客户端配置文件

  18. 如果要使用书签,请在“客户端体验”选项卡上,将 无客户端访问 设置为“”。

    将无客户端访问设置为“开”

  19. 在“已发布的应用程序”选项卡上,确保 ICA 代理 处于 关闭状态

    将 ICA 代理设置为关闭

  20. 修改或创建网关虚拟服务器。

  21. 基本设置 部分,单击 更多

    设置基本设置

  22. 使用 RDP 服务器配置文件列表选择之前创建的 RDP 服务器配置文件。

    使用 RDP 服务器配置文件

  23. 向下滚动。确保未选中“仅 ICA”。

    仅将 ICA 设置为关闭

  24. 绑定证书。

  25. 绑定身份验证策略。

  26. 绑定配置了 RDP 客户端配置文件的会话策略/配置文件。

    绑定会话策略

  27. 您可以将书签绑定到 Citrix Gateway 虚拟服务器或 Citrix ADC AAA 组。要绑定到 Citrix Gateway 虚拟服务器,请在右侧的“高级设置”部分中单击“已发布的应用程序”。

    点击已发布的应用程序

  28. 在左侧的“已发布的应用程序”部分,单击 No Url

    设置无 URL

  29. 绑定您的书签。

    绑定书签

  30. 由于未为此 Citrix Gateway 虚拟服务器指定“仅 ICA”,因此请确保正确配置了 Citrix Gateway 通用许可证。在左侧,展开 Citrix Gateway,然后单击全局设置

    设置全局设置

  31. 单击右侧的 更改身份验证 AAA 设置

    更改 Citrix ADC AAA 设置

  32. 最大用户数 更改为您的许可限制。

    设置最大用户数

  33. 如果要使用 DNS 连接到 RDP 服务器,请确保在设备上配置了 DNS 服务器(流量管理 > DNS > 名称服务器)

    配置 DNS 服务器

  34. 如果要使用短名称而不是 FQDN,请添加 DNS 后缀(流量管理 > DNS > DNS 后缀)

    使用 FQDN

  35. 连接到您的网关并登录。

    连接到 Gateway

  36. 如果配置了 书签,请单击书

    点击书签

  37. 您可以将地址栏更改为 /rdpproxy/MyRDPServer。您可以输入一个 IP 地址(例如,一个 IP 地址 /192.168.1.50)或 DNS 名称(/rdpprox/ 我的服务器)。

    更改地址栏

  38. 打开下载的 .rdp 文件。

    下载 RDP 文件

  39. 您可以转到 Citrix Gateway 策略 > RDP 查看当前已连接的用户。右侧是“连接”选项卡。

    点击连接选项卡