Configurar el Servicio de autenticación federada para la entidad de certificación

En este artículo, se describe la configuración avanzada del servicio de autenticación federada (FAS) de Citrix para que se integre con los servidores de la entidad de certificación (CA) que no admite la consola de administración de FAS. En las instrucciones, se usan las API de PowerShell que suministra el servicio FAS. Debe tener conocimientos básicos de PowerShell para poder ejecutar las instrucciones de este artículo.

Configurar varios servidores de CA para usar en FAS

En esta sección, se describe cómo configurar un servidor FAS para usar varios servidores de CA y emitir certificados. Lo que permite equilibrar la carga y conmutar por error en los servidores de CA.

Paso 1: Calcular cuántos servidores de CA puede ubicar el servicio FAS

Use el cmdlet Get-FASMsCertificateAuthority para determinar a qué servidores de CA puede conectarse el servicio FAS. En el siguiente ejemplo, se muestra que FAS puede conectarse a tres servidores de CA.

Imagen localizada

Paso 2: Modificar la definición de certificado existente

Citrix recomienda crear un rol mediante la consola de administración de FAS, en lugar de utilizar PowerShell para crear el rol. Esto evita la complicación de tener que agregar SDL manualmente más tarde. En el siguiente ejemplo, se crea un rol denominado “default”, con la regla de acceso:

Imagen localizada

Para agregar varias entidades de certificación al campo de la entidad de certificación (característica que no se admite en la consola de administración de esta versión), debe configurar la definición de certificado. En primer lugar, necesita el nombre de la definición de certificado. Este nombre no se puede determinar a partir de la consola de administración; use el cmdlet Get-FASCertificateDefinition.

Imagen localizada

El equivalente en la interfaz de usuario es:

Imagen localizada

Una vez obtenido el nombre de la definición de certificado, modifíquela para obtener una lista de CertificateAuthorities, en lugar de una sola:

Imagen localizada

Ahora, el cmdlet Get-FASCertificateDefinition debe devolver:

Imagen localizada

Nota:

La consola de administración del servicio FAS no funcionará después de realizar esta operación. Verá un campo vacío en “Entidad de certificación” y “Plantilla de certificado” al cargar:

Imagen localizada

A efectos prácticos, FAS sigue funcionando. Si usa la consola para modificar la regla de acceso, repita el paso 2 para ver todas las entidades de certificación.

Cambios de comportamiento previstos

Después de configurar el servidor FAS con varios servidores de CA, la generación de certificados de usuario se distribuye entre todos los servidores de CA configurados. Además, si se produce un error en uno de los servidores de CA configurados, el servidor FAS cambiará a otro servidor disponible de la entidad de certificación.

Configurar CA de Microsoft para el acceso por TCP

De forma predeterminada, la entidad de certificación de Microsoft utiliza DCOM para el acceso. Esto puede provocar complicaciones cuando se implemente la seguridad del firewall, por lo que Microsoft puede cambiar a un puerto TCP estático. En la entidad de certificación de Microsoft, abra el panel de configuración de DCOM y modifique las propiedades de “CertSrv Request”:

Imagen localizada

Cambie los “puntos finales” para seleccionar un dispositivo de punto final estático y especifique un número de puerto TCP (900 en la imagen de arriba).

Reinicie la entidad de certificación de Microsoft, y envíe una solicitud de certificado. Si ejecuta netstat –a –n –b, debería ver que ahora certsvr escucha en el puerto 900:

Imagen localizada

No es necesario configurar el servidor del servicio FAS (o cualquier otra máquina que use la entidad de certificación) porque DCOM tiene una fase de negociación que usa el puerto RPC. Cuando un cliente quiere usar DCOM, se conecta al servicio de RPC de DCOM que está presente en el certificado de servidor y solicita acceso a un servidor DCOM determinado. Esta acción abre el puerto 900, y el servidor DCOM indica al servidor FAS cómo conectarse.

Generar previamente los certificados de usuario

El tiempo de inicio de sesión mejora significativamente para los usuarios si los certificados de usuario se generan previamente en el servidor FAS. En las siguientes secciones, se describe cómo hacerlo con uno o varios servidores FAS.

Obtener una lista de usuarios de Active Directory

Puede mejorar la generación de certificados si consulta AD y almacena la lista de usuarios en un archivo (por ejemplo, un archivo CSV), como se muestra en el siguiente ejemplo.

Imagen localizada

Get-ADUser es un cmdlet estándar para consultar una lista de usuarios. El ejemplo anterior contiene un argumento de filtro para incluir en la lista solo a los usuarios con un UserPrincipalName y un estado de cuenta “enabled” (habilitado).

El argumento SearchBase limita la parte de Active Directory en que buscar usuarios. Puede omitirlo si quiere incluir a todos los usuarios de AD. Nota: Esta consulta puede devolver una gran cantidad de usuarios.

El archivo CSV tiene un aspecto similar a:

Imagen localizada

Servidor FAS

El siguiente script de PowerShell utiliza la lista de usuarios previamente generada y crea a partir de ella una lista de los certificados de usuario.

Imagen localizada

Si dispone de varios servidores FAS, el certificado de un usuario concreto se generará dos veces: uno en el servidor principal y otro en el servidor de conmutación por error.

El script anterior está orientado a una regla denominada “default”. Si tiene otro nombre de regla (por ejemplo, “hola”), cambie la variable $rule en el script.

Imagen localizada

Renovar certificados de la entidad de registro

Si utiliza más de un servidor FAS, puede renovar un certificado de autorización de FAS sin que ello afecte a los usuarios con sesión iniciada. Nota: Aunque también puede usar la interfaz gráfica de usuario para desautorizar y reautorizar FAS, usarla tiene como consecuencia que se restablecen las opciones de configuración de FAS.

Lleve a cabo los siguientes pasos:

  1. Cree un nuevo certificado de autorización: New-FasAuthorizationCertificate

  2. Escriba el GUID del nuevo certificado de autorización que devuelve: Get-FasAuthorizationCertificate

  3. Coloque el servidor FAS en el modo de mantenimiento: Set-FasServer –Address \<FAS server> -MaintenanceMode $true

  4. Cambie el nuevo certificado de autorización: Set-FasCertificateDefinition –AuthorizationCertificate \<GUID>

  5. Desactive el modo de mantenimiento del servidor FAS: Set-FasServer –Address \<FAS server> -MaintenanceMode $false

  6. Elimine el certificado anterior de autorización: Remove-FasAuthorizationCertificate

Información relacionada