Citrix网关

RDP代理

RDP代理功能作为Citrix Gateway的一部分提供。在典型的部署中,RDP客户端运行在远程用户的机器上。Citrix Gateway设备部署在DMZ中,RDP服务器场部署在企业内部网络中。

远程用户;

  1. 连接到Citrix Gateway的公网IP地址
  2. 建立SSL VPN连接
  3. 进行身份验证
  4. 通过Citrix Gateway设备访问远程桌面

RDP-proxy特性支持无客户端VPN和ICA Proxy两种方式。

注意:

Citrix Gateway不支持RDSH (Remote Desktop Session Host)、Remote App、RDS多用户或RDP会话。

以下RDP代理特性提供了通过Citrix Gateway访问远程桌面场的功能。

  • 通过无客户端VPN或ICA代理模式(没有Full Tunnel)确保RDP流量安全。

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

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

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

  • 兼容本地Windows MSTSC客户端用于RDP,无需任何自定义客户端。

  • MACOSX、iOS和Android上使用微软提供的现有RDP客户端。

部署概述如下图所示:

RDP代理概述

通过无客户端VPN部署

在此模式中,RDP链接作为书签通过添加VPN url配置或通过外部门户。用户可以单击这些链接来访问远程桌面。

ICA代理部署

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

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

执行细节

Citrix ADC管理员可以通过Citrix Gateway配置某些RDP功能。Citrix Gateway为重要的RDP参数提供了“RDP强制”特性。Citrix ADC确保客户端不能启用阻塞参数。如果启用了阻塞的参数,RDP强制特性将取代启用了客户端参数的参数,并且它们不会被使用。

重要的是:强制特性仅在启用SSO时才适用。

支持RDP参数实施

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

  • 重定向剪贴板

  • 打印机重定向

  • 磁盘驱动器重定向

  • COM端口重定向

  • PNP设备重定向

连接流

连接流程可分为两步:

  • RDP资源枚举和RDP文件下载。
  • 启动RDP连接。

根据上述连接流程,有两种部署方案:

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

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

无状态(双)网关兼容性

部署场景如下图所示:

双网关兼容性

  • 用户连接到Authenticator Gateway VIP并提供凭据。

  • 用户成功登录网关后,会被重定向到首页或外部门户,其中列举了用户可以访问的远程桌面资源。

  • 一旦用户选择了RDP资源,Authenticator Gateway VIP就会以该格式接收请求https://vserver-vip/rdpproxy/rdptarget/listener指示用户单击的已发布资源。该请求包含用户所选择的RDP服务器的IP地址和端口信息。

  • 验证方网关处理/rdpproxy/请求。因为用户已经通过了身份验证,所以这个请求带有一个有效的Gateway cookie。

  • RDPTarget而且RDPUser信息存储在STA服务器上,并生成STA Ticket。存储在STA服务器上的信息使用配置好的预共享密钥进行加密。验证方网关使用在网关虚拟服务器上配置的一个STA服务器。

  • 在/rdpproxy/ request中获得的' Listener '信息被放入.rdp文件作为“fulladdress,并将STA票证(预先挂载STA AuthID)放入.rdp文件作为“loadbalanceinfo.”

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

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

    RDPListener网关验证STA票证并获取RDPTarget而且RDPUser信息。中的“AuthID”检索要使用的STA服务器loadbalanceinfo

  • 创建网关会话用于存储授权/审计策略。如果用户存在会话,则重用该会话。

  • RDPListener网关连接到RDPTarget使用CREDSSP进行单点登录。

重要的是:

  • 对于无状态RDP代理,STA Server通过验证RDP客户端发送的STA票证来获取RDPTarget / RDPUser信息。在绑定VPN虚拟服务器的同时,还需要绑定STA服务器。

单网关兼容性

部署场景如下图所示:

单网关兼容性

重要的是:

单网关部署场景下,不需要STA服务器。验证方网关对RDPTarget和Citrix身份验证、授权和审计会话cookie,并将它们作为loadbalanceinfo.rdp文件.当RDP客户端在初始数据包中发送该令牌时,验证方网关将对该令牌进行解码RDPTarget信息,查找会话并连接到RDPTarget

支持单个监听器

  • RDP和SSL流量的单一监听器。

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

RDP Proxy的License要求

高级版,高级版

注意:

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

可以使用以下命令启用RDP代理功能。

启用rdpProxy 

书签

通过Portal生成RDP链路。无需为用户配置RDP链接或通过外部门户发布RDP链接,您可以为用户提供一个选项来生成他们自己的urltargerIP:端口.对于无状态RDP-proxy部署,管理员可以将FQDN: Port格式的RDP监听器信息作为RDP客户端配置文件的一部分。这是在rdpListener选择。此配置用于“双网关”模式下通过portal生成RDP链路。

书签

创建书签

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

  2. 添加VPN url

    • URL必须是如下格式:rdp: / / < TargetIP:端口>
    • 对于无状态RDP代理模式,URL格式如下:rdp: / / < TargetIP: Port > / < ListenerIP:端口>

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

RDP Proxy需要启用的特性和模式

- enable ns feature SSL - enable ns feature SSLVPN - enable ns feature rdpproxy - enable mode usnip 

RDP Proxy高级配置步骤

无状态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 < priitynumber > 

设置vpn参数-rdpClientprofile  

配置服务器概要文件

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

add rdpServer Profile  -rdpIP < RDP监听器的IPV4地址> -rdpPort <终止RDP客户端连接的端口> -psk  ' 

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

add vpn vserver v1 SSL   -rdpServerProfile  ' 

示例配置

命令行方式配置RDP Proxy

下面以命令行方式配置RDP Proxy为例。

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

    add aaa user Administrator -password freebsd123$%^ add vpn url rdp RdpLink rdp://rdpserverinfo add dns addresc rdpserverinfo 10.102.147.132 bind aaa user Administrator -urlName rdp 
  • 配置VPN连接的RDP客户端和服务端配置文件。

    add rdp clientprofile p1 -psk citrix -redirectClipboard ENABLE add rdpserverprofile 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。绑定ssl vserver mygateway——NeedCopy >
  • 添加从Citrix ADC到目标的连接的SNIP。

    add ns ip 10.102.147.135 255.255.255.0——NeedCopy >

界面方式配置RDP代理

  1. 导航到Citrix Gateway >策略,右键单击RDP,并单击使功能

  2. 2 .在导航区单击“RDP”。在右侧,选择客户端配置文件选择并单击添加

  3. 为客户端概要文件输入一个名称并配置它。

    为概要文件添加名称

  4. 在RDP Host字段中,输入解析为RDP Proxy侦听器的FQDN,该FQDN通常与Citrix Gateway设备的FDQN相同。

  5. 预共享密钥,输入密码,单击好吧

    预共享密钥密码

  6. 输入服务器概要文件名称。

  7. 输入要绑定此配置文件的网关虚拟服务器的IP地址。

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

    重新输入预共享密钥密码

  9. 如果要在无客户端访问门户页面上添加RDP书签,请在左侧展开Citrix网关,扩大资源,并单击书签

  10. 在右侧,单击添加

  11. 给书签起一个名字。

  12. 对于URL,输入rdp://MyRDPServer using IP or DNS

  13. 选择使用Citrix网关作为反向代理并点击创建

  14. 根据您的需求创建书签。

    添加多个书签

  15. 创建或编辑会话概要文件。导航到Citrix Gateway > Policies > Session

  16. 在Security选项卡上,设置缺省授权动作允许.或者您可以使用授权策略来控制访问。

    设置默认认证动作

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

    选择RDP客户端配置文件

  18. 如果要使用书签,请在客户体验选项卡,设置Clientless访问

    将无客户端访问设置为On

  19. 发布应用程序选项卡,确保ICA Proxy为

    “ICA Proxy”设置为“OFF”

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

  21. 基本设置部分中,点击更多的

    设置基本设置

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

    使用RDP服务器配置文件

  23. 向下滚动。确保ICA只未选中。

    仅将ICA设置为关闭

  24. 绑定证书。

  25. 绑定认证策略。

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

    绑定会话策略

  27. 可以将书签绑定到Citrix Gateway虚拟服务器,也可以绑定到身份验证、授权和审核组。如果需要绑定Citrix Gateway虚拟服务器,请在右侧的“高级设置”区域单击发布应用程序

    点击已发布的应用

  28. 在左边,在发布应用程序部分中,点击没有网址

    设置无URL

  29. 装订书签。

    绑定的书签

  30. 因为没有为这个Citrix Gateway虚拟服务器指定ICA Only,所以请确保正确配置了Citrix Gateway Universal许可证。在左侧,展开Citrix网关并点击全局设置

    设置全局设置

  31. 在右侧,单击更改认证AAA设置

    更改身份验证设置

  32. 改变最大用户数到你许可的限度。

    设置最大用户数

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

    配置DNS服务器

  34. 如果要使用短名称而不是fqdn,请添加DNS后缀(Traffic Management > DNS > DNS后缀)

    使用的fqdn

  35. 连接到网关并登录。

    连接到网关

  36. 如果你配置了书签,按书签

    单击书签

  37. 您可以将地址栏更改为/ rdpproxy MyRDPServer.可输入IP地址(例如rdpproxy/192.168.1.50)或DNS名称(/rdpproxy/myserver)。

    更改地址栏

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

    下载RDP文件

  39. 您可以通过转查看当前已连接的用户Citrix Gateway Policies > RDP。右边是连接选项卡。

    单击连接选项卡

禁用SSO的选项

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

例子:

add vpn traffic  HTTP -SSO OFF 

流量策略可以根据需要进行配置,举例如下:

  • 禁用所有流量的单点登录。

    add vpn trafficpolicy  "url contains rdpproxy"  
  • 关闭基于源/目的IP/FQDN的单点登录

    add vpn trafficPolicy  "HTTP.REQ.URL.CONTAINS(\"rdpproxy\") && CLIENT.IP.SRC.EQ()" bind vpnvserver rdp -policy  -priority 10