RDP代理
RDP代理功能是作为Citrix网关的一部分提供的。在典型的部署中,RDP客户机在远程用户的机器上运行。Citrix Gateway设备部署在DMZ中,RDP服务器场部署在内部公司网络中。
远程用户;
- 连接到Citrix网关的公网IP地址
- 建立SSL VPN连接
- 进行身份验证
- 通过Citrix网关设备访问远程桌面
无客户端VPN和ICA Proxy方式均支持RDP-proxy特性。
注意:
Citrix网关不支持RDSH (Remote Desktop Session Host)、Remote App、RDS多用户、RDP会话。
以下RDP代理特性提供了通过Citrix网关访问远程桌面场的功能。
通过无客户端VPN或ICA Proxy方式(不支持全隧道)保护RDP流量。
通过Citrix Gateway单点登录到RDP服务器。如果需要,还提供了禁用SSO的选项。
强制(SmartAccess)功能,Citrix ADC管理员可以通过Citrix Gateway配置禁用某些RDP功能。
单/无状态(双)网关解决方案,满足所有需求(VPN/ICA/RDP/Citrix端点管理)。
兼容本地Windows MSTSC客户端的RDP,无需任何自定义客户端。
在MACOSX、iOS和Android上使用现有的微软提供的RDP客户端。
部署示意图如下图所示:
通过无客户端VPN部署
在这种模式下,RDP链接通过网关的主页或门户网站作为书签发布添加VPN url
配置或通过外部门户。用户可以单击这些链接来访问远程桌面。
通过ICA代理部署
在网关VIP上配置自定义首页wihome
参数。该主页可以自定义为允许用户访问的远程桌面资源列表。这个自定义页面可以托管在Citrix ADC上,或者如果是外部的,它可以是现有Gateway门户页面中的iFrame。
在这两种模式下,用户单击预置的RDP链接或图标后,对应资源的HTTPS请求都会到达Citrix网关。网关为请求的连接生成RDP文件内容,并将其推送到客户端。调用本机RDP客户端,并连接到Gateway上的RDP侦听器。网关通过支持强制(SmartAccess)向RDP服务器进行SSO。网关根据Citrix ADC的配置,阻止客户端访问某些RDP特性,然后在RDP客户端和服务器之间代理RDP流量。
执行细节
Citrix ADC管理员可以通过配置Citrix网关配置部分RDP功能。Citrix Gateway为重要的RDP参数提供了“RDP强制”功能。Citrix ADC确保客户端不能启用被阻塞的参数。如果阻塞的参数被启用,RDP强制特性将取代启用客户端的参数,并且它们不会被执行。
重要的是:强制特性仅在启用单点登录时生效。
支持用于强制执行的RDP参数
支持以下重定向参数的强制执行。这些参数可以作为RDP客户端配置文件的一部分进行配置。
剪贴板重定向
打印机重定向
磁盘驱动器重定向
COM端口重定向
PNP设备重定向
连接流
连接流程可分为两个步骤:
- RDP资源枚举和RDP文件下载。
- 启动RDP连接。
根据上述连接流程,有两种部署方案:
无状态(双)网关解决方案——RDP资源枚举和RDP文件下载通过认证网关进行,而RDP连接启动通过RDP侦听器网关进行。
单网关解决方案——RDP资源枚举、RDP文件下载和RDP连接启动都通过同一个网关进行。
无状态(双)网关兼容性
部署示意图如下图所示:
用户连接到认证网关VIP并提供凭据。
成功登录网关后,用户将被重定向到主页或外部门户,其中列举了用户可以访问的远程桌面资源。
一旦用户选择了RDP资源,Authenticator Gateway VIP就会接收到该格式的请求
https://vserver-vip/rdpproxy/rdptarget/listener
用户单击的已发布资源。该请求包含用户选择的RDP服务器的IP地址和端口信息。Authenticator Gateway处理/rdpproxy/请求。因为用户已经通过了身份验证,所以该请求带有一个有效的Gateway cookie。
的
RDPTarget
和RDPUser
信息保存在STA服务器上,生成STA Ticket。存储在STA服务器上的信息使用配置的预共享密钥进行加密。认证网关使用网关虚拟服务器上配置的STA服务器之一。在/rdpproxy/请求中获得的' Listener '信息被放入
.rdp文件
作为“fulladdress
,然后将STA票证(预先附带STA AuthID)放入.rdp文件
作为“loadbalanceinfo
。”的
.rdp文件
发送回客户端端点。本地RDP客户端启动并连接到
RDPListener网关
。它在初始数据包中发送STA票证。的
RDPListener
网关验证STA票证并获得RDPTarget
和RDPUser
信息。中提供的“AuthID”来检索要使用的STA服务器loadbalanceinfo
。创建网关会话用于存储授权/审计策略。如果该用户存在会话,则该会话将被重用。
的
RDPListener
网关连接到RDPTarget
并使用CREDSSP进行单点登录。
重要的是:
- 对于无状态的RDP代理,STA服务器验证RDP客户端发送的STA票证,以获得RDP代理的状态
RDPTarget / RDPUser
信息。除了VPN虚拟服务器外,还需要绑定STA服务器。
单网关兼容性
部署示意图如下图所示:
重要的是:
在单网关部署的情况下,不需要STA服务器。验证方网关对
RDPTarget
和Citrix身份验证、授权和审计会话cookie安全地发送loadbalanceinfo
在.rdp文件
。当RDP客户端在初始数据包中发送此令牌时,验证器网关将对该令牌进行解码RDPTarget
信息,查找会话,并连接到RDPTarget
。
支持单个监听器
RDP和SSL流量的单一侦听器。
可以通过Citrix ADC设备上相同的2元组(即IP和端口)来处理RDP文件下载和RDP流量。
RDP代理的License要求
高级版,高级版
注意:
只有Gateway平台许可证或只有标准版的客户无法使用RDP代理功能。
可以使用以下命令开启RDP代理功能。
启用功能rdpProxy
书签
通过Portal生成RDP链路。不需要为用户配置RDP链接或通过外部门户发布RDP链接,您可以通过提供以下选项,让用户生成自己的urltargerIP:端口
。对于无状态RDP-proxy部署,管理员可以将FQDN: Port格式的RDP监听器信息作为RDP Client Profile的一部分。这是在rdpListener
选择。该配置用于双网关模式下通过门户生成RDP链路。
创建书签
在门户页面上创建书签以访问RDP资源:(实际url以
rdp
: / /)。添加VPN url
- URL格式如下:
rdp: / / < TargetIP:端口>
。 对于无状态RDP代理方式,URL必须是以下格式:
rdp: / / < TargetIP: Port > / < ListenerIP:端口>
- 网址以以下格式发布在门户网站上:
https:// < VPN-VIP > / rdpproxy / < TargetIP:端口>
https:// < VPN-VIP > / rdpproxy / < TargetIP: Port > / < ListenerIP:端口>
- URL格式如下:
将书签绑定到用户、组、VPN虚拟服务器或VPN全局。
RDP代理需要启用的功能和模式
-启用ns feature SSL -启用ns feature SSLVPN -启用ns feature rdpproxy -启用模式usnip
RDP代理高级配置步骤
以下高级步骤涉及无状态RDP代理配置。
- 创建RDP服务器配置文件
- 创建RDP客户端配置文件
- 创建并绑定虚拟服务器
- 创建书签
- 创建或编辑会话配置文件或策略
- 装订书签
配置客户端配置文件
在验证方网关上配置客户端配置文件。下面是一个配置示例:
添加rdpClient概要文件<名称> [-addUserNameInRdpFile(是的|不)][-audioCaptureMode(启用|禁用)][-keyboardHook < keyboardHook >] [-multiMonitorSupport(启用|禁用)][相移键控<字符串>][-rdpCookieValidity < positive_integer >] [-rdpCustomParams <字符串>][-rdpFileName <字符串>][-rdpHost <可选的FQDN将RDP文件中的“fulladdress >] [-rdpUrlOverride(启用|禁用)][-redirectClipboard(启用|禁用)][-redirectComPorts(启用|禁用)[-redirectDrives (ENABLE | DISABLE)] [-redirectPnpDevices (ENABLE | DISABLE)] [-redirectPrinters (ENABLE | DISABLE)] [-videoPlaybackMode (ENABLE | DISABLE)]
关联RDP客户端配置文件和VPN虚拟服务器。
这可以通过配置sessionAction+sessionPolicy或设置全局VPN参数来实现。
例子:
add vpn sessionaction -rdpClientprofile add vpn sessionpolicy NS_TRUE bind vpn vserver -policy -priority
或
设置vpn参数-rdpClientprofile
配置服务器配置文件
在侦听器网关上配置服务器配置文件。
添加rdpServer配置文件 -rdpIP < RDP监听器的IPV4地址> -rdpPort <终止RDP客户端连接的端口> -psk <解密RDPTarget/RDPUser信息的密钥,使用STA时需要> '
rdpServer配置文件必须在VPN虚拟服务器上配置。
添加vpn vserver v1 SSL -rdpServerProfile '
通过命令行配置RDP代理
下面是一个使用命令行配置RDP代理的示例。
为目标信息的用户添加VPN URL。
添加aaa用户Administrator -password freebsd123$%^ add vpn url rdp RdpLink rdp://rdpserverinfo添加dns address rdpserverinfo 10.102.147.132绑定aaa用户Administrator -urlName rdp
配置VPN连接的RDP客户端和服务器配置文件。
add rdp clientprofile p1 -psk citrix -redirectClipboard ENABLE添加rdpserverprofile p1 -rdpIP 10.102.147.134 -psk citrix添加vpn vserver mygateway SSL 10.102.147.134 443 -rdpserverprofile p1设置vpn参数-clientlessVpnMode ON -defaultAuthorizationAction允许-rdpClientProfileName p1添加SSL certKey gatewaykey -cert rdp_rootcert。ssl vserver mygateway -certkeyName gatewaykey
ADD SNIP用于从Citrix ADC连接到目标。
add ns ip 10.102.147.135 255.255.255.0 -type SNIP
使用GUI配置RDP代理
导航到Citrix网关>策略,右键单击RDP,并按使功能。
在导航窗格中单击RDP。在右侧选择客户端配置文件选项卡并单击添加。
为客户端概要文件输入一个名称并进行配置。
在RDP Host字段中,输入解析到RDP代理侦听器的FQDN,该FQDN通常与Citrix Gateway设备的FDQN相同。
在预共享密钥,输入密码,单击好吧。
输入服务器概要文件名称。
输入要绑定此配置文件的网关虚拟服务器的IP地址。
输入您为RDP客户端配置文件配置的相同的预共享密钥。点击创建。
如果要在左侧的Clientless Access门户页面上添加RDP书签,请展开Citrix网关,扩大资源,并按书签。
在右侧单击添加。
给Bookmark起一个名字。
URL输入rdp://MyRDPServer使用IP或DNS。
选择使用Citrix网关作为反向代理并点击创建。
根据需要创建书签。
创建或编辑会话配置文件。导航到Citrix网关>策略>会话。
在“安全性”选项卡上设置默认授权动作来允许。或者您可以使用授权策略来控制访问。
在Remote Desktop选项卡上,选择前面创建的RDP客户端配置文件。
如果你想使用书签,在客户体验选项卡,设置Clientless访问来在。
在发布应用程序选项卡,确保“ICA Proxy”是从。
修改或创建网关虚拟服务器。
在基本设置部分中,点击更多的。
使用RDP服务器配置文件列表选择前面创建的RDP服务器配置文件。
向下滚动。确保ICA只未被选中。
绑定证书
绑定认证策略。
绑定配置了RDP客户端配置文件的会话策略/配置文件。
您可以将书签绑定到Citrix Gateway虚拟服务器或身份验证、授权和审计组。如果需要绑定Citrix网关虚拟服务器,请在右侧的“高级设置”区域单击发布应用程序。
在左边,在发布应用程序部分中,点击没有网址。
绑定你的书签。
由于没有为此Citrix Gateway虚拟服务器指定ICA Only,因此请确保正确配置了Citrix Gateway Universal许可证。在左边,展开Citrix网关并点击全局设置。
在右侧单击更改身份验证AAA设置。
改变最大用户数到你的许可限度。
如果您希望使用DNS连接到RDP服务器,请确保在设备上配置了DNS服务器(流量管理> DNS >名称服务器。
如果您希望使用短名称而不是fqdn,请添加DNS后缀(流量管理> DNS > DNS后缀)。
连接到您的网关并登录。
如果你配置了书签,点击书签。
您可以将地址栏更改为/ rdpproxy MyRDPServer。可以输入IP地址(例如rdpproxy/192.168.1.50)或DNS名称(/rdpproxy/myserver)。
打开下载的
.rdp文件
。可通过执行查看当前连接的用户Citrix网关策略> RDP。右边是连接选项卡。
禁用SSO的选项
通过配置Citrix ADC流量策略,可以禁用RDP代理的SSO(单点登录)功能,以便始终提示用户输入凭据。当禁用SSO时,RDP强制(SmartAccess)不起作用。
例子:
add vpn trafficaction HTTP -SSO OFF
流量策略可以根据需要进行配置,举例如下:
禁用所有流量的单点登录。
add vpn trafficpolicy
"url包含rdpproxy" 禁用基于源/目的IP/FQDN的单点登录
add vpn trafficPolicy
"HTTP.REQ.URL.CONTAINS(\"rdpproxy\") && CLIENT.IP.SRC.EQ( )" bind vpnvserver rdp -policy -priority 10