Introducción a la corroboración de inicio de sesión en el Servicio de autenticación federada de Citrix
Introducción
El servicio de autenticación federada FAS (Federated Authentication Service) es un componente de Citrix que se integra con su entidad de certificación (CA) de Active Directory, lo que permite a los usuarios autenticarse de manera imperceptible dentro de un entorno Citrix. Para obtener información acerca de la arquitectura y la implementación de FAS, consulte la documentación del Servicio de autenticación federada.
Puede implementar FAS para permitir que los usuarios inicien sesión única en un VDA (o en una aplicación publicada) sin necesidad de una contraseña o una tarjeta inteligente. La función de corroboración de inicio de sesión de FAS proporciona pruebas de inicio de sesión transmitidas a FAS por Citrix Gateway y StoreFront. FAS puede validar la corroboración para asegurarse de que fue emitida por un proveedor de identidad (IdP) de confianza.
Este artículo describe cómo configurar la función de corroboración de inicio de sesión de FAS.
Información general
Confianza FAS
La infraestructura FAS implica una “cadena de confianza” entre Citrix Gateway (NSG), StoreFront (SF) y FAS; cada flecha apunta desde el componente de confianza al componente en el que se confía:
La pieza clave de los datos en los que se confía cada uno de estos componentes es el nombre principal de usuario (UPN) del usuario que accede al sistema. El UPN fluye a través de los enlaces (en la dirección opuesta a las flechas). El UPN también puede transformarse en un UPN diferente a medida que fluye a través del sistema, pero esto no es directamente relevante para este tema.
El proveedor de identidad (IdP) es donde los usuarios se autentican. El IdP suele ser un sitio web de terceros como Okta o Azure. Los usuarios se autentican en el IdP proporcionando un conjunto de credenciales (como una contraseña o algo más complejo). Los componentes más a lo largo de la cadena aceptan que el UPN es auténtico debido a la cadena de confianza entre los componentes.
La confianza se establece de las siguientes maneras, etiquetadas 1, 2, 3 en el diagrama anterior:
(1) Citrix Gateway o StoreFront confía en el IdP mediante un protocolo que implica notificaciones firmadas (por ejemplo, una notificación que indica el UPN del usuario). La parte que confía puede verificar las notificaciones realizadas por el IdP porque está configurada con el certificado que utiliza para comprobar que la firma es válida. Hay dos protocolos principales utilizados para la verificación: SAML (Security Assertion Markup Language) y OpenID Connect. Actualmente, la función de corroboración de inicio de sesión solo admite SAML.
(2) Esta confianza se establece configurando StoreFront con los detalles de Citrix Gateway de confianza. El protocolo entre estos componentes, “CitrixAgBasic”, permite a StoreFront confirmar que está siendo invocado por un Citrix Gateway de confianza.
(3) Esta confianza se establece mediante Kerberos. FAS se configura con una lista de servidores StoreFront de confianza. Kerberos se utiliza para comprobar que la identidad del servidor StoreFront que llama está en esta lista.
Seguridad
La autenticación segura se basa en una cadena de confianza establecida correctamente. La cadena de confianza se fortalece validando la corroboración proporcionada por el IdP, que es la raíz de la confianza para la autenticación segura. Esto es importante, porque las credenciales de usuario proporcionadas a FAS a través de la cadena de confianza incluyen el nombre de usuario (el UPN), pero no incluyen un secreto (como una contraseña) que FAS pueda validar por sí mismo. Por lo tanto, la exposición de la contraseña se limita al IdP. La mayoría de los sistemas de autenticación federada funcionan de esta manera, incluido el FAS.
Corroboración de inicio de sesión
La función de corroboración de inicio de sesión de FAS proporciona seguridad adicional en una implementación de FAS. Le permite definir reglas que permiten o deniegan el acceso a FAS.
La corroboración de inicio de sesión (o simplemente “evidencia”) es una pieza de datos creada por el IdP cuando el usuario se autentica. Estos datos fluyen, junto con el UPN, por todo el sistema. Al iniciarse VDA, FAS puede comprobar que la corroboración es válida antes de permitir que el inicio continúe.
Actualmente, solo se admiten los desplazados internos que admiten SAML. La corroboración es la respuesta SAML, que es un documento XML que contiene un conjunto de afirmaciones firmadas por el IdP. (El IdP es la raíz de la confianza para la autenticación).
Plug-in FAS
FAS no tiene ninguna capacidad integrada para comprobar que la corroboración de inicio de sesión es válida. En su lugar, debe escribir su propio complemento FAS mediante el SDK de aserción de FAS. Su plug-in es responsable de verificar el UPN suministrado y la corroboración (respuesta SAML).
Configurar la recopilación de corroboraciones de inicio de sesión
Paso 1: Crear la implementación
Cree una implementación con Citrix Gateway, StoreFront y FAS como de costumbre. Configure Citrix Gateway o StoreFront para usar la autenticación SAML en su IdP.
Importante:
Si utiliza Citrix Gateway, al configurar StoreFront con los detalles de Citrix Gateway, debe configurar una dirección URL de devolución de llamada, ya que la corroboración de inicio de sesión se transmite a través de la devolución de llamada:
Citrix recomienda configurar el tipo de inicio de sesión como “Tarjeta inteligente”, lo que ayuda a los clientes nativos a realizar la autenticación SAML.
Compruebe que la implementación funciona correctamente. En otras palabras, compruebe que puede iniciar sesión e iniciar sesiones de VDA sin que se le pida credenciales en el VDA.
Paso 2: Instalar el plug-in de aserción FAS de muestra
El SDK de aserción de FAS incluye un complemento de ejemplo que puede utilizar como base para su propio complemento.
Nota:
Citrix recomienda encarecidamente que comience por instalar el complemento de ejemplo sin realizar ningún cambio.
Para obtener instrucciones para instalar el complemento, consulte el archivo Readme.txt suministrado con el SDK de aserción de FAS.
Paso 3: Comprobar que el complemento de aserción FAS funciona
Después de instalar el complemento, los eventos adicionales se escriben en la sección Registros/Aplicación de Windows del registro de eventos del servidor FAS. Para obtener una descripción del registro y el seguimiento, consulte el SDK de aserción de FAS.
Paso 4: Habilitar la recopilación de corroboraciones en Citrix Gateway
Si utiliza Citrix Gateway para la autenticación, debe habilitar la función de recopilación de corroboraciones para que se transmitan de Citrix Gateway a StoreFront. Para ello, utilice la consola de administración de Citrix ADC para habilitar la opción “Almacenar respuesta SAML” para su servidor de puerta de enlace, consulte Autenticación SAML.
Paso 5: Habilitar la recopilación de corroboraciones en StoreFront
Nota:
Si habilita la corroboración de inicio de sesión, debe implementar un módulo de complemento de aserción de FAS en el servidor FAS.
De forma predeterminada, StoreFront no envía corroboraciones a FAS (incluso si la autenticación SAML está configurada). Para habilitar el uso de la corroboración de inicio de sesión en StoreFront, utilice el siguiente PowerShell para habilitarlo para el Servicio de autenticación asociado a un almacén denominado Store.
Get-Module "Citrix.StoreFront.* –ListAvailable | Import-Module
$StoreName = "Store" $StoreVirtualPath = "/Citrix/" + $StoreName $store = Get-STFStoreService –VirtualPath $StoreVirtualPath $auth = Get-STFAuthenticationService –StoreService $store
$auth.AuthenticationOptions.CollectFasEvidence = $true
$auth.Save()
<!--NeedCopy-->
Paso 6: Modificar el plug-in de aserción FAS de muestra
El código esqueleto del plug-in de muestra acepta cualquier corroboración. Actualice el código en el ejemplo para comprobar que la corroboración de inicio de sesión suministrada (una respuesta SAML) es válida.
Es su responsabilidad asegurarse de que se compruebe la corroboración suministrada. Tenga en cuenta lo siguiente:
-
comprobar que las afirmaciones SAML tienen una firma criptográficamente válida
-
comprobar que las afirmaciones SAML están firmadas con el certificado del IdP
-
comprobar que el UPN en las afirmaciones SAML corresponde al UPN que se presenta
-
comprobar que las afirmaciones se emitieron dentro de un plazo aceptable (lo que es “aceptable” depende de usted)
StoreFront Authentication SDK
Puede utilizar el SDK de autenticación de StoreFront para realizar la personalización avanzada de los datos de corroboración. Para obtener más información, consulte el documento “Custom Federated Logon Service Sample 1811.pdf” suministrado en el SDK, o disponible en https://developer-docs.citrix.com/.
Información relacionada
- Documentación del Servicio de autenticación federada de Citrix
- Documentación del SDK de PowerShell de StoreFront
- SDK de aserción del servicio de autenticación federada de Citrix de https://www.citrix.com/downloads/citrix-virtual-apps-and-desktops/