Servicio de autenticación federada
Información general
El Servicio de autenticación federada (FAS) de Citrix es un componente privilegiado diseñado para integrarse con los Servicios de certificados de Active Directory. Emite certificados dinámicamente para los usuarios, lo que les permite iniciar sesión en un entorno de Active Directory como si tuvieran una tarjeta inteligente. Esta funcionalidad permite a StoreFront™ usar una gama más amplia de opciones de autenticación, como las aserciones de Security Assertion Markup Language (SAML). SAML se usa comúnmente como alternativa a las cuentas de usuario tradicionales de Windows en Internet.
Nota:
Para usar la autenticación SAML, configura FAS correctamente en el VDA.
A partir de CU3, el VDA de Linux usa conexiones cortas para transmitir datos con los servidores FAS.
El siguiente diagrama muestra FAS integrado con una entidad de certificación de Microsoft y proporcionando servicios de asistencia para StoreFront y los VDA.
-

-
Los servidores StoreFront de confianza contactan con FAS cuando los usuarios solicitan acceso al entorno de Citrix. FAS concede un tíquet que permite que una única sesión de Citrix Virtual Apps o Citrix Virtual Desktops™ se autentique con un certificado para esa sesión. Cuando un VDA necesita autenticar a un usuario, se conecta a FAS y canjea el tíquet. Solo FAS tiene acceso a la clave privada del certificado del usuario. El VDA debe enviar a FAS cada operación de firma y descifrado que necesite realizar con el certificado.
-
Requisitos
-
FAS es compatible con Windows Server 2008 R2 y versiones posteriores.
- Te recomendamos instalar FAS en un servidor que no contenga otros componentes de Citrix.
- El servidor Windows debe estar protegido para acceder a un certificado de autoridad de registro y a una clave privada para emitir automáticamente certificados para usuarios del dominio y para acceder a esos certificados de usuario y claves privadas.
En un sitio de Citrix Virtual Apps™ o Citrix Virtual Desktops:
- Los Delivery Controllers deben ser, como mínimo, la versión 7.9.
- El servidor StoreFront debe ser, como mínimo, la versión 3.6 (versión proporcionada con la ISO de XenApp y XenDesktop 7.9).
- Los VDA de Linux deben ser, como mínimo, la versión 7.18. Verifica que la configuración de la Directiva de grupo del Servicio de autenticación federada se haya aplicado correctamente a los VDA antes de crear el Catálogo de máquinas de la forma habitual. Para obtener más información, consulta la sección Configurar la Directiva de grupo de este artículo.
Referencias:
- Servicios de certificados de Active Directory https://social.technet.microsoft.com/wiki/contents/articles/1137.active-directory-certificate-services-ad-cs-introduction.aspx
- Configurar Windows para el inicio de sesión con certificado http://support.citrix.com/article/CTX206156
- Instalar el Servicio de autenticación federada Servicio de autenticación federada
Configurar Windows para el inicio de sesión con certificado
Para obtener información sobre cómo configurar Windows para el inicio de sesión con certificado, abre el artículo de Knowledge Center CTX206156 para descargar y leer el archivo Smart_card_config_Citrix_Env.pdf (en adelante, “el archivo PDF”). Realiza los siguientes pasos según el archivo PDF, teniendo en cuenta las diferencias o complementos que se indican en cada paso. Presta especial atención a la máquina de destino en la que estás operando, por ejemplo, el AD, Delivery Controller o StoreFront.
Configurar un dominio de Windows (en AD)
Instalar roles de controlador de dominio
Consulta la sección Instalar roles de controlador de dominio del archivo PDF.
Durante la instalación de los Servicios de certificados de Active Directory, asegúrate de que las siguientes opciones estén seleccionadas:



Abre http://localhost/certsrv/ para comprobar si muestra la siguiente página de bienvenida. Si es así, los Servicios de certificados de Active Directory se han instalado correctamente.

Preparar la entidad de certificación para el uso de tarjetas inteligentes
Sin complemento. Consulta la sección Preparar la entidad de certificación para el uso de tarjetas inteligentes del archivo PDF.
Emitir un certificado de controlador de dominio
Sin complemento. Consulta la sección Emitir un certificado de controlador de dominio del archivo PDF.
Configurar Microsoft IIS para HTTPS (en StoreFront)
Configurar HTTPS en Microsoft IIS
Sin complemento. Consulta la sección Configurar HTTPS en Microsoft IIS del archivo PDF.
Equipos no unidos a un dominio
Consulta la sección Equipos no unidos a un dominio del archivo PDF.
Recuperar el certificado de CA de la CA de Microsoft (en AD)
Sin complemento. Consulta la sección Recuperar el certificado de CA de la CA de Microsoft del archivo PDF.
Instalar el certificado de CA de confianza en Windows
Sin complemento. Consulta la sección Instalar el certificado de CA de confianza en Windows del archivo PDF.
Configurar Citrix StoreFront (en StoreFront)
Crear el almacén
Consulta la sección Crear el almacén del archivo PDF.
Después de la configuración de IIS anterior, la URL base del almacén común se establece forzosamente en https:// en lugar de http://. Como FAS no comparte el almacén con las tarjetas inteligentes, se necesita un nuevo almacén para FAS. El FAS del VDA de Linux es compatible con cualquier método de autenticación de StoreFront. Por ejemplo, el almacén de FAS se puede configurar para usar contraseñas o SAML, pero no puede usar ambos al mismo tiempo. Cuando se selecciona SAML, la URL de StoreFront redirige automáticamente a IdP y el método de autenticación por contraseña se ignora.



Inicia Internet Explorer y abre la URL del almacén de FAS (por ejemplo, https://mzgwy-ddc.xd.local/Citrix/FASWeb).
Nota: La URL del almacén de FAS debe tener Web añadido.
Instalar y configurar FAS
El proceso de instalación y configuración consta de los siguientes pasos:
- Instala el Servicio de autenticación federada
- Habilita el complemento del Servicio de autenticación federada en los servidores StoreFront
- Configura la Directiva de grupo
- Usa la consola de administración del Servicio de autenticación federada para: (a) Implementar las plantillas proporcionadas, (b) Configurar las entidades de certificación y (c) Autorizar al Servicio de autenticación federada a usar tu entidad de certificación
- Configura las reglas de usuario
Para obtener instrucciones sobre cada uno de los pasos, consulta Servicio de autenticación federada. Ten en cuenta las siguientes diferencias o complementos en cada uno de los pasos. Presta especial atención a la máquina de destino en la que estás operando, por ejemplo, el AD, Delivery Controller, StoreFront o el servidor FAS.
Instala el Servicio de autenticación federada (en el servidor FAS)
Por motivos de seguridad, instala FAS en un servidor dedicado que esté protegido de forma similar a un controlador de dominio o una entidad de certificación.
Habilita el complemento del Servicio de autenticación federada en un almacén de StoreFront (en StoreFront)
Asegúrate de que el siguiente comando usa el mismo nombre de almacén FAS que escribiste al configurar StoreFront. Por ejemplo, FAS es el nombre del almacén en este ejemplo:
$StoreVirtualPath = “/Citrix/FAS”
Configura Delivery Controller™ (en Delivery Controller)
Para usar el Servicio de autenticación federada, configura Delivery Controller para que confíe en los servidores StoreFront que pueden conectarse a él: ejecuta el cmdlet de PowerShell Set-BrokerSite -TrustRequestsSentToTheXmlServicePort $true. A veces, es posible que debas ejecutar Add-PSSnapin citrix.* primero.
Configura la Directiva de grupo (en el servidor FAS y en el AD)
Debes ser administrador para poder realizar los pasos 1 a 7 de esta sección. El paso 1 debe realizarse en el servidor FAS y los pasos 2 a 7 deben realizarse en el AD.
Después de completar los pasos 1 a 7, comprueba en el Editor del Registro del servidor FAS para confirmar que la directiva FAS se ha establecido.

Habilita la compatibilidad con certificados en la sesión
- El VDA de Linux no admite certificados en la sesión.
Usa la consola de administración del Servicio de autenticación federada (en el servidor FAS)
- Sin complemento. Consulta el artículo Servicio de autenticación federada.
Implementa plantillas de certificado (en el servidor FAS)
Sin complemento. Consulta el artículo Servicio de autenticación federada.
Configura los Servicios de certificados de Active Directory (en el servidor FAS)
- Sin complemento. Consulta el artículo Servicio de autenticación federada.
Autoriza el Servicio de autenticación federada (en el servidor FAS)
Sin complemento. Consulta el artículo Servicio de autenticación federada.
Configura las reglas de usuario (en el servidor FAS)
Sin complemento. Consulta el artículo Servicio de autenticación federada.
Para obtener más información, consulta también las secciones Agentes de inscripción delegados y Configuración de la lista de control de acceso en la sección Consideraciones de seguridad del artículo Servicio de autenticación federada.
Implementación de ADFS del Servicio de autenticación federada
Para obtener información sobre cómo implementar el IdP de ADFS para el Servicio de autenticación federada, consulta Implementación de ADFS del Servicio de autenticación federada.
Configura el VDA de Linux
Establece los servidores FAS
Para una instalación nueva del VDA de Linux, para usar FAS, escribe el FQDN de cada servidor FAS cuando se te solicite CTX_XDL_FAS_LIST durante la ejecución de ctxinstall.sh o ctxsetup.sh. Dado que el VDA de Linux no admite la Directiva de grupo de AD, puedes proporcionar una lista de servidores FAS separada por punto y coma. Si se elimina alguna dirección de servidor, rellena su espacio en blanco con la cadena de texto <none> y mantén la secuencia de direcciones de servidor sin cambios.
Para actualizar una instalación existente del VDA de Linux, puedes volver a ejecutar ctxsetup.sh para establecer los servidores FAS. O puedes ejecutar los siguientes comandos para establecer 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
service ctxvda restart
<!--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>"
service ctxvda restart
<!--NeedCopy-->
Instala un certificado de CA raíz
Para la verificación de los certificados de los usuarios, instala el certificado de CA raíz en el VDA. Obtén el certificado raíz de AD del paso anterior Recupera el certificado de CA de la CA de Microsoft (en AD), o descarga su formato DER 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.
Convierte un archivo DER (.crt, .cer, .der) a PEM ejecutando 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.
Configura FAS
Ejecuta el siguiente script para configurar FAS:
sudo /opt/Citrix/VDA/sbin/ctxfascfg.sh
<!--NeedCopy-->
Nota:
El script anterior solo gestiona escenarios con un único certificado de CA raíz.
Si hay certificados intermedios en tu entorno, agrega las rutas intermedias a /etc/krb5.conf de la siguiente manera:
[realms] EXAMPLE.COM = { … pkinit_anchors = FILE:/etc/pki/CA/certs/root.pem pkinit_pool = FILE:/etc/pki/CA/certs/intermediate.pem … }
Se agregan dos variables de entorno para que ctxfascfg.sh se pueda ejecutar en modo silencioso:
-
CTX_FAS_ADINTEGRATIONWAY=winbind | sssd | centrify – Denota el método de integración de Active Directory, que es igual a
CTX_EASYINSTALL_ADINTEGRATIONWAYcuando se especificaCTX_EASYINSTALL_ADINTEGRATIONWAY. Si no se especificaCTX_EASYINSTALL_ADINTEGRATIONWAY,CTX_FAS_ADINTEGRATIONWAYusa su propia configuración de valor. -
CTX_FAS_ROOT_CA_PATH=<root_CA_certificate> – Especifica la ruta completa del certificado raíz de CA.
Elige el método de integración de Active Directory correcto y, a continuación, escribe la ruta correcta del certificado raíz de CA (por ejemplo, /etc/pki/CA/certs/root.pem).
El script instala los paquetes krb5-pkinit y pam_krb5 y configura los archivos de configuración pertinentes.
Limitación
-
FAS admite plataformas y métodos de integración de AD limitados; consulta la siguiente matriz:
Winbind SSSD Centrify RHEL 7.7 /CentOS 7.7 √ √ √ Ubuntu 18.04 √ × √ Ubuntu 16.04 √ × √ SLES 12.3 √ × √ - FAS aún no admite 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 ella con FAS.
- Esta versión solo admite 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 los problemas de FAS, asegúrate de que el VDA de Linux esté instalado y configurado correctamente para que se pueda iniciar una sesión que no sea de FAS correctamente en el almacén común mediante la autenticación con contraseña.
Si las sesiones que no son de FAS funcionan correctamente, establece el nivel de registro HDX de la clase Login en VERBOSE y el nivel de registro del VDA en TRACE. Para obtener información sobre cómo habilitar el registro de seguimiento para el VDA de Linux, consulta el artículo de Knowledge Center CTX220130.
Error de configuración del servidor FAS
No se puede iniciar una sesión desde el almacén de FAS. Por ejemplo, consulta la siguiente captura de pantalla:

Comprueba /var/log/xdl/hdx.log y busca el registro de errores similar al siguiente:
2018-03-27 10:17:56.722 <P10122:S2> citrix-ctxlogin: query2fas: failed to retrieve data: No such file or directory.
2018-03-27 10:17:56.722 <P10122:S2> citrix-ctxlogin: sayhello2fas_internal: Failed to query.
2018-03-27 10:17:56.722 <P10122:S2> citrix-ctxlogin: sayhello2fas_convertcredential: exit.
2018-03-27 10:17:56.722 <P10122:S2> citrix-ctxlogin: LoginFasValidate: Failed to start FAS.
2018-03-27 10:17:56.722 <P10122:S2> citrix-ctxlogin: receive_data: LoginFASValidate - parameters check error.
2018-03-27 10:17:56.722 <P10122:S2> citrix-ctxlogin: receive_data: Exit FAILURE
2018-03-27 10:17:56.722 <P10122:S2> citrix-ctxlogin: main: EXITING login process..., FAILURE
<!--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 <Your-FAS-Server-List>.
sudo /opt/Citrix/VDA/bin/ctxreg dump | grep "UserCredentialService"
<!--NeedCopy-->
Si la configuración existente es incorrecta, sigue el paso anterior Configurar servidores FAS para volver a configurarla.
Configuración incorrecta del certificado raíz 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.

Comprueba /var/log/xdl/hdx.log y busca el registro de errores similar al siguiente:
2018-03-27 10:15:52.227 <P9099:S3> citrix-ctxlogin: validate_user: pam_authenticate err,can retry for user user1@CTXFAS.LAB
2018-03-27 10:15:52.228 <P9099:S3> citrix-ctxlogin: logout_user: closing session and pam transaction
2018-03-27 10:15:52.228 <P9099:S3> citrix-ctxlogin: validate_user: Exit (user=user1@CTXFAS.LAB)=INVALID_PASSWORD
2018-03-27 10:15:52.228 <P9099:S3> citrix-ctxlogin: LoginBoxValidate: failed validation of user 'user1@CTXFAS.LAB', INVALID_PASSWORD
2018-03-27 10:15:52.228 <P9099:S3> citrix-ctxlogin: Audit_login_failure: Not yet implemented
<!--NeedCopy-->
Solución
Verifica que la ruta completa del certificado raíz de CA esté configurada correctamente en /etc/krb5.conf. La ruta completa es similar a la siguiente:
[realms]
EXAMPLE.COM = {
......
pkinit_anchors = FILE:/etc/pki/CA/certs/root.pem
......
}
<!--NeedCopy-->
Si la configuración existente es incorrecta, sigue el paso anterior Instalar un certificado raíz de CA para volver a configurarla.
Alternativamente, comprueba si el certificado raíz de CA es válido.
Error de asignación de cuenta de sombra
FAS está configurado mediante la 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.

Este 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:

La causa es que el almacén de FAS está configurado para usar la autenticación SAML mientras que la implementación de ADFS falta.
Solución
Implementa el IdP de ADFS para Federated Authentication Service. Para obtener más información, consulta Implementación de ADFS de Federated Authentication Service.
Información relacionada
- Las implementaciones comunes de FAS se resumen en el artículo Descripción general de la arquitectura de Federated Authentication Service.
- Los artículos “Cómo hacer” se presentan en el capítulo Configuración avanzada de Federated Authentication Service.
Problema conocido
Cuando FAS está en uso, es posible que falle al intentar iniciar un escritorio publicado o una sesión de aplicación 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:
