Servicio de autenticación federada
Información general
El Servicio de autenticación federada (FAS) de Citrix es un componente con privilegios 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™ utilizar una gama más amplia de opciones de autenticación, como las aserciones SAML (Security Assertion Markup Language). SAML se utiliza comúnmente como alternativa a las cuentas de usuario tradicionales de Windows en Internet.
Nota:
Para usar la autenticación SAML, configure FAS correctamente en el VDA.
A partir de CU3, el VDA de Linux utiliza 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 soporte para StoreFront y los VDA.
Los servidores StoreFront de confianza se ponen en contacto 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.
-
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 de dominio y para acceder a esos certificados y claves privadas de usuario.
En un sitio de Citrix Virtual Apps™ o Citrix Virtual Desktops:
-
Los Delivery Controllers deben tener una versión mínima de 7.9.
-
El servidor StoreFront debe tener una versión mínima de 3.6 (versión proporcionada con el ISO de XenApp y XenDesktop 7.9).
-
Los VDA de Linux deben tener una versión mínima de 7.18. verificar que la configuración de la directiva de grupo del Servicio de autenticación federada se ha aplicado correctamente a los VDA antes de crear el Catálogo de máquinas de la forma habitual. Para obtener más información, consulte 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> -
Configuración de Windows para el inicio de sesión con certificado
<http://support.citrix.com/article/CTX206156> -
Instalación de Federated Authentication Service
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, abra el artículo del Knowledge Center CTX206156 para descargar y leer el archivo Smart\_card\_config\_Citrix\_Env.pdf (en adelante, “el archivo PDF”). Realice los siguientes pasos según el archivo PDF, teniendo en cuenta las diferencias o complementos que se indican en cada paso. Preste especial atención a la máquina de destino en la que está operando, por ejemplo, el AD, Delivery Controller o StoreFront.
Configurar un dominio de Windows (en AD)
Instalar roles de controlador de dominio
Consulte la sección Installing Domain Controller Roles del archivo PDF.
Durante la instalación de Active Directory Certificate Services, asegúrese de que las siguientes opciones estén seleccionadas:


Abra
http://localhost/certsrv/ para comprobar si muestra la siguiente página de bienvenida. Si es así, los servicios de certificado de Active Directory se han instalado correctamente.
Preparar la entidad de certificación para el uso de tarjetas inteligentes
Sin complemento. Consulte la sección Preparing the Certificate Authority for Smart card usage del archivo PDF.
Emitir un certificado de controlador de dominio
Sin complemento. Consulte la sección Emisión de un certificado de controlador de dominio del archivo PDF.
Configurar Microsoft IIS para HTTPS (en StoreFront)
Configurar HTTPS en Microsoft IIS
Sin complemento. Consulte la sección Configuración de HTTPS en Microsoft IIS del archivo PDF.
Equipos no unidos a un dominio
Consulte 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. Consulte la sección Recuperación del certificado de CA de la CA de Microsoft del archivo PDF.
Instalar el certificado de CA de confianza en Windows
Sin complemento. Consulte la sección Instalación del certificado de CA de confianza en Windows del archivo PDF.
Configurar Citrix StoreFront (en StoreFront)
Crear el almacén
Consulte la sección Creación del 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 de Linux VDA 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 se redirige automáticamente a IdP y el método de autenticación por contraseña se ignora.


Inicie Internet Explorer y abra 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 anexado.
Instalar y configurar FAS
El proceso de instalación y configuración consta de los siguientes pasos:
-
Instalar el Servicio de autenticación federada
-
Habilitar el complemento del Servicio de autenticación federada en los servidores StoreFront
-
Configurar la Directiva de grupo
-
Utilice 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 su entidad de certificación
-
Configurar reglas de usuario
Para obtener instrucciones sobre cada uno de los pasos, consulte Servicio de autenticación federada. Tenga en cuenta las siguientes diferencias o complementos en cada uno de los pasos. Preste especial atención a la máquina de destino en la que está operando, por ejemplo, el AD, Delivery Controller, StoreFront o el servidor FAS.
Instalar el Servicio de autenticación federada (en el servidor FAS)
Por motivos de seguridad, instale FAS en un servidor dedicado que esté protegido de forma similar a un controlador de dominio o una entidad de certificación.
Habilitar el complemento de Federated Authentication Service en un almacén de StoreFront (en StoreFront)
Asegúrese de que el siguiente comando utilice el mismo nombre de almacén de FAS que escribió al configurar StoreFront. Por ejemplo, FAS es el nombre del almacén en este ejemplo:
$StoreVirtualPath = "/Citrix/FAS"
Configurar el Delivery Controller™ (en Delivery Controller)
Para usar Federated Authentication Service, configure el Delivery Controller para que confíe en los servidores de StoreFront que pueden conectarse a él: ejecute el cmdlet de PowerShell Set-BrokerSite -TrustRequestsSentToTheXmlServicePort $true. A veces, es posible que deba ejecutar
Add-PSSnapin citrix.* primero.
Configurar la Directiva de grupo (en el servidor FAS y en el AD)
Debe 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, compruebe en el Editor del Registro del servidor FAS para confirmar que la directiva FAS se ha establecido.
Habilitar la compatibilidad con certificados en la sesión
El VDA de Linux no admite certificados en la sesión.
Usar la consola de administración de Federated Authentication Service (en el servidor FAS)
Sin complemento. Consulte el artículo Federated Authentication Service.
Implementar plantillas de certificado (en el servidor FAS)
Sin complemento. Consulte el artículo Federated Authentication Service.
Configurar los Servicios de certificados de Active Directory (en el servidor FAS)
Sin complemento. Consulte el artículo Servicio de autenticación federada.
Autorizar el Servicio de autenticación federada (en el servidor FAS)
Sin complemento. Consulte el artículo Servicio de autenticación federada.
Configurar reglas de usuario (en el servidor FAS)
Sin complemento. Consulte el artículo Servicio de autenticación federada.
Para obtener más información, consulte 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, consulte Implementación de ADFS del Servicio de autenticación federada.
Configurar el VDA de Linux
Establecer servidores FAS
Para una nueva instalación del VDA de Linux, para usar FAS, escriba el FQDN de cada servidor FAS cuando se le 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, puede proporcionar una lista de servidores FAS separada por punto y coma. Si se elimina alguna dirección de servidor, rellene el espacio en blanco con la cadena de texto \<none\> y mantenga la secuencia de direcciones de servidor sin cambios.
Para actualizar una instalación existente del VDA de Linux, puede volver a ejecutar ctxsetup.sh para establecer los servidores FAS. O puede ejecutar los siguientes comandos para establecer los servidores FAS y reiniciar el servicio
ctxvda para que la 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
Para actualizar los servidores FAS a través de
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 ctxvda restart
Instalar un certificado de CA raíz
Para la verificación de los certificados de los usuarios, instale el certificado de CA raíz en el VDA. Obtenga el certificado raíz de AD del paso anterior Recuperar el certificado de CA de Microsoft CA (en AD), o descargue 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.
Convierta 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
Luego, instale el certificado de CA raíz en el directorio openssl ejecutando un comando similar al siguiente:
sudo cp root.pem /etc/pki/CA/certs/
Nota:
No coloque 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.
Configurar FAS
Ejecute el siguiente script para configurar FAS:
sudo /opt/Citrix/VDA/sbin/ctxfascfg.sh
Nota:
El script anterior solo gestiona escenarios con un único certificado de CA raíz.
Si hay certificados intermedios en su entorno, agregue las rutas intermedias a /etc/krb5.conf de la siguiente manera:
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_ADINTEGRATIONWAYutiliza su propia configuración de valor. -
CTX\_FAS\_ROOT\_CA_PATH=\<root_CA_certificate\> – Especifica la ruta completa del certificado de CA raíz.
Elija el método de integración de Active Directory correcto y, a continuación, escriba la ruta correcta del certificado de CA raíz (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 relevantes.
Limitación
-
FAS es compatible con plataformas y métodos de integración de AD limitados; consulte 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 es compatible con la pantalla de bloqueo. Si hace clic en el botón de bloqueo en una sesión, no podrá volver a iniciar sesión en ella mediante FAS.
-
Esta versión solo admite las implementaciones comunes de FAS resumidas en el artículo Información general sobre la arquitectura del Servicio de autenticación federada y no incluye Windows 10 Azure AD Join.
Solución de problemas
Antes de solucionar problemas de FAS, asegúrese de que el VDA de Linux esté instalado y configurado correctamente para que se pueda iniciar correctamente una sesión sin FAS en el almacén común mediante la autenticación con contraseña.
Si las sesiones sin FAS funcionan correctamente, establezca 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, consulte el artículo del 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, consulte la siguiente captura de pantalla:
Compruebe /var/log/xdl/hdx.log y busque 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
Solución
Ejecute 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"
Si la configuración existente es incorrecta, siga el paso anterior Configurar servidores FAS para volver a configurarla.
Configuración incorrecta del certificado de CA raíz
No se puede iniciar una sesión desde el almacén de FAS. Aparece una ventana gris que desaparece varios segundos después.
Compruebe /var/log/xdl/hdx.log y busque 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
Solución
verificar que la ruta completa del certificado de CA raíz 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
......
}
Si la configuración existente es incorrecta, siga el paso anterior Instalar un certificado de CA raíz para configurarlo de nuevo.
Alternativamente, compruebe si el certificado de CA raíz 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
Configure 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
Implemente el IdP de ADFS para el Servicio de autenticación federada. Para obtener más información, consulte Implementación de ADFS del Servicio de autenticación federada.
Información relacionada
-
Las implementaciones comunes de FAS se resumen en el artículo Descripción general de la arquitectura del Servicio de autenticación federada.
-
Los artículos de "Cómo hacer" se presentan en el capítulo Configuración avanzada del Servicio de autenticación federada.
Problema conocido
Cuando FAS está en uso, puede fallar al intentar iniciar un escritorio publicado o una sesión de aplicación con caracteres no ingleses.
Solución alternativa
Haga 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: