Citrix网关

无状态的RDP代理

无状态RDP代理访问RDP主机。权限通过RDPListener当用户在单独的Citrix网关验证器上进行身份验证时,在Citrix网关上进行验证。要求的信息RDPListener为Citrix网关安全存储在STA服务器上。STA服务器可以放置在任何地方,只要Citrix Gateway和应用程序枚举服务器可以到达它。详情见,https://support.citrix.com/article/CTX101997

连接流

在RDP代理流中涉及到两个连接。第一个连接是用户到Citrix Gateway VIP的SSL VPN连接,并枚举RDP资源。

第二个连接是RDP客户端与Citrix Gateway上的RDP侦听器(使用rdpIP和rdpPort配置)的本地连接,以及后续RDP客户端安全地代理服务器报文。

连接流程图

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

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

  3. 一旦用户选择了RDP资源,一个请求就会被Authenticator Gateway VIP接收,其格式为https://AGVIP/rdpproxy/ip:port/rdptargetproxy指示用户单击的已发布资源。该请求包含用户选择的RDP服务器的IP和端口信息。

  4. 验证器网关处理/rdpproxy/请求。因为用户已经通过了身份验证,所以该请求附带一个有效的网关cookie。

  5. RDPTargetRDPUser信息存储在STA服务器上,并生成STA Ticket。信息存储为XML blob,可以使用配置的预共享密钥对其进行加密。如果是加密的,blob将使用base64编码并存储。Authenticator Gateway使用网关虚拟服务器上配置的STA服务器之一。

  6. XML blob的格式如下

    ipaddr\n Port n  Username \npwd\ 
  7. rdptargetproxy在/rdpproxy/ request中获得的fulladdress', STA票(预先加上STA AuthID)作为loadbalanceinfo在。rdpfile.

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

  9. 本机RDP客户端启动并连接到RDPListener网关.它在最初的x.224包中发送STA票据。

  10. RDPListener网关验证STA票据并获取RDPTargetRDPUser信息。的“AuthID”检索要使用的STA服务器loadbalanceinfo

  11. 创建Gateway会话用于存储授权/审计策略。如果用户的会话存在,那么它将被重用。

  12. RDPListener网关连接到RDPTarget使用CREDSSP进行单签。

先决条件

  • 用户在Citrix Gateway验证器上进行验证。

  • 初始/rdpproxy URL和RDP Client连接到不同的URLRDPListener Citrix网关

  • 使用STA服务器的认证网关安全通过RDPListener网关信息。

2 .通过命令行配置无状态RDP代理

  • 添加一个rdpServer概要文件。服务器配置文件在RDPListener网关

    注意:

    • 在VPN虚拟服务器上配置rdpServer配置文件后,rdpServer配置文件不可修改。同样的serverProfile不能在其他VPN虚拟服务器上重用。
    • 之前在VPN虚拟服务器上配置的rdpIP和rdpPort是rdpServerProfile的一部分。的rdp文件重命名为rdp ClientProfile并删除参数clientSSL。因此,之前的配置无法使用。
    add rdpServer Profile [profilename] -rdpIP [RDP监听器IPV4地址]-rdpPort[终止RDP客户端连接的端口]-psk[解密RDPTarget/RDPUser信息的key,使用STA时需要]。<!——NeedCopy >

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

    add vpn vserver v1 SSL [publicIP] [portforterminatingvpnconnections] -rdpServerProfile [rdpServer Profile] 

    重要的是:

    • 对于无状态RDP代理,STA服务器对RDP客户端发送的STA票据进行验证,以获得RDP代理RDPTarget / RDPUser信息。需要在绑定VPN虚拟服务器的同时绑定STA服务器。例如;
    add vpn url url4 RDP2 "rdp://1.1.1.0/1.1.1.2:443"——> here rdp is 1.1.1.0 and 1.1.1.2 is the virtual server 

rdp配置文件命令重命名为rdpClient配置文件并且有了新的参数。新增multiMonitorSupport命令。另外,还添加了一个配置自定义参数的选项,RDP客户端概要文件不支持这些参数。删除了clientSSL参数,因为连接始终是安全的。在验证方网关上配置客户端配置文件。

添加rdpClient概要文件<名称> -rdpHost <可选的FQDN RDP文件将作为“fulladdress”> [-rdpUrlOverride(启用|禁用)][-redirectClipboard(启用|禁用)][-redirectDrives(启用|禁用)][-redirectPrinters(启用|禁用)][-keyboardHook < keyboardHook >] [-audioCaptureMode(启用|禁用)[-videoPlaybackMode (ENABLE > DISABLE)] [-rdpCookieValidity ][-multiMonitorSupport (ENABLE | DISABLE)] [-rdpCustomParams ] 

-rdpHost配置用于单个网关部署。

  • 关联RDP Profile和VPN虚拟服务器。

可以通过配置sessionAction+sessionPolicy或者通过配置VPN全局参数来关联RDP配置文件。

例子:

add vpn sessionaction  -rdpClientprofile  add vpn sessionpolicy  NS_TRUE  bind vpn vserver < vserverame > -policy  -priority  

设置vpn参数-rdpClientprofile  

通过GUI界面配置无状态RDP代理

无状态RDP代理配置涉及以下高级步骤。具体步骤请参见RDP代理配置

  • 创建RDP服务器配置文件
  • 创建RDP客户端配置文件
  • 创建虚拟服务器
  • 创建一个书签
  • 创建或编辑会话配置文件或策略
  • 绑定一个书签

重要的是:

对于无状态RDP代理,除了绑定VPN虚拟服务器外,还需要绑定STA服务器。

连接计数器

添加了一个新的连接计数器ns_rdp_tot_curr_active_conn,它保存正在使用的活动连接数的记录。它可以被看作是nsconmsg命令。CLI命令查看这些计数器是计划以后添加的。

升级的笔记

之前在VPN虚拟服务器上配置的rdpIP和rdpPort是rdpServerProfile的一部分。的rdp文件重命名为rdp ClientProfile并删除参数clientSSL。因此,之前的配置无法使用。

无状态的RDP代理