Linux Virtual Delivery Agent

Servicio de autenticación federada

Introducción

El Servicio de autenticación federada (Federated Authentication Service) de Citrix es un componente con privilegios diseñado para integrarlo con el Servicio de Certificados de Active Directory. Emite certificados para los usuarios de forma dinámica, lo que les permite iniciar sesiones en un entorno de Active Directory como si tuvieran una tarjeta inteligente. Esta función permite a StoreFront usar una gama más amplia de opciones de autenticación, tales como aserciones SAML (Security Assertion Markup Language). SAML se usa normalmente como alternativa a las cuentas de usuario tradicionales de Windows en Internet.

Nota:

Para utilizar la autenticación SAML, configure correctamente el Servicio de autenticación federada (FAS) en el VDA.

A partir de la actualización acumulativa CU3, Linux VDA usa conexiones cortas para la transmisión de datos con servidores de FAS.

En el siguiente diagrama se muestra el Servicio de autenticación federada (FAS) integrado con una entidad de certificación de Microsoft y al ofrecer servicios de asistencia para StoreFront y los agentes Virtual Delivery Agent (VDA).

Arquitectura de FAS

Los servidores StoreFront de confianza contactan con el Servicio de autenticación federada (FAS) cuando los usuarios solicitan acceso a los entornos Citrix. El servicio FAS concede un tíquet que permite que una sola de sesión de Citrix Virtual Apps o Citrix Virtual Desktops se autentique con un certificado para esa sesión. Cuando un agente VDA debe autenticar a un usuario, se conecta al servicio FAS y canjea el tíquet. Solo el servicio FAS tiene acceso a la clave privada del certificado del usuario. El VDA debe enviar cada operación de firma y descifrado que necesita llevar a cabo con el certificado al servicio FAS.

Requisitos

El servicio FAS es compatible con Windows Server 2008 R2 y versiones posteriores.

  • Se recomienda la instalación del servicio FAS en un servidor que no contenga ningún otro componente de Citrix.
  • El servidor Windows Server debe estar protegido para el acceso a un certificado de autorización de registro y a una clave privada que permita emitir certificados automáticamente para los usuarios del dominio y para el acceso a esos certificados de usuario y claves privadas.

En un sitio de Citrix Virtual Apps o Citrix Virtual Desktops:

  • Los Delivery Controllers deben ser de la versión 7.9 como mínimo.
  • El servidor StoreFront debe ser como mínimo de la versión 3.6 (versión suministrada en la imagen ISO de XenApp y XenDesktop 7.9).
  • Los Linux VDA deben ser como mínimo de la versión 7.18. Compruebe que la configuración de directiva de grupo del Servicio de autenticación federada se ha aplicado correctamente a los VDA antes de crear catálogos de máquinas de la forma habitual. Para obtener más información, consulte el apartado Configurar la directiva de grupo en este artículo.

Referencias:

Configurar Windows para el inicio de sesión con certificados

Para obtener información sobre cómo configurar Windows para el inicio de sesión con certificados, abra el artículo CTX206156 de Knowledge Center para descargar y leer el archivo Smart_card_config_Citrix_Env.pdf (en adelante, “el archivo PDF”). Realice los siguientes pasos de acuerdo con el archivo PDF, al mismo tiempo que toma nota de las diferencias o complementos que se dan en cada paso. Preste especial atención a la máquina de destino en la que está operando, por ejemplo, AD, Delivery Controller o StoreFront.

Configurar un dominio Windows (en AD)

Instalar roles de controlador de dominio

Consulte la sección Installing Domain Controller Roles Controller Roles en el archivo PDF.

Durante la instalación de los Servicios de certificados de Active Directory, compruebe que las siguientes opciones estén seleccionadas:

Imagen de servicios de selección de roles

Imagen de la configuración de los Servicios de certificados de Active Directory

Imagen de la ventana de configuración AD CS

Abra http://localhost/certsrv/ para verificar si muestra la siguiente página de bienvenida. En caso afirmativo, los Servicios de certificados de Active Directory se han instalado correctamente.

Imagen de la página de bienvenida que aparece cuando los Servicios de certificados de Active Directory se instalan correctamente

Preparar la entidad de certificación para el uso de la tarjeta inteligente

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 Issuing a Domain Controller Certificate en el archivo PDF.

Configurar Microsoft IIS para HTTPS (en StoreFront)

Configurar HTTPS en Microsoft IIS

Sin complemento. Consulte la sección Configuring HTTPS on Microsoft IIS en el archivo PDF.

Equipos sin dominio

Consulte la sección Non-Domain Joined Computers en el archivo PDF.

Recuperar el certificado CA de la CA de Microsoft (en AD)

Sin complemento. Consulte la sección Retrieving the CA Certificate from the Microsoft CA en el archivo PDF.

Instalar el certificado de CA de confianza en Windows

Sin complemento. Consulte la sección Installing the Trusted CA Certificate on Windows en el archivo PDF.

Configurar Citrix StoreFront (en StoreFront)

Crear el almacén

Consulte la sección Creating the Store en el archivo PDF.

Después de la configuración anterior de IIS, la URL base del almacén común se establece a la fuerza en https:// en lugar de http://. Puesto que FAS no comparte el almacén con tarjetas inteligentes, se necesita un nuevo almacén para FAS. El servicio FAS de Linux VDA es compatible con cualquier método de autenticación de StoreFront. Por ejemplo, el almacén de FAS puede configurarse 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 al proveedor de identidades, y se ignora el método de autenticación por contraseña.

Imagen de la creación de un almacén de FAS

Imagen de la administración de métodos de autenticación con tarjeta inteligente

Imagen del almacén de FAS creado

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 contener Web.

Instalar y configurar FAS

El proceso de instalación y configuración consta de los siguientes pasos:

  1. Instalar el Servicio de autenticación federada
  2. Habilitar el plug-in del Servicio de autenticación federada en los servidores StoreFront
  3. Configurar la directiva de grupo
  4. Use la consola de administración del Servicio de autenticación federada para: (a) Implementar las plantillas suministradas, (b) Configurar entidades de certificación y (c) Autorizar al Servicio de autenticación federada a usar su entidad de certificación
  5. 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, AD, Delivery Controller, StoreFront o el servidor FAS.

Instalar el Servicio de autenticación federada (en el servidor FAS)

Por motivos de seguridad, instale el Servicio de autenticación federada (FAS) en un servidor dedicado que sea seguro y esté protegido del mismo modo que un controlador de dominio o una entidad de certificación.

Habilitar el plug-in del Servicio de autenticación federada en un almacén de StoreFront (en StoreFront)

El siguiente comando debe usar el mismo nombre de almacén de FAS que usted escribió al configurar StoreFront. Por ejemplo, FAS es el nombre del almacén en este ejemplo:

$StoreVirtualPath = “/Citrix/FAS

Configurar el Delivery Controller (en el Delivery Controller)

Para usar el Servicio de autenticación federada, configure el Delivery Controller para que confíe en los servidores StoreFront que pueden conectarse a él: ejecute el cmdlet de PowerShell Set-BrokerSite -TrustRequestsSentToTheXmlServicePort $true. En ocasiones, es posible que necesite ejecutar antes Add-PSSnapin citrix.*.

Configurar la directiva de grupo (en el servidor FAS y en AD)

Debe ser un administrador para poder realizar los pasos del 1 al 7 de esta sección. El paso 1 debe realizarse en el servidor FAS, mientras que los pasos del 2 al 7 deben realizarse en AD.

Después de completar los pasos del 1 al 7, consulte el editor del Registro del servidor FAS para confirmar que la directiva de FAS se ha establecido.

Imagen sobre cómo configurar la directiva FAS

Habilitar la funcionalidad de certificados en la sesión

Linux VDA no admite certificados en la sesión.

Usar la consola de administración de los Servicios de autenticación federada (en el servidor FAS)

Sin complemento. Consulte el artículo Servicio de autenticación federada.

Implementar plantillas de certificado (en el servidor FAS)

Sin complemento. Consulte el artículo Servicio de autenticación federada.

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 los apartados Agentes de inscripción delegada y Configuración de una lista de control de acceso en la sección Consideraciones sobre seguridad del artículo Servicio de autenticación federada.

Implementar el Servicio de autenticación federada para ADFS

Para obtener información sobre cómo implementar el proveedor de identidades de ADFS para el Servicio de autenticación federada, consulte Implementación ADFS del Servicio de autenticación federada.

Configurar Linux VDA

Configurar servidores FAS

Para una nueva instalación de Linux VDA, si quiere 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. Como Linux VDA no admite las directivas de grupo de AD, en su lugar, se puede suministrar una lista de servidores FAS, separados por punto y coma. Si alguna dirección de servidor está eliminada, complete el espacio en blanco correspondiente con la cadena de texto <none> y no cambie la secuencia de las direcciones de servidor.

Para actualizar una instalación Linux VDA existente, puede volver a ejecutar ctxsetup.sh y configurar los servidores 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 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 ctxvda restart
<!--NeedCopy-->

Instalar un certificado raíz de CA

Para la verificación de los certificados de los usuarios, instale el certificado raíz de CA en el VDA. 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.

Configurar FAS

Ejecute el siguiente script para configurar FAS:

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

Nota:

El script anterior solamente gestiona los supuestos 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:

[territorios]
EJEMPLO.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 pueda ejecutarse en modo silencioso:

  • CTX_FAS_ADINTEGRATIONWAY=winbind | sssd | centrify: Indica el método de integración de Active Directory, que es CTX_EASYINSTALL_ADINTEGRATIONWAY cuando se especifica CTX_EASYINSTALL_ADINTEGRATIONWAY. Si CTX_EASYINSTALL_ADINTEGRATIONWAY no se especifica, CTX_FAS_ADINTEGRATIONWAY usa su propio parámetro de valor.

  • CTX_FAS_ROOT_CA_PATH=<root_CA_certificate>: Especifica la ruta completa del certificado raíz de CA.

Elija el método apropiado de integración en Active Directory y escriba la ruta apropiada al certificado raíz de CA (por ejemplo, /etc/pki/CA/certs/root.pem).

El script instala los paquetes krb5-pkinit y pam_krb5, y establece los archivos de configuración relevantes.

Limitación

  • FAS admite plataformas limitadas y métodos de integración de AD. 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 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 para que pueda iniciarse una sesión que no sea 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 cómo habilitar el registro de seguimiento para Linux VDA, consulte el artículo CTX220130 de Knowledge Center.

Error de configuración en el servidor FAS

No se puede iniciar ninguna sesión desde el almacén de FAS. La siguiente captura de pantalla sirve de ejemplo:

Imagen de fallo de inicio de sesión desde el almacén de FAS

Consulte /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
<!--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 raíz 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.

Imagen de inicio de sesión no válido debido a la configuración incorrecta del certificado raíz de CA

Consulte /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
<!--NeedCopy-->

Solución

Verifique que la ruta completa del certificado raíz de CA esté configurada correctamente en /etc/krb5.conf. La ruta completa será parecida a esta:


 [realms]

EXAMPLE.COM = {

    ......

    pkinit_anchors = FILE:/etc/pki/CA/certs/root.pem

    ......

}  
<!--NeedCopy-->

Si la configuración existente no es correcta, siga el anterior paso Instalar un certificado raíz de CA 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.

Imagen de error en la asignación de cuenta sombra

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:

Imagen de ADFS no configurado

El motivo es que el almacén de FAS está configurado para usar la autenticación de 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

Problema conocido

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.

Imagen de fallo de inicio de sesiones en idiomas que no son el 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:

Imagen de la oferta en la opción Solicitar

Servicio de autenticación federada