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 NetScaler Gateway cuando el usuario se autentica en un NetScaler Gateway Authenticator independiente. La información requerida RDPListener por NetScaler Gateway se almacena de forma segura en un servidor STA. Un servidor STA se puede colocar en cualquier lugar siempre que NetScaler 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 NetScaler 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 NetScaler 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 NetScaler 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.
     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-->
    

    Configure el perfil del servidor RDP en el servidor virtual VPN mediante el siguiente comando:

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

    Ejemplo

     add vpn vserver v1 SSL 1.1.1.1 443 -rdpServerProfile rdp_server_prof  
     <!--NeedCopy-->
    

    Importante:

    • El mismo servidor STA debe estar enlazado tanto a la puerta de enlace de autenticación RDP como a la puerta de enlace de escucha.

    • En el caso de un proxy RDP sin estado, el servidor STA valida el ticket STA enviado por el cliente RDP para obtener la información del usuario de RDP y del servidor de destino RDP. Debe enlazar el servidor STA además del servidor virtual VPN. En el siguiente ejemplo, el servidor de destino RDP es 1.1.1.0 y el servidor virtual RDP listener Gateway 1.1.1.2.

         add vpn url url4 RDP2 "rdp://1.1.1.0/1.1.1.2:443"
     <!--NeedCopy-->
    

Configure el perfil del cliente en la puerta de enlace del autenticador mediante el siguiente comando:

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. Solo pskes un argumento obligatorio y debe ser el mismo psk que se agrega al perfil del servidor RDP en la puerta de enlace del listener RDP.

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