Linux Virtual Delivery Agent

Federated Authentication Service

Puedes usar el Federated Authentication Service (FAS) para autenticar a los usuarios que inician sesión en un VDA de Linux. El VDA de Linux usa el mismo entorno de Windows que el VDA de Windows para la función de inicio de sesión de FAS. Para obtener información sobre cómo configurar el entorno de Windows para FAS, consulta Federated Authentication Service. Este artículo proporciona información adicional específica para el VDA de Linux.

Nota:

  • El VDA de Linux no es compatible con la directiva Comportamiento en la sesión.

  • El VDA de Linux usa conexiones cortas para transmitir datos con los servidores FAS.

Distribuciones compatibles

FAS es compatible con distribuciones Linux y métodos de unión a dominio limitados. Consulta la siguiente matriz:

  Winbind SSSD Centrify PBIS Quest
Debian 12.12 Yes Yes Yes Yes Yes
Debian 13 Yes Yes Yes Yes No
RHEL 10/9.7/9.6/9.4 Yes Yes Yes No Yes
RHEL 8.10 Yes Yes Yes Yes Yes
Rocky Linux 10/9.7/9.6/9.4 Yes Yes Yes No Yes
Rocky Linux 8.10 Yes Yes Yes No Yes
SUSE 15.7 Yes Yes Yes No Yes
Ubuntu 24.04 Yes Yes Yes No Yes
Ubuntu 22.04 Yes Yes Yes Yes Yes

Nota:

  1. Si el método de unión a dominio es Quest, es posible que krb5.conf no exista. En tal caso, instala krb5-pkinit y libpam-krb5 manualmente primero (lo que solicitará información de Kerberos y la escribirá en krb5.conf), luego ejecuta el script de FAS /opt/Citrix/VDA/sbin/ctxfascfg.sh.

  2. Para RHEL 9 y Rocky 9, los clientes deben habilitar la política criptográfica “AD-SUPPORT” (SHA1 también puede ser necesario si lo usa AD durante la autenticación Kerberos). Comando a continuación:

    update-crypto-policies --set DEFAULT:AD-SUPPORT

    update-crypto-policies --set DEFAULT:AD-SUPPORT:SHA1

  3. Para Debian 11, los usuarios pueden necesitar configurar el método de resumen a ‘SHA256’ manualmente. Comando a continuación: /opt/Citrix/VDA/bin/ctxreg create -k “HKLM\Software\Citrix\VirtualDesktopAgent\Authentication\UserCredentialService” -t “REG_SZ” -v “DigestMethod” -d “SHA256” –force

Configurar FAS en el VDA de Linux

Instalar certificados

Para la verificación de los certificados de los usuarios, instala el certificado de CA raíz y todos los certificados intermedios en el VDA. Por ejemplo, para instalar el certificado de CA raíz, obtén el certificado raíz de AD del paso anterior Recuperar el certificado de CA de la CA de Microsoft (en AD), o descárgalo del servidor de CA raíz http://CA-SERVER/certsrv.

Nota:

Los siguientes comandos también se aplican a la configuración de un certificado intermedio.

Por ejemplo, para convertir un archivo DER (.crt, .cer, .der) a PEM, ejecuta un comando similar al siguiente:

sudo openssl x509 -inform der -in root.cer -out root.pem
<!--NeedCopy-->
  • Luego, instala el certificado de CA raíz en el directorio openssl ejecutando un comando similar al siguiente:
-  sudo cp root.pem /etc/pki/CA/certs/
<!--NeedCopy-->

Nota:

No coloques el certificado de CA raíz en la ruta /root. De lo contrario, FAS no tendrá permiso de lectura para el certificado de CA raíz.

Ejecutar ctxfascfg.sh

Ejecuta el script ctxfascfg.sh para configurar FAS:

sudo /opt/Citrix/VDA/sbin/ctxfascfg.sh
<!--NeedCopy-->

Puedes ejecutar ctxfascfg.sh en modo silencioso. Antes de ejecutar el script en modo silencioso, establece las siguientes variables de entorno:

  • CTX_FAS_ADINTEGRATIONWAY=winbind | sssd | centrify | pbis | quest: Indica el método de integración de Active Directory, que es igual a CTX_EASYINSTALL_ADINTEGRATIONWAY cuando se especifica CTX_EASYINSTALL_ADINTEGRATIONWAY. Si no se especifica CTX_EASYINSTALL_ADINTEGRATIONWAY, CTX_FAS_ADINTEGRATIONWAY usa su propia configuración de valor.

  • CTX_FAS_CERT_PATH =<certificate path>: Especifica la ruta completa que almacena el certificado raíz y todos los certificados intermedios.

  • CTX_FAS_KDC_HOSTNAME: Especifica el nombre de host del Centro de distribución de claves (KDC) cuando seleccionas PBIS y Quest.

  • CTX_FAS_PKINIT_KDC_HOSTNAME: Especifica el nombre de host del KDC de PKINIT, que es igual a CTX_FAS_KDC_HOSTNAME a menos que se especifique lo contrario. Si tienes varios Delivery Controllers, agrega los nombres de host de todos los KDC del dominio a pkinit_kdc_hostname en el archivo /etc/krb5.conf. Para obtener más información, consulta el artículo del Centro de conocimiento CTX322129.

  • CTX_FAS_SERVER_LIST=’list-fas-servers’ – Los servidores de Federated Authentication Service (FAS) se configuran a través de la Directiva de grupo de AD. Para obtener información sobre la configuración de la política de FAS en la GPO del dominio, consulta Configurar la Directiva de grupo. El VDA de Linux no es compatible con la Directiva de grupo de AD, pero puedes proporcionar una lista de servidores FAS separada por punto y coma. La secuencia debe ser la misma que la configurada en la Directiva de grupo de AD. Si se elimina alguna dirección de servidor, rellena su espacio en blanco con la cadena de texto ’<none>‘ y no modifiques el orden de las direcciones de los servidores. Para comunicarte correctamente con los servidores FAS, asegúrate de agregar un número de puerto coherente con el número de puerto especificado en los servidores FAS, por ejemplo, CTX_XDL_FAS_LIST='fas_server_1_url:port_number; fas_server_2_url: port_number; fas_server_3_url: port_number'.

    Para actualizar una instalación existente de Linux VDA, puedes ejecutar los siguientes comandos para configurar los servidores FAS y reiniciar el servicio ctxvda para que tu configuración surta efecto.

     -  sudo /opt/Citrix/VDA/bin/ctxreg create -k "HKLM\Software\Citrix\VirtualDesktopAgent\Authentication\UserCredentialService" -t "REG_SZ" -v "Addresses" -d "<Your-FAS-Server-List>" --force
    
     systemctl restart ctxjproxy
    
     -  systemctl restart ctxvda
    
     <!--NeedCopy-->
    

    Para actualizar los servidores FAS a través de ctxreg, ejecuta los siguientes comandos:

    
     sudo /opt/Citrix/VDA/bin/ctxreg update -k "HKLM\Software\Citrix\VirtualDesktopAgent\Authentication\UserCredentialService" -v "Addresses" -d "<Your-FAS-Server-List>"
    
     systemctl restart ctxjproxy
    
     systemctl restart ctxvda
    
     <!--NeedCopy-->
    

Elige el método de integración de Active Directory correcto y luego escribe la ruta correcta de los certificados (por ejemplo, /etc/pki/CA/certs/).

El script luego instala los paquetes krb5-pkinit y pam_krb5 y configura los archivos de configuración relevantes. Para RHEL 8 y versiones posteriores, como PAM_KRB5 se mueve al repositorio EPEL, el script intenta habilitar EPEL en esas distribuciones.

Deshabilitar FAS

Para deshabilitar FAS en el VDA de Linux, elimina todos los servidores FAS de ConfDB usando los siguientes comandos:

sudo /opt/Citrix/VDA/bin/ctxreg create -k "HKLM\Software\Citrix\VirtualDesktopAgent\Authentication\UserCredentialService" -t "REG_SZ" -v "Addresses" -d "" --force

systemctl restart ctxjproxy

systemctl restart ctxvda
<!--NeedCopy-->

Habilitar la autenticación secundaria para fallos de SSO de FAS

El VDA de Linux proporciona una resiliencia de inicio de sesión mejorada al ofrecer un método de autenticación secundario específicamente cuando falla el inicio de sesión único (SSO) de FAS. Con esta función, si el SSO de FAS encuentra problemas, se les pedirá a los usuarios que introduzcan manualmente sus credenciales para la autenticación con contraseña. Para habilitar la función, ejecuta el siguiente comando:

create -k "HKLM\System\CurrentControlSet\Control\Citrix\AccessControl\Login\Global" -t "REG_DWORD" -v "SecondaryAuthEnabled" -d "0x00000001" --force
<!--NeedCopy-->

Limitación

  • FAS aún no es compatible con la pantalla de bloqueo. Si haces clic en el botón de bloqueo en una sesión, no podrás volver a iniciar sesión en la sesión usando FAS.
  • Esta versión solo es compatible con las implementaciones comunes de FAS resumidas en el artículo Descripción general de la arquitectura de Federated Authentication Service y no incluye Windows 10 Azure AD Join.

Solución de problemas

Antes de solucionar problemas de FAS, asegúrate de que:

  • El VDA de Linux está instalado y configurado correctamente.
  • Se puede iniciar una sesión sin FAS correctamente en el almacén común usando la autenticación con contraseña.

Si las sesiones que no son FAS funcionan correctamente, establece el nivel de registro HDX de la clase Login en VERBOSE y el nivel de registro de VDA en TRACE. Para obtener información sobre cómo habilitar el registro de seguimiento para Linux VDA, consulta el artículo del Centro de conocimiento CTX220130.

También puedes usar la herramienta de Linux XDPing para comprobar si hay problemas de configuración comunes que puedan existir en tu entorno de Linux VDA.

Error de configuración del servidor FAS

No se puede iniciar una sesión desde el almacén de FAS.

Comprueba /var/log/xdl/hdx.log y busca el registro de errores similar al siguiente:

2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: validate_user: [Logon Type] Federated Authentication Logon.

2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: validate_fas: entry

2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: connect_fas: start connect to server 0

-  2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: connect_fas0: failed to connect: Connection refused.

2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: validate_fas: failed to connect to server [0], please confirm if fas service list is well configurated in condb

2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: validate_fas: exit, 43

2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: validate_user: failed to validate fas credential

2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: LoginBoxValidate: failed validation of user 'user1@CTXDEV.LOCAL', INVALID_PARAMETER

<!--NeedCopy-->

Solución

Ejecuta el siguiente comando para verificar que el valor del registro de Citrix “HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\VirtualDesktopAgent\Authentication\UserCredentialService” esté establecido en <Tu-Lista-de-Servidores-FAS>.

sudo /opt/Citrix/VDA/bin/ctxreg dump | grep "UserCredentialService"
<!--NeedCopy-->

Si la configuración existente es incorrecta, sigue el paso anterior Establecer servidores FAS para configurarlo de nuevo.

Configuración incorrecta del certificado de CA

No se puede iniciar una sesión desde el almacén de FAS. Aparece una ventana gris y desaparece varios segundos después.

Inicio de sesión no válido debido a una configuración incorrecta del certificado raíz de CA

Comprueba /var/log/xdl/hdx.log y busca el registro de errores similar al siguiente:

2021-01-28 01:47:46.210 <P30656:S5> citrix-ctxlogin: get_logon_certificate: entry

2021-01-28 01:47:46.210 <P30656:S5> citrix-ctxlogin: check_caller: current process: pid [30656], name [/opt/Citrix/VDA/bin/ctxlogin]

2021-01-28 01:47:46.210 <P30656:S5> citrix-ctxlogin: get_public_certificate: entry

2021-01-28 01:47:46.211 <P30656:S5> citrix-ctxlogin: query_fas: waiting for response...

2021-01-28 01:47:46.270 <P30656:S5> citrix-ctxlogin: query_fas: query to server success

2021-01-28 01:47:46.270 <P30656:S5> citrix-ctxlogin: get_public_certificate: exit

2021-01-28 01:47:46.270 <P30656:S5> citrix-ctxlogin: fas_base64_decode: input size 1888

2021-01-28 01:47:46.271 <P30656:S5> citrix-ctxlogin: fas_base64_decode: output size 1415

2021-01-28 01:47:46.271 <P30656:S5> citrix-ctxlogin: get_logon_certificate: get logon certificate success

2021-01-28 01:47:46.271 <P30656:S5> citrix-ctxlogin: cache_certificate: cache certificate success

2021-01-28 01:47:46.271 <P30656:S5> citrix-ctxlogin: get_logon_certificate: exit, 0

2021-01-28 01:47:48.060 <P30656:S5> citrix-ctxlogin: validate_user: pam_authenticate err,can retry for user user1@CTXDEV.LOCAL
<!--NeedCopy-->

Solución

Verifica que hayas configurado correctamente en /etc/krb5.conf la ruta completa que almacena el certificado raíz de CA y todos los certificados intermedios. La ruta completa es similar a la siguiente:


 [realms]

EXAMPLE.COM = {

    ......

    pkinit_anchors = DIR:/etc/pki/CA/certs/

    ......

}  
<!--NeedCopy-->

Si la configuración existente es incorrecta, sigue el paso anterior Instalar certificados para configurarlo de nuevo.

Alternativamente, comprueba si el certificado raíz de CA es válido.

Error de asignación de cuenta de sombra

FAS está configurado mediante autenticación SAML. El siguiente error puede ocurrir después de que un usuario de ADFS introduzca el nombre de usuario y la contraseña en la página de inicio de sesión de ADFS.

Error de asignación de cuenta de sombra

El error indica que:

  • El usuario de ADFS se ha verificado correctamente, pero no hay ningún usuario de sombra configurado en AD.

Solución

Configura la cuenta de sombra en AD.

ADFS no configurado

El siguiente error ocurre durante un intento de inicio de sesión en el almacén de FAS:

ADFS no configurado

El problema ocurre cuando configuras el almacén de FAS para usar la autenticación SAML, pero falta la implementación de ADFS.

Solución

Implementa el IdP de ADFS para el Servicio de autenticación federada. Para obtener más información, consulta Implementación de ADFS del Servicio de autenticación federada.

Información relacionada

Problemas conocidos

Cuando FAS está en uso, puedes fallar al intentar iniciar una sesión de escritorio o aplicación publicada con caracteres no ingleses.

Fallo al iniciar sesiones con caracteres no ingleses

Solución alternativa

Haz clic con el botón derecho en Administrar plantillas en la herramienta de CA para cambiar la plantilla Citrix_SmartcardLogon de Crear a partir de esta información de Active Directory a Suministrar en la solicitud:

La opción de suministrar en la solicitud