Citrix Gateway

Proxy RDP sin estado

El proxy RDP sin estado accede a un host RDP. El acceso se concede a través de RDPListener en Citrix Gateway cuando el usuario se autentica en un Citrix Gateway Authenticator independiente. La información requerida RDPListener por Citrix Gateway se almacena de forma segura en un servidor STA. Un servidor STA se puede colocar en cualquier lugar siempre que Citrix Gateway y los servidores de enumeración de aplicaciones puedan llegar a él. Para obtener más información, consulte https://support.citrix.com/article/CTX101997.

Flujo de conexión

Hay dos conexiones involucradas en el flujo del proxy RDP. La primera conexión es la conexión VPN SSL del usuario con el VIP de Citrix Gateway y la enumeración de los recursos RDP.

La segunda conexión es la conexión del cliente RDP nativo con el listener RDP (configurado mediante RDPIP y RDPport) en Citrix Gateway, y la subsiguiente transmisión del cliente RDP a los paquetes del servidor de forma segura.

diagrama de flujo de conexión

  1. El usuario se conecta a la VIP de puerta de enlace de autenticación y proporciona las credenciales.

  2. Tras iniciar sesión correctamente en la puerta de enlace, se redirige al usuario a la página de inicio/portal externo, que enumera los recursos de escritorio remoto a los que puede acceder el usuario.

  3. Una vez que el usuario selecciona un recurso RDP, el VIP de Authenticator Gateway recibe una solicitud en el formato que https://AGVIP/rdpproxy/ip:port/rdptargetproxy indica el recurso publicado en el que el usuario ha hecho clic. Esta solicitud contiene la información sobre la IP y el puerto del servidor RDP que el usuario ha seleccionado.

  4. La puerta de enlace del autenticador procesa la solicitud /rdpproxy/. Dado que el usuario ya está autenticado, esta solicitud incluye una cookie de puerta de enlace válida.

  5. La información de RDPTarget y RDPUser se almacena en el servidor STA y se genera un tíquet STA. La información se almacena como un blob XML que se cifra opcionalmente mediante la clave previamente compartida configurada. Si se cifra, el blob se codifica y almacena en base64. La puerta de enlace de autenticación utiliza uno de los servidores STA configurados en el servidor virtual de puerta de enlace.

  6. El blob XML tiene el siguiente formato

    <Value name=”IPAddress”>ipaddr</Value>\n<Value name=”Port”>port</Value>n
    
    <Value name=”`Username`”>username</Value>\n<Value name=”Password”>pwd</Value>
    <!--NeedCopy-->
    
  7. El rdptargetproxy obtenido en la solicitud /rdpproxy/ se coloca como “fulladdress” y el tíquet STA (predefinido con el AuthID de STA) se coloca como loadbalanceinfo en el archivo RDP.

  8. El archivo .rdp se devuelve al punto final del cliente.

  9. El cliente RDP nativo se inicia y se conecta al RDPListener Gateway. Envía el tíquet STA en el paquete x.224 inicial.

  10. RDPListener Gateway valida el tíquet STA y obtiene la información de RDPTarget y RDPUser. El servidor STA que se va a utilizar se recupera mediante el ‘authID’ presente en el loadbalanceinfo.

  11. Se crea una sesión de puerta de enlace para almacenar directivas de autorización/auditoría. Si existe una sesión para el usuario, se reutiliza.

  12. RDPListener Gateway se conecta a RDPTarget e inicia sesión con SSO mediante CREDSSP.

Requisitos previos

  • El usuario se autentica en el autenticador de Citrix Gateway.

  • La URL /rdpproxy inicial y el cliente RDP están conectados a otro RDPListener Citrix Gateway.

  • La puerta de enlace de autenticación que utiliza un servidor STA transmite la información de RDPListener Gateway de forma segura.

Configurar proxy RDP sin estado mediante la CLI

  • Agrega un perfil rdpServer. El perfil del servidor está configurado en RDPListener Gateway.

    Nota:

    • Una vez configurado el perfil de RDPServer en el servidor virtual VPN, no se puede modificar. Además, el mismo ServerProfile no se puede reutilizar en otro servidor virtual VPN.
    • El RDPIP y el RDPport, que se configuraron previamente en el servidor virtual VPN, forman parte del RDPServerProfile. rdp Profile cambia de nombre a rdp ClientProfile y se elimina el parámetro clientSSL. Por lo tanto, la configuración anterior no funciona.
     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].
     <!--NeedCopy-->
    

    El perfil RDPServer se configura en el servidor virtual VPN mediante el siguiente comando:

     add vpn vserver v1 SSL [publicIP] [portforterminatingvpnconnections] -rdpServerProfile [rdpServer Profile]
     <!--NeedCopy-->
    

    Importante:

    • Para el proxy RDP sin estado, el servidor STA valida el tíquet STA, enviado por el cliente RDP, para obtener la información de RDPTarget/RDPUser. Debe enlazar el servidor STA además del servidor virtual VPN. Por ejemplo;
         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
     <!--NeedCopy-->
    

El comando rdp profile se renombra como rdpClient profile y tiene nuevos parámetros. Se ha agregado el comando MultiMonitorSupport. Además, se ha agregado una opción para configurar parámetros personalizados, que no son compatibles como parte del perfil de cliente RDP. Se ha eliminado el param clientSSL, ya que la conexión siempre está protegida. El perfil del cliente se configura en la puerta de enlace del autenticador.

add rdpClient profile <name> -rdpHost <optional FQDN that will be put in the RDP file as ‘fulladdress’> [-rdpUrlOverride ( ENABLE | DISABLE )] [-redirectClipboard ( ENABLE | DISABLE )] [-redirectDrives ( ENABLE | DISABLE )]

        [-redirectPrinters ( ENABLE | DISABLE )] [-keyboardHook <keyboardHook>] [-audioCaptureMode ( ENABLE | DISABLE )] [-videoPlaybackMode ( ENABLE | DISABLE )]

        [-rdpCookieValidity <positive_integer>][-multiMonitorSupport ( ENABLE | DISABLE )] [-rdpCustomParams <string>]
<!--NeedCopy-->

La configuración —RDPhost se utiliza en una única implementación de puerta de enlace.

  • Asocie el perfil RDP al servidor virtual VPN.

Puede asociar un perfil RDP configurando una SessionAction+SessionPolicy o estableciendo el parámetro VPN global.

Ejemplo:

add vpn sessionaction <actname> -rdpClientprofile <rdpprofilename>

add vpn sessionpolicy <polname> NS_TRUE <actname>

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

O BIEN:

set vpn parameter –rdpClientprofile <name>
<!--NeedCopy-->

Configurar el proxy RDP sin estado mediante la interfaz gráfica de usuario

Los siguientes pasos de alto nivel están implicados en la configuración del proxy RDP sin estado. Para ver los pasos detallados, consulte Configuración del proxy RDP.

  • Crear un perfil de servidor RDP
  • Creación de un perfil de cliente RDP
  • Crear un servidor virtual
  • Crear un marcador
  • Crear o modificar un perfil o una directiva de sesión
  • Enlazar un marcador

Importante:

Para el proxy RDP sin estado, debe enlazar un servidor STA además del servidor virtual VPN.

Contador de conexiones

Se ha agregado un nuevo contador de conexiones ns_rdp_tot_curr_active_conn, que mantiene el registro del número de conexiones activas en uso. Se puede ver como parte del comando nsconmsg en el shell de Citrix ADC. El comando CLI para ver estos contadores está previsto que se agregue más adelante.

Notas de la actualización

El RDPIP y el RDPport, que se configuraron previamente en el servidor virtual VPN, forman parte del RDPServerProfile. rdp Profile cambia de nombre a rdp ClientProfile y se elimina el parámetro clientSSL. Por lo tanto, la configuración anterior no funciona.

Proxy RDP sin estado