Configuración de la entidad de certificación
Este artículo describe la configuración avanzada de Federated Authentication Service (FAS) para integrarse con servidores de entidad de certificación (CA). La mayoría de estas configuraciones no son compatibles con la consola de administración de FAS. Las instrucciones usan las API de PowerShell proporcionadas por FAS. Debes tener un conocimiento básico 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 cualquier otra plantilla que hayas elegido en tu regla).
Si una de las CA que quieres usar no publica la plantilla deseada, realiza el paso Configurar una entidad de certificación para esa CA.
Nota:
No tienes que realizar el paso Autorizar este servicio para cada CA, porque 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 el acceso TCP
Por defecto, la CA de Microsoft usa DCOM para el acceso. Esto puede generar complejidades al implementar la seguridad del firewall, por lo que Microsoft ofrece una opció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 específico. Esto hace que se abra el 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 servidores FAS únicos o múltiples.
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 usuarios con un UserPrincipalName y un estado de cuenta ‘habilitado’.
El argumento SearchBase restringe qué parte de AD se debe buscar para los usuarios. Puedes omitirlo si quieres incluir a todos los usuarios de AD. Nota: Esta consulta podría devolver un gran número de usuarios.
El CSV se ve algo así:

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 autoridad de registro
Si hay más de un servidor FAS en uso, 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 del Servicio de autenticación federada 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.
