Servicio de autenticación federada
Puede usar el Servicio de autenticación federada (FAS) para autenticar a los usuarios que inician sesión en un VDA de Linux. El VDA de Linux utiliza el mismo entorno de Windows que el VDA de Windows para la funcionalidad de inicio de sesión con FAS. Para obtener información sobre cómo configurar el entorno Windows para FAS, consulte Servicio de autenticación federada. Este artículo proporciona información adicional específica de Linux VDA.
Nota:
Linux VDA no admite la directiva In-session Behavior (Comportamiento durante la sesión).
Linux VDA usa conexiones cortas para la transmisión de datos con servidores de FAS.
A partir de la versión 2206, puede personalizar el puerto de FAS en el lado de Linux VDA mediante CTX_XDL_FAS_LIST, en ctxsetup.sh. Para obtener más información, consulte el artículo sobre la instalación de Linux VDA correspondiente a su distribución.
Distribuciones compatibles
FAS admite distribuciones de Linux limitadas y métodos de unión de dominios. Consulte la siguiente matriz:
Winbind | SSSD | Centrify | PBIS | |
---|---|---|---|---|
Amazon Linux 2 | Sí | Sí | Sí | Sí |
Debian 11.3 | Sí | Sí | Sí | Sí |
RHEL 9.2/9.0 | Sí | Sí | No | No |
RHEL 8.8/8.6 | Sí | Sí | Sí | Sí |
RHEL 7.9, CentOS 7.9 | Sí | Sí | Sí | Sí |
Rocky Linux 9.2/9.0 | Sí | Sí | No | No |
Rocky Linux 8.8/8.6 | Sí | Sí | No | No |
SUSE 15.4 | Sí | Sí | Sí | No |
Ubuntu 22.04/20.04 | Sí | Sí | Sí | Sí |
Configurar FAS en Linux VDA
Compatibilidad de FAS con RHEL 8.x/9.x y Rocky Linux 8.x/9.x
FAS depende del módulo pam_krb5, que se retiró en RHEL 8.x y Rocky Linux 8.x. Estos pasos son necesarios si quiere utilizar FAS en máquinas con RHEL 8.x y Rocky Linux 8.x que se entregan en modo de SO multisesión. Para FAS en máquinas con RHEL 8.x y Rocky Linux 8.x entregadas en modo de SO de sesión única (VDI), puede omitir estos pasos.
-
Descargue el código fuente pam_krb5-2.4.8-6 del siguiente sitio web:
https://centos.pkgs.org/7/centos-x86_64/pam_krb5-2.4.8-6.el7.x86_64.rpm.html.
-
Compile e instale el módulo pam_krb5 en RHEL 8.x y Rocky Linux 8.x.
yum install make gcc krb5-devel pam-devel autoconf libtool rpm2cpio pam_krb5-2.4.8-6.el7.src.rpm | cpio -div tar xvzf pam_krb5-2.4.8.tar.gz cd pam_krb5-2.4.8 ./configure --prefix=/usr make make install <!--NeedCopy-->
-
Compruebe que pam_krb5.so existe en /usr/lib64/security/.
ls -l /usr/lib64/security | grep pam_krb5 <!--NeedCopy-->
Configurar servidores de FAS
Para usar FAS en una instalación nueva de Linux VDA, escriba el FQDN de cada servidor de FAS cuando ejecute ctxinstall.sh o ctxsetup.sh.
Nota:
Los servidores de FAS se configuran mediante la directiva de grupo de AD. Para obtener información sobre la configuración de directivas de FAS en el GPO del dominio, consulte Configurar la directiva de grupo.
Como Linux VDA no admite las directivas de grupo de AD, en su lugar, se puede suministrar una lista de servidores de FAS, separados por punto y coma. Tenga en cuenta lo siguiente:
El orden de la lista debe ser el mismo que el configurado en la directiva de grupo de AD.
Si alguna dirección de servidor está eliminada, complete el espacio en blanco correspondiente con la cadena de texto <none> y no cambie el índice de las direcciones de servidor.
Para actualizar la versión de una instalación Linux VDA existente, puede ejecutar ctxsetup.sh
de nuevo y configurar los servidores de FAS. O puede ejecutar los siguientes comandos para configurar los servidores FAS y reiniciar el servicio ctxvda
para que los cambios surtan 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
service ctxjproxy restart
service ctxvda restart
<!--NeedCopy-->
Para actualizar los servidores FAS mediante ctxreg
, ejecute los siguientes comandos:
sudo /opt/Citrix/VDA/bin/ctxreg update -k "HKLM\Software\Citrix\VirtualDesktopAgent\Authentication\UserCredentialService" -v "Addresses" -d "<Your-FAS-Server-List>"
service ctxjproxy restart
service ctxvda restart
<!--NeedCopy-->
Instalación de certificados
Para verificar los certificados de los usuarios, instale el certificado raíz de CA y todos los certificados intermedios en el VDA. Por ejemplo, para instalar el certificado raíz de CA, obtenga el certificado raíz de AD del paso indicado Recuperar el certificado CA de la CA de Microsoft (en AD). También puede descargarlo en formato DER desde el servidor raíz de CA http://CA-SERVER/certsrv
.
Nota:
Los siguientes comandos también se aplican a la configuración de un certificado intermedio.
Puede ejecutar un comando similar al siguiente para convertir un archivo DER (.crt, .cer, .der) a PEM.
sudo openssl x509 -inform der -in root.cer -out root.pem
<!--NeedCopy-->
Luego, instale el certificado raíz de CA en el directorio openssl
ejecutando un comando similar al siguiente:
sudo cp root.pem /etc/pki/CA/certs/
<!--NeedCopy-->
Nota:
No coloque el certificado raíz de CA en la ruta /root. Si lo hace, FAS no tendrá el permiso de leer el certificado raíz de CA.
Ejecutar ctxfascfg.sh
Ejecute el script ctxfascfg.sh para configurar FAS:
sudo /opt/Citrix/VDA/sbin/ctxfascfg.sh
<!--NeedCopy-->
Se agregan variables de entorno para que ctxfascfg.sh
pueda ejecutarse en modo silencioso:
-
CTX_FAS_ADINTEGRATIONWAY=winbind | sssd | centrify | pbis: Indica el método de integración de Active Directory, que es
CTX_EASYINSTALL_ADINTEGRATIONWAY
cuando se especificaCTX_EASYINSTALL_ADINTEGRATIONWAY
. SiCTX_EASYINSTALL_ADINTEGRATIONWAY
no se especifica,CTX_FAS_ADINTEGRATIONWAY
usa su propio parámetro de valor. -
CTX_FAS_CERT_PATH =<certificate path>: Especifica la ruta completa donde se almacenan 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 selecciona PBIS.
-
CTX_FAS_PKINIT_KDC_HOSTNAME: Especifica el nombre de host de KDC PKINIT, que es igual a CTX_FAS_KDC_HOSTNAME a menos que se especifique lo contrario. Si tiene varios Delivery Controllers, agregue 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, consulte el artículo CTX322129 de Knowledge Center.
Elija el método apropiado de integración en Active Directory y escriba la ruta apropiada a los certificados (por ejemplo, /etc/pki/CA/certs/
).
El script instala los paquetes krb5-pkinit y pam_krb5, y establece los archivos de configuración relevantes.
Inhabilitar FAS
Para inhabilitar FAS en Linux VDA, quite todos los servidores de FAS de ConfDB con estos comandos:
sudo /opt/Citrix/VDA/bin/ctxreg create -k "HKLM\Software\Citrix\VirtualDesktopAgent\Authentication\UserCredentialService" -t "REG_SZ" -v "Addresses" -d "" --force
service ctxjproxy restart
service ctxvda restart
<!--NeedCopy-->
Limitación
- FAS aún no admite la pantalla de bloqueo. Si hace clic en el botón de bloqueo en una sesión, no podrá volver a iniciar la sesión mediante FAS.
- Esta versión admite solamente las implementaciones más frecuentes del servicio FAS, que se resumen en el artículo Introducción arquitectural al Servicio de autenticación federada, y no incluye Unión a Azure AD de Windows 10.
Solución de problemas
Antes de solucionar problemas en FAS, compruebe que Linux VDA esté instalado y configurado correctamente y que puedan iniciarse sesiones que no sean de FAS en el almacén común mediante la autenticación con contraseña.
Si las sesiones que no sean FAS funcionan correctamente, defina el nivel de registro de HDX de la clase Login en VERBOSE y el nivel de registro del VDA en TRACE. Para obtener información sobre la habilitación del registro de seguimiento para Linux VDA, consulte el artículo CTX220130 de Knowledge Center.
También puede utilizar la herramienta XDPing de Linux para comprobar si hay problemas de configuración comunes que puedan existir en el entorno de su Linux VDA. Para obtener más información, consulte XDPing.
Error de configuración en el servidor FAS
No se puede iniciar ninguna sesión desde el almacén de FAS.
Consulte /var/log/xdl/hdx.log y busque 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
Ejecute el siguiente comando para verificar que el valor de Registro de Citrix “HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\VirtualDesktopAgent\Authentication\UserCredentialService” está establecido en <La-lista-de-servidores-de-FAS>.
sudo /opt/Citrix/VDA/bin/ctxreg dump | grep "UserCredentialService"
<!--NeedCopy-->
Si la configuración existente no es correcta, siga el anterior paso Configurar servidores FAS para definirla nuevamente.
Configuración incorrecta del certificado de CA
No se puede iniciar ninguna sesión desde el almacén de FAS. Aparece una ventana gris que desaparece varios segundos después.
Consulte /var/log/xdl/hdx.log y busque 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
Compruebe que se ha configurado correctamente en /etc/krb5.conf
la ruta completa que almacena el certificado de CA raíz y todos los certificados intermedios. La ruta completa será parecida a esta:
[realms]
EXAMPLE.COM = {
......
pkinit_anchors = DIR:/etc/pki/CA/certs/
......
}
<!--NeedCopy-->
Si la configuración existente no es correcta, siga el paso anterior Instalar certificados para definirla nuevamente.
Como alternativa, compruebe si el certificado raíz de CA es válido.
Error en la asignación de cuentas sombra
FAS está configurado con la autenticación SAML. Puede ocurrir el siguiente error 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.
Este error indica que el usuario de ADFS se ha verificado correctamente, pero no hay ningún usuario sombra configurado en AD.
Solución
Establezca la cuenta sombra en AD.
ADFS no configurado
Durante el inicio de sesión en el almacén de FAS, ocurre el siguiente error:
El problema se produce cuando configura el almacén FAS para usar la autenticación SAML pero falta la implementación de ADFS.
Solución
Implemente el proveedor de identidades de ADFS para el Servicio de autenticación federada. Para obtener más información, consulte el artículo Implementación ADFS del Servicio de autenticación federada.
Información relacionada
- Las implementaciones más comunes del servicio FAS se resumen en el artículo Información general arquitectural del Servicio de autenticación federada.
- Los artículos de procedimientos se presentan en el capítulo Configuración avanzada del Servicio de autenticación federada.
Problemas conocidos
Cuando se usa FAS, puede que fallen los inicios de una sesión de aplicación o escritorio publicados si se usan caracteres que no sean en inglés.
Solución temporal
En la herramienta de CA, haga clic con el botón secundario en Manage Templates para cambiar la plantilla Citrix_SmartcardLogon de Build from this Active Directory information a Supply in the request: