Linux Virtual Delivery Agent

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.

  • Arquitectura de FAS

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

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:

Imagen de selección de servicios de rol

Imagen de configuración de los servicios de certificados de Active Directory

Imagen de la ventana de configuración de AD CS

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.

Imagen de la página de bienvenida cuando los servicios de certificados de AD se instalan 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.

Imagen de creación de almacén FAS

Imagen de gestión de métodos de autenticación de tarjetas inteligentes

Imagen de almacén FAS creado

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:

  1. Instala el Servicio de autenticación federada
  2. Habilita el complemento del Servicio de autenticación federada en los servidores StoreFront
  3. Configura la Directiva de grupo
  4. 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
  5. 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.

Imagen de la configuración de la directiva FAS

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)

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)

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

Imagen de error al 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:

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.

Imagen de 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:

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.

Imagen de error de asignación de cuenta de sombra

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:

Imagen de ADFS no configurado

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

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.

Imagen de error 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:

Imagen de la opción Suministrar en la solicitud

Servicio de autenticación federada