Configuración de la entidad de certificación
Este artículo describe la configuración avanzada de Federated Authentication Service (FAS) para integrarse con los servidores de la entidad de certificación (CA). La mayoría de estas configuraciones no son compatibles con la consola de administración de FAS. Las instrucciones utilizan las API de PowerShell proporcionadas por FAS. Debes tener conocimientos básicos de PowerShell antes de ejecutar cualquier instrucción de este artículo.
Configurar varios servidores de CA para su uso en FAS
Puedes usar la consola de administración de FAS para configurar FAS con varias CA al crear o modificar una regla:

Todas las CA que selecciones deben publicar la plantilla de certificado Citrix_SmartcardLogon (o la plantilla que hayas elegido en tu regla).
Si una de las CA que deseas usar no publica la plantilla deseada, realiza el paso Configurar una entidad de certificación para esa CA.
Nota:
No es necesario realizar el paso Autorizar este servicio para cada CA, ya que el certificado de autorización configurado en este paso se puede usar en cualquiera de tus CA.
Cambios de comportamiento esperados
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 uno de los servidores de CA configurados falla, el servidor FAS cambiará a otro servidor de CA disponible.
Configurar la entidad de certificación de Microsoft para acceso TCP
De forma predeterminada, la CA de Microsoft usa DCOM para el acceso. Esto puede generar complejidades al implementar la seguridad del firewall, por lo que Microsoft tiene una disposición para cambiar a un puerto TCP estático. En la CA de Microsoft, usa Inicio > Ejecutar > dcomcnfg.exe para abrir el panel de configuración de DCOM, expande Equipos > Mi PC > Configuración de DCOM para mostrar el nodo Solicitud de CertSrv, y luego modifica las propiedades de la aplicación DCOM Solicitud de CertSrv:

Cambia los “Puntos finales” para seleccionar un punto final estático y especifica un número de puerto TCP (900 en el gráfico anterior).
Reinicia la entidad de certificación de Microsoft y envía una solicitud de certificado. Si ejecutas netstat –a –n –b, deberías ver que certsvr ahora está escuchando en el puerto 900:

No es necesario configurar el servidor FAS (ni ninguna otra máquina que use la entidad de certificación), porque DCOM tiene una etapa de negociación que usa el puerto RPC. Cuando un cliente necesita usar DCOM, se conecta al servicio RPC de DCOM en el servidor de certificados y solicita acceso a un servidor DCOM en particular. Esto activa la apertura del puerto 900, y el servidor DCOM indica al servidor FAS cómo conectarse.
Pre-generar certificados de usuario
El tiempo de inicio de sesión para los usuarios mejorará significativamente cuando los certificados de usuario se pre-generen dentro del servidor FAS. Las siguientes secciones describen cómo se puede hacer, ya sea para un solo servidor FAS o para varios.
Obtener una lista de usuarios de Active Directory
Puedes mejorar la generación de certificados consultando AD y almacenando la lista de usuarios en un archivo (por ejemplo, un archivo .csv), como se muestra en el siguiente ejemplo.
Import-Module ActiveDirectory
$searchbase = "cn=users,dc=bvt,dc=local" # AD User Base to Look for Users, leave it blank to search all
$filename = "user_list.csv" # Filename to save
if ($searchbase -ne ""){
Get-ADUser -Filter {(UserPrincipalName -ne "null") -and (Enabled -eq "true")} -SearchBase $searchbase -Properties UserPrincipalName | Select UserPrincipalName | Export-Csv -NoTypeInformation -Encoding utf8 -delimiter "," $filename
} else {
Get-ADUser -Filter {(UserPrincipalName -ne "null") -and (Enabled -eq "true")} -Properties UserPrincipalName | Select UserPrincipalName | Export-Csv -NoTypeInformation -Encoding utf8 -delimiter "," $filename
}
<!--NeedCopy-->
Get-ADUser es un cmdlet estándar para consultar una lista de usuarios. El ejemplo anterior contiene un argumento de filtro para listar solo los usuarios con un UserPrincipalName y un estado de cuenta ‘habilitado’.
El argumento SearchBase restringe la parte de AD donde buscar usuarios. Puedes omitirlo si deseas incluir a todos los usuarios de AD. Nota: Esta consulta podría devolver un gran número de usuarios.
El CSV se parece a esto:

Servidor FAS
El siguiente script de PowerShell toma la lista de usuarios generada previamente y crea una lista de certificados de usuario.
Add-PSSnapin Citrix.A*
$csv = "user_list.csv"
$rule = "default" # rule/role in your admin console
- $users = Import-Csv -encoding utf8 $csv
- foreach ( $user in $users )
- {
$server = Get-FasServerForUser -UserPrincipalNames $user.UserPrincipalName
if( $server.Server -ne $NULL) {
New-FasUserCertificate -Address $server.Server -UserPrincipalName $user.UserPrincipalName -CertificateDefinition $rule"_Definition" -Rule $rule
}
if( $server.Failover -ne $NULL) {
New-FasUserCertificate -Address $server.Failover -UserPrincipalName $user.UserPrincipalName -CertificateDefinition $rule"_Definition" -Rule $rule
}
}
<!--NeedCopy-->
Si tienes más de un servidor FAS, el certificado de un usuario en particular se generará dos veces: una en el servidor principal y otra en el servidor de conmutación por error.
El script anterior está diseñado para una regla llamada ‘default’. Si tienes un nombre de regla diferente (por ejemplo, ‘hello’), simplemente cambia la variable $rule en el script.

Renovar certificados de la entidad de registro
Si se utiliza más de un servidor FAS, puedes renovar un certificado de autorización de FAS sin afectar a los usuarios que han iniciado sesión.
Nota:
También puedes usar la GUI para volver a autorizar FAS:
Completa la siguiente secuencia:
-
Crea un nuevo certificado de autorización:
New-FasAuthorizationCertificate -
Toma nota del GUID del nuevo certificado de autorización, tal como lo devuelve:
Get-FasAuthorizationCertificate -
Pon el servidor FAS en modo de mantenimiento:
Set-FasServer –Address <FAS server> -MaintenanceMode $true -
Intercambia el nuevo certificado de autorización:
Set-FasCertificateDefinition –AuthorizationCertificate <GUID> -
Saca el servidor FAS del modo de mantenimiento:
Set-FasServer –Address <FAS server> -MaintenanceMode $false -
Elimina el certificado de autorización antiguo:
Remove-FasAuthorizationCertificate
Información relacionada
- El artículo Instalar y configurar es la referencia principal para la instalación y configuración de FAS.
- Las implementaciones comunes de Federated Authentication Service se resumen en el artículo Arquitecturas de implementación.
- Otros artículos “cómo hacer” se presentan en el artículo Configuración avanzada.
