Protección de claves privadas
Introducción
Los certificados de FAS se almacenan en una base de datos integrada en el servidor de FAS. Las claves privadas asociadas a los certificados de FAS se almacenan en la cuenta del servicio de red del servidor de FAS. De forma predeterminada, las claves son RSA de 2048 bits no exportables y se crean y almacenan en el proveedor de almacenamiento de claves de software de Microsoft.
Con los cmdlets de FAS PowerShell, es posible cambiar las propiedades y la ubicación de almacenamiento de las claves privadas.
Nota:
La configuración y los certificados de FAS se almacenan localmente en el servidor de FAS. Los datos no se comparten entre servidores de FAS.
En las versiones de FAS anteriores a Citrix Virtual Apps and Desktops 2411, las propiedades de clave privada se configuraban modificando el archivo XML en
%programfiles%\Citrix\Federated Authentication Service\Citrix.Authentication.FederatedAuthenticationService.exe.config.
Esto se ha reemplazado por comandos de PowerShell, que ofrecen más flexibilidad y se pueden aplicar sin necesidad de reiniciar el servidor de FAS. Además, a diferencia de los parámetros del archivo XML, la configuración realizada mediante PowerShell se conserva cuando se actualiza el servidor de FAS. Por lo tanto, ya no se admite la configuración mediante el archivo XML para los siguientes parámetros:
Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.KeyProtection
Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.ProviderLegacyCsp
Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.ProviderName
Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.ProviderType
Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.KeyLength
Consulte la sección Actualizar desde versiones de FAS anteriores a Citrix Virtual Apps and Desktops 2411.
Información sobre certificados y plantillas de FAS
FAS tiene dos tipos de certificados: el certificado de autorización, del que normalmente hay una instancia, y los certificados de usuario.
Nota:
El certificado de autorización de FAS también se conoce a veces como certificado de Autoridad de Registro o de Agente de Solicitud (RA).
FAS usa plantillas de certificado al solicitar certificados, como se describe en la siguiente sección. Si bien FAS especifica el nombre de una plantilla en las solicitudes de certificado, no lee el contenido de la plantilla. Por lo tanto, cambiar los parámetros de la plantilla no influye en las solicitudes de certificados realizadas por FAS. Cambiar ciertas propiedades de la plantilla afecta al certificado generado por la CA. Por ejemplo, se puede cambiar el período de validez utilizando la plantilla.
Certificado de autorización de FAS
Este certificado se crea cuando se configura FAS. Puede usar el botón Autorizar o Volver a autorizar de la consola de administración de FAS para solicitar un nuevo certificado de autorización.
También es posible usar comandos de PowerShell, que ofrecen más flexibilidad:
-
New-FasAuthorizationCertificate
: Este comando funciona de manera similar a la consola de administración de FAS, excepto que es posible especificar las plantillas de certificado que se usarán en el proceso de autorización. -
New-FasAuthorizationCertificateRequest
: Este comando crea una solicitud sin conexión para un certificado de autorización; Autorización sin conexión.
El certificado de autorización a veces también se denomina certificado RA, porque FAS actúa como una autoridad de registro, es decir, solicita certificados en nombre de un usuario. El certificado tiene el uso de clave mejorado Agente de solicitud de certificado, que permite usarlo como credencial de autorización al solicitar certificados de usuario de FAS.
De forma predeterminada, el proceso de autorización utiliza las siguientes plantillas:
-
Citrix_RegistrationAuthority_ManualAuthorization
: El certificado creado con esta plantilla es temporal y de corta duración, y sirve para iniciar el proceso de autorización; -
Citrix_RegistrationAuthority
: El certificado creado con esta plantilla tiene una validez prolongada y se almacena en el servidor de FAS.
La autorización de FAS conlleva estos pasos:
-
FAS crea un par de claves y envía una Solicitud de firma de certificado (CSR) a la CA, en la que se especifican la clave pública del par de claves y la plantilla
Citrix_RegistrationAuthority_ManualAuthorization
. -
Los requisitos de emisión de la plantilla especifican que el administrador de CA debe aprobar manualmente la CSR.
-
Una vez que el administrador de CA ha aprobado la CSR, la CA crea un certificado que FAS obtiene. Este certificado tiene una validez corta de un día y solo se usa en el siguiente paso. Una vez usado, FAS destruye el certificado y su par de claves.
-
FAS crea otro par de claves y envía una segunda CSR a la CA, especificando la clave pública de este par de claves y la plantilla
Citrix_RegistrationAuthority
. La solicitud se autoriza y firma con el certificado del paso anterior. -
La CA emite automáticamente el certificado, FAS obtiene el certificado y FAS ahora está Autorizado. De forma predeterminada, este certificado de autorización tiene una validez de dos años.
Los parámetros usados para crear los pares de claves mencionados anteriormente se pueden ver usando este comando de PowerShell:
Get-FasKeyConfig -Address localhost -CertificateType ra
Certificados de usuario de FAS
FAS crea certificados de usuario para que los usuarios inicien sesión en los VDA.
Cuando FAS crea un certificado de usuario, se realizan los siguientes pasos:
- FAS crea un par de claves y envía una CSR a la CA, especificando la clave pública del par de claves, la identidad del usuario y, de forma predeterminada, la plantilla
Citrix_SmartcardLogon
(la plantilla utilizada es configurable). - La CSR se firma con el certificado de autorización de FAS.
- La plantilla
Citrix_SmartcardLogon
tiene un requisito de emisiónDirectiva de aplicación: Agente de solicitud de certificado
. Como este atributo está presente en el certificado de autorización de FAS, la CA emite el certificado de usuario automáticamente. - FAS obtiene el certificado y lo almacena en una base de datos integrada en el servidor FAS.
- De forma predeterminada, el certificado tiene una validez de una semana.
Posteriormente, el certificado de usuario se pone a disposición del VDA para que el usuario inicie sesión.
Los parámetros usados para crear el par de claves mencionado anteriormente se pueden ver usando este comando de PowerShell:
Get-FasKeyConfig -Address localhost -CertificateType user
Opciones de almacenamiento de claves privadas
FAS se puede configurar para crear y almacenar pares de claves en tres categorías de almacenamiento:
- Software: Normalmente se utiliza el proveedor de almacenamiento de claves de software de Microsoft **, que está protegido únicamente por software; los datos se almacenan en el disco.
- Módulo de plataforma de confianza (TPM): El TPM puede ser hardware físico presente en el equipo o un TPM virtual proporcionado por un hipervisor.
- Módulo de seguridad de hardware (HSM): Es un periférico de hardware o dispositivo de red diseñado para almacenar de forma segura claves criptográficas.
Nota:
Hay que tener en cuenta un aspecto. El almacenamiento de hardware puede ser más seguro, pero a menudo es menos eficiente, especialmente al crear y almacenar una gran cantidad de pares de claves de certificados de usuario.
La clave privada asociada al certificado de autorización de FAS es especialmente confidencial, ya que la directiva del certificado permite a quien posea la clave privada autorizar solicitudes de certificado para cualquier usuario. Como consecuencia, quien posea esta clave podrá conectarse al entorno como cualquier usuario.
Nota:
Las CA de Microsoft se pueden configurar para restringir la capacidad del certificado de autorización de FAS, incluido el conjunto de usuarios para los que se pueden emitir certificados. Consulte Agentes de inscripción delegada.
Por este motivo, FAS permite configurar las propiedades de clave privada para los certificados de autorización y de usuario de forma independiente.
Algunas configuraciones típicas son las siguientes:
Clave del certificado de autorización | Claves de certificado de usuario | Comentario |
---|---|---|
Software | Software | Configuración predeterminada |
TPM | Software | El certificado de autorización tiene protección de hardware |
HSM | HSM | Todos los certificados tienen protección de hardware. |
Nota:
No se recomienda un TPM de hardware para las claves de usuario. Utilice TPM únicamente para la clave del certificado de autorización. Si piensa ejecutar el servidor FAS en un entorno virtualizado, consulte con su proveedor de hipervisor si se admite la virtualización de TPM.
Comandos de PowerShell para la configuración de claves
Los comandos relacionados con la configuración de claves privadas son los siguientes:
Get-FasKeyConfig
Set-FasKeyConfig
Reset-FasKeyConfig
Test-FasKeyConfig
Para obtener más información, consulte Cmdlets de PowerShell.
La configuración de claves para los certificados de autorización y de usuario es independiente y se especifica mediante el argumento CertificateType
. Por ejemplo, para obtener la configuración de clave privada utilizada al solicitar un certificado de autorización (certificado RA):
Get-FasKeyConfig -Address localhost -CertificateType ra
Para obtener la configuración de clave privada utilizada al solicitar un certificado de usuario:
Get-FasKeyConfig -Address localhost -CertificateType user
Puede usar Set-FasKeyConfig y Get-FasKeyConfig para establecer e inspeccionar las siguientes propiedades de clave privada:
Propiedad | Predeterminado | Comentario |
---|---|---|
Length
|
2048
|
Longitud de la clave en bits. Tenga en cuenta que, en la GUI de la plantilla de Microsoft, la ficha Criptografía especifica el tamaño de clave mínimo. La CA rechaza la CSR si la longitud de clave configurada en FAS es menor que el tamaño de clave mínimo especificado en la plantilla.
Para las claves RSA, las longitudes pueden ser de 1024 bits, 2048 bits o 4096 bits. Para las claves ECC, las longitudes pueden ser de 256 bits, 384 bits o 521 bits. |
Exportable | false | Si la clave privada se puede exportar desde su proveedor. |
Prefix | ninguno | Especifica un prefijo para agregar al identificador de claves privadas generadas por FAS. Los identificadores generados se componen del prefijo y un GUID. Por ejemplo, MyPrefix70277985-6908-4C6F-BE59-B08691456804 . |
EllipticCurve | false | Si es true, se genera un par de claves ECC; de lo contrario, se genera un par de claves RSA. |
Proveedor de almacenamiento de claves (KSP)
|
true
|
Si es true, FAS usa la API CNG de Windows moderna y se debe especificar un KSP en la propiedad Provider.
Si es false, FAS usa la API CAPI antigua y se debe especificar un proveedor de servicios criptográficos (CSP) en la propiedad Provider. Citrix recomienda usar un KSP. |
Provider | Microsoft Software Key Storage Provider | El nombre del proveedor donde se crean y almacenan los pares de claves. Puede cambiar esta propiedad para especificar un TPM o HSM. El KSP (o CSP) de un HSM lo proporciona el proveedor del HSM. Proporcionan instrucciones sobre cómo instalar el software y el nombre del proveedor. |
CSPType
|
24
|
Solo es relevante si la propiedad KSP está establecida en false.
Se refiere a la propiedad Microsoft KeyContainerPermissionAccessEntry.ProviderType PROV_RSA_AES 24 . Siempre debe ser 24, a no ser que use un HSM con un CSP y el proveedor del HSM especifique lo contrario. |
Además, Set-FasKeyConfig se puede usar con los siguientes conmutadores, proporcionados para mayor comodidad:
Indicador | Descripción |
---|---|
-UseDefaultSoftwareProvider | Establece la propiedad Provider en el proveedor de almacenamiento de claves de software de Microsoft y el campo KSP en true. |
-UseDefaultTpmProvider | Establece la propiedad Provider en el proveedor de cifrado de plataforma de Microsoft y el campo KSP en true. |
El proveedor de almacenamiento de claves de software de Microsoft es el proveedor que se usa habitualmente para crear y almacenar claves en el disco.
El proveedor de cifrado de plataforma de Microsoft es el proveedor que se usa habitualmente para crear y almacenar claves en un TPM.
Get-FasKeyConfig también proporciona campos que ayudan a confirmar qué proveedor y algoritmo se usan:
Campo | Significado |
---|---|
IsDefaultSoftwareProvider | Con el valor true, indica que el proveedor está configurado en el proveedor de almacenamiento de claves de software de Microsoft y el campo KSP está configurado en true. |
IsDefaultTpmProvider | Con el valor true, indica que el proveedor está configurado en el proveedor de cifrado de plataforma de Microsoft y el campo KSP está configurado en true. |
Algorithm
|
RSA indica que se crearán claves RSA (la propiedad EllipticCurve tiene el valor false).
ECC indica que se crearán claves ECC (la propiedad EllipticCurve tiene el valor true). |
Puede restaurar los parámetros a los valores predeterminados con Reset-FasKeyConfig
.
Reset-FasKeyConfig -Address localhost -CertificateType ra
Reset-FasKeyConfig -Address localhost -CertificateType user
<!--NeedCopy-->
Nota:
Los cambios realizados en la configuración de la clave privada (usando
Set-FasKeyConfig
oReset-FasKeyConfig
) se aplican inmediatamente a los certificados recién creados. Sin embargo, los certificados de autorización y de usuario existentes con una configuración diferente no se verán afectados.Para eliminar los certificados existentes, desautorice su servicio de FAS desde la consola de administración o use los comandos de PowerShell que se indican en Desautorización de FAS y eliminación de certificados de FAS.
Todas las claves pregeneradas en el conjunto de claves que no se ajustan a la configuración actual de clave de usuario se descartan.
Ejemplos de configuración
En cada ejemplo, establezca la configuración de clave mediante el PowerShell proporcionado antes de autorizar el servicio FAS, ya que los certificados existentes no se ven afectados por ningún cambio de configuración.
Si ya tiene certificados de autorización o de usuario con la configuración de clave incorrecta, puede quitarlos como se indica en Inspección de certificados de FAS y Desautorización de FAS y eliminación de certificados de FAS.
Si su servidor FAS está en una implementación activa, considere ponerlo en modo de mantenimiento mientras realiza cambios de configuración (Modo de mantenimiento).
Ejemplo 1: Almacenar todas las claves en el proveedor de almacenamiento de claves de software de Microsoft
Como esto es así de forma predeterminada, no se requiere ninguna configuración adicional.
Si ha cambiado su configuración de clave anteriormente, puede volver a utilizar el proveedor de almacenamiento de claves de software de Microsoft con los siguientes comandos:
Set-FasKeyConfig -Address localhost -CertificateType ra -UseDefaultSoftwareProvider
Set-FasKeyConfig -Address localhost -CertificateType user -UseDefaultSoftwareProvider
<!--NeedCopy-->
Puede usar Reset-FasKeyConfig
para volver al proveedor de almacenamiento de claves de software de Microsoft y además restaurar todos los demás parámetros de configuración de claves a los valores predeterminados.
Ejemplo 2: Almacenar la clave del certificado de autorización en un TPM
Este ejemplo ilustra el almacenamiento de la clave del certificado de autorización de FAS en un TPM (real o virtual), mientras que las claves del certificado de usuario se almacenan en el proveedor de almacenamiento de claves de software de Microsoft.
Si bien FAS puede generar certificados de usuario con claves protegidas por TPM, el hardware de TPM puede ser demasiado lento o tener un tamaño limitado para implementaciones grandes.
Utilice los siguientes comandos de PowerShell:
Set-FasKeyConfig -Address localhost -CertificateType ra -UseDefaultTpmProvider
Set-FasKeyConfig -Address localhost -CertificateType user -UseDefaultSoftwareProvider
<!--NeedCopy-->
Ejemplo 3: Almacenar todas las claves en un HSM
Este ejemplo ilustra el uso de un HSM para almacenar claves privadas de certificados de autorización y de certificados de usuario. En este ejemplo, se presupone que el lector tiene configurado un módulo HSM. Su HSM tendrá un nombre de proveedor. Por ejemplo, HSM Vendor Key Storage Provider.
Utilice los siguientes comandos de PowerShell (sustituya el texto de ejemplo por el nombre real del proveedor de HSM):
Set-FasKeyConfig -Address localhost -CertificateType ra -Provider "HSM Vendor Key Storage Provider"
Set-FasKeyConfig -Address localhost -CertificateType user -Provider "HSM Vendor Key Storage Provider"
<!--NeedCopy-->
Ejemplo 4: Utilizar claves de curva elíptica
De forma predeterminada, FAS genera claves RSA. En este ejemplo, se configuran claves de curva elíptica (ECC) tanto para el certificado de autorización como para los certificados de usuario.
En el ejemplo se usan diferentes longitudes de clave. El certificado de autorización se configura con una clave de 384 bits y los certificados de usuario se configuran con una clave de 256 bits.
Set-FasKeyConfig -Address localhost -CertificateType ra -EllipticCurve $true -Length 384
Set-FasKeyConfig -Address localhost -CertificateType user -EllipticCurve $true -Length 256
<!--NeedCopy-->
En este punto, la CA puede rechazar las solicitudes de certificado de autorización y de usuario porque el tamaño mínimo de clave en las plantillas de certificado de FAS está establecido en 1024 bits de manera predeterminada.
Por lo tanto, para este ejemplo, es necesario cambiar el tamaño mínimo de clave en las plantillas de la siguiente manera:
-
Citrix_RegistrationAuthority_ManualAuthorization y Citrix_RegistrationAuthority
: Cambiar el tamaño mínimo de clave a 384 (o menor) -
Citrix_SmartcardLogon
: Cambiar el tamaño mínimo de clave a 256 (o menor)
Para modificar las plantillas, ejecute mmc.exe
y agregue el complemento Plantillas de certificado. Localice la plantilla y abra sus propiedades. La configuración del tamaño mínimo de clave se encuentra en la ficha Criptografía de las propiedades de la plantilla.
Nota:
Los certificados de usuario con claves ECC solo se admiten en VDA Windows que ejecuten Citrix Virtual Apps and Desktops 2411 o una versión posterior. Las claves ECC no son compatibles con los VDA Linux.
Prueba de la configuración de clave privada
Aunque el comando Set-FasKeyConfig
hace alguna validación, todavía es posible establecer una configuración de clave no válida. Por ejemplo, puede cometer un error en el nombre del proveedor de su HSM o la longitud de clave que especifique puede no ser compatible con el hardware.
El comando Test-FasKeyConfig
puede servir de ayuda. Intenta crear un par de claves usando la configuración de clave actual e informa del éxito o fracaso de la operación. Si ocurre un fallo, se proporciona una indicación del motivo correspondiente. Si tiene éxito, el par de claves se destruye inmediatamente.
Los siguientes comandos de PowerShell prueban la autorización y la configuración de la clave de usuario respectivamente:
Test-FasKeyConfig -Address localhost -CertificateType ra
Test-FasKeyConfig -Address localhost -CertificateType user
<!--NeedCopy-->
Una vez que haya autorizado su servidor FAS y creado una regla, también puede realizar una CSR de prueba para un certificado de usuario de la siguiente manera:
Test-FasCertificateSigningRequest -Address localhost -UserPrincipalName user@example.com -Rule default
Sustituya «user@example.com>/> por un nombre UPN real de su implementación de Active Directory. La regla FAS normalmente se llama default. Pero, si prefiere probar otra regla que haya configurado, especifique ese nombre en su lugar.
Si la CSR funciona correctamente, FAS descarta el certificado resultante.
Inspección de certificados de FAS
Puede utilizar PowerShell para inspeccionar las propiedades de un certificado y determinar dónde se almacena la clave privada asociada.
Inspección del certificado de autorización
Puede ver el certificado de autorización haciendo clic en el enlace del certificado de autorización en la consola de administración de FAS:
Sin embargo, para obtener información más detallada utilice PowerShell:
Get-FasAuthorizationCertificate -Address localhost -FullCertInfo
Se devuelven varios campos, incluido PrivateKeyProvider, que contiene una indicación del proveedor donde se creó y almacenó el certificado.
PrivateKeyProvider | Dónde se almacena la clave |
---|---|
Microsoft Software Key Storage Provider | La clave se almacena en el disco, protegida por el proveedor de software de Microsoft. |
Microsoft Platform Crypto Provider | La clave se almacena en un TPM (real o virtual). |
HSM Vendor Key Storage Provider (solo de ejemplo) | La clave se almacena en un HSM (en este ejemplo, el proveedor del proveedor se llama HSM Vendor Key Storage Provider) |
Inspección de certificados de usuario
Puede obtener una lista de todos los certificados de usuario almacenados en caché en el servidor de FAS de la siguiente manera:
Get-FasUserCertificate -Address localhost -KeyInfo $true
El parámetro KeyInfo hace que la salida contenga más información sobre la clave privada asociada al certificado. En particular, el campo PrivateKeyProvider indica dónde se almacena el par de claves asociado al certificado (consulte la sección anterior para interpretar este valor).
Puede filtrar el conjunto de certificados devueltos utilizando varios parámetros opcionales, como -UserPrincipalName
.
El campo de certificado de la salida del comando es un certificado de usuario con codificación PEM. Copie el texto en un archivo .crt
para mostrar el certificado usando la GUI de certificado de Windows de la siguiente manera:
Comando | Descripción |
---|---|
$CertInfos = Get-FasUserCertificate -Address localhost |
Puede haber varios certificados de usuario en esta lista |
$CertInfo = $CertInfos[0] |
En este ejemplo, seleccionamos el primer certificado de usuario |
$CertInfo.Certificate > c:\temp\user.crt |
Canalizar los datos PEM a un archivo .crt
|
c:\temp\user.crt |
Abrir el archivo .crt en la GUI de Windows **
|
Actualización desde versiones de FAS anteriores a Citrix Virtual Apps and Desktops 2411
En las versiones de FAS anteriores a Citrix Virtual Apps and Desktops 2411, las propiedades de clave privada se configuraban modificando el archivo XML en
%programfiles%\Citrix\Federated Authentication Service\Citrix.Authentication.FederatedAuthenticationService.exe.config
<!--NeedCopy-->
Esto se ha reemplazado por los comandos de PowerShell descritos en este documento, que ofrecen más flexibilidad y se pueden aplicar sin reiniciar el servidor de FAS.
Además, a diferencia de los parámetros del archivo XML, la configuración realizada mediante PowerShell se conserva cuando se actualiza el servidor de FAS.
Los parámetros del archivo XML relevantes para la configuración de clave privada se indican a continuación, con sus parámetros de PowerShell correspondientes (de la forma en que se usan en Get-FasKeyConfig
y Set-FasKeyConfig
):
Parámetro del archivo XML | Valor predeterminado en el archivo XML | Equivalente de PowerShell | Comentario |
---|---|---|---|
Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.KeyLength |
2048 | -Length | - |
Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.KeyProtection
|
GenerateNonExportableKey
|
-Exportable
-UseDefaultTpmProvider |
|
Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.ProviderLegacyCsp
|
false
|
-Ksp
|
- ProviderLegacyCsp se logra estableciendo -Ksp en $true -ProviderLegacyCsp true se logra estableciendo -Ksp en $false
|
Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.ProviderName |
- | -Provider | - |
Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.ProviderType |
- | -CspType | - |
Los valores predeterminados de configuración XML y los valores predeterminados de PowerShell son funcionalmente equivalentes. Es decir, de forma predeterminada, las propiedades de los pares de claves generados por FAS en esta versión y en versiones anteriores a Citrix Virtual Apps and Desktops 2411 son las mismas.
Por lo tanto, si no ha cambiado ninguno de los parámetros anteriores en el archivo de configuración XML, no necesita hacer nada al actualizar la versión de FAS.
Sin embargo, si ha cambiado alguno de los parámetros anteriores, actualice la versión de FAS de la siguiente manera:
- Ponga FAS en modo de mantenimiento; Modo de mantenimiento.
- Actualice la versión de FAS en su lugar simplemente ejecutando el instalador de FAS; una vez realizada la actualización, los parámetros anteriores no estarán presentes en el archivo XML y no se podrán configurar en el archivo XML.
- Use el comando de PowerShell
Set-FasKeyConfig
, como se describe en Comandos de PowerShell para la configuración de claves, para establecer la configuración de clave privada de FAS del modo deseado; tenga en cuenta los parámetros que necesita para los certificados de autorización y de usuario. - Pruebe la configuración, como se describe en Prueba de la configuración de clave privada
- Saque el servidor de FAS del modo de mantenimiento
La próxima vez que actualice la versión, se conservarán los parámetros de configuración de la clave privada de FAS y no será necesario hacer nada especial.
Comunicación remota criptográfica
Las claves privadas asociadas a los certificados de usuario de FAS nunca se transfieren al VDA. En su lugar, cuando el VDA necesita utilizar un certificado de FAS de usuario, ya sea para iniciar sesión en el VDA o para uso durante la sesión, la solicitud criptográfica se envía de forma remota al servidor de FAS. Esto mejora la seguridad, porque las claves privadas nunca salen del almacenamiento de claves de FAS (ya sea almacenamiento de software, TPM o HSM).
En los VDA de Windows, esto se logra utilizando un par de proveedores en el VDA. El código de la aplicación o del sistema operativo que realiza la solicitud criptográfica no sabe que la operación se está enviando de forma remota al servidor de FAS.
Antes de Citrix Virtual Apps and Desktops 2411, los proveedores eran proveedores de servicios criptográficos (CSP) donde el acceso al código de las aplicaciones y del sistema operativo se realizaba a través de la antigua API CAPI de Windows. Los proveedores eran:
-
CitrixLogonCsp.dll
: Para Single Sign-On en el VDA -
CitrixVirtualSmartcardCsp.dll
: Para certificados durante la sesión
A partir de Citrix Virtual Apps and Desktops 2411, se suministran proveedores de almacenamiento de claves (KSP) adicionales en el VDA. El código de las aplicaciones y el sistema operativo acceden a estos con la nueva API CNG de Windows. Los nuevos proveedores son:
-
CitrixLogonKsp.dll
: Para Single Sign-On en el VDA -
CitrixVirtualSmartcardKsp.dll
: Para certificados durante la sesión
KSP es una forma más actualizada de exponer operaciones criptográficas a aplicaciones de Windows, que proporciona más capacidades. Por ejemplo:
- Se admiten certificados con claves ECC
- Se admite el relleno del esquema de firma probabilística (PSS)
Se utiliza la comunicación remota de KSP (es decir, la comunicación remota a través de los nuevos KSP) si tanto FAS como los VDA ejecutan Citrix Virtual Apps and Desktops 2411 o una versión posterior. De lo contrario, el sistema vuelve a utilizar los CSP más antiguos para la comunicación remota.
Inhabilitación de la comunicación remota de KSP
En caso de problemas de compatibilidad, es posible inhabilitar la comunicación remota de KSP para poder utilizar siempre la antigua comunicación remota de CSP.
Utilice el siguiente PowerShell:
Set-FasServer -Address localhost -KspRemoting $false
Modo de mantenimiento
Al realizar cambios en la configuración de un servidor FAS activo, considere ponerlo en modo de mantenimiento.
Cuando FAS está en modo de mantenimiento, se cumple lo siguiente:
- Cuando Workspace o StoreFront llaman a FAS como parte de la secuencia de inicio de la aplicación o el escritorio publicados, FAS indica que está en modo de mantenimiento; el autor de la llamada debe reaccionar ante esto eligiendo un servidor FAS diferente.
- Como precaución adicional, FAS no permite la creación automática de certificados de usuario cuando está en modo de mantenimiento. De esta forma, se evita la creación involuntaria de certificados de usuario con parámetros no deseados.
- Sin embargo, las actividades relacionadas con certificados de usuario existentes, como el inicio de sesión de VDA o el uso durante la sesión, siguen estando permitidas.
Aunque no se permite la creación automática de certificados de usuario, los administradores pueden seguir creando certificados de usuario mediante comandos de PowerShell como New-FasUserCertificate
o Test-FasCertificateSigningRequest
.
Uso de la consola de administración
Uso de PowerShell
Para poner un servidor FAS en modo de mantenimiento, use este procedimiento:
Set-FasServer -Address localhost -MaintenanceMode $true
Para sacar un servidor FAS del modo de mantenimiento (y volver a ponerlo en funcionamiento normal), use este procedimiento:
Set-FasServer -Address localhost -MaintenanceMode $false
Información relacionada
- Instalación y configuración es la referencia principal para la instalación y la configuración de este servicio.
- Las implementaciones comunes de FAS se resumen en el artículo Descripción general de las arquitecturas de Servicio de autenticación federada.
- En Configuración avanzada, se presentan otros artículos de procedimientos.
En este artículo
- Introducción
- Información sobre certificados y plantillas de FAS
- Opciones de almacenamiento de claves privadas
- Ejemplos de configuración
- Prueba de la configuración de clave privada
- Inspección de certificados de FAS
- Actualización desde versiones de FAS anteriores a Citrix Virtual Apps and Desktops 2411
- Comunicación remota criptográfica
- Modo de mantenimiento