Autenticación de clientes o TLS mutuo (MTL)
En una transacción SSL típica, el cliente que se conecta a un servidor a través de una conexión segura verifica la validez del servidor. Para ello, comprueba el certificado del servidor antes de iniciar la transacción SSL. Sin embargo, en ocasiones, es posible que quiera configurar el servidor para autenticar al cliente que se conecta a él.
Nota: A partir de la versión 13.0 compilación 41.x, el dispositivo Citrix ADC admite mensajes de solicitud de certificados que se fragmentan en más de un registro siempre que el tamaño total sea inferior a 32 KB. Anteriormente, el tamaño máximo admitido era de 16 KB y la fragmentación no era compatible.
Con la autenticación de cliente habilitada en un servidor virtual SSL, el dispositivo Citrix ADC solicita el certificado de cliente durante el protocolo de enlace SSL. El dispositivo comprueba el certificado presentado por el cliente en busca de restricciones normales, como la firma del emisor y la fecha de caducidad.
Nota
Para que el dispositivo verifique las firmas del emisor, el certificado de la CA que emitió el certificado de cliente debe ser:
- Se instala en el dispositivo.
- Enlazado al servidor virtual con el que el cliente realiza transacciones.
Si el certificado es válido, el dispositivo permite que el cliente acceda a todos los recursos seguros. Sin embargo, si el certificado no es válido, el dispositivo descarta la solicitud del cliente durante el protocolo de enlace SSL.
El dispositivo verifica el certificado de cliente formando primero una cadena de certificados, que comienza con el certificado de cliente y termina con el certificado de CA raíz para el cliente (por ejemplo, Verisign). El certificado de CA raíz puede contener uno o más certificados de CA intermedios (si la CA raíz no emite directamente el certificado de cliente).
Antes de habilitar la autenticación de clientes en el dispositivo Citrix ADC, asegúrese de que haya un certificado de cliente válido instalado en el cliente. A continuación, habilite la autenticación de clientes para el servidor virtual que gestiona las transacciones. Por último, vincule el certificado de la CA que emitió el certificado de cliente al servidor virtual del dispositivo.
Nota: Un dispositivo Citrix ADC MPX admite un tamaño de par de claves de certificado de 512 bits a 4096 bits. El certificado debe firmarse mediante uno de los siguientes algoritmos hash:
- MD5
- SHA-1
- SHA-224
- SHA-256
- SHA-384
- SHA-512
En un dispositivo SDX, si se asigna un chip SSL a una instancia VPX, se aplica la compatibilidad de tamaño de par de claves de certificado de un dispositivo MPX. De lo contrario, se aplica la compatibilidad normal de tamaño de par de claves de certificado de una instancia VPX.
Un dispositivo virtual Citrix ADC (instancia VPX) admite certificados de al menos 512 bits, hasta los siguientes tamaños:
- Certificado de servidor de 4096 bits en el servidor virtual
- Certificado de cliente de 4096 bits en el servicio
- Certificado CA de 4096 bits
- Certificado de 4096 bits en el servidor físico
Nota: A partir de la versión 13.0 compilación 79.x, se admite la autenticación de clientes con un certificado de cliente RSA de 4096 bits durante un protocolo de enlace SSL en la plataforma VPX.
Notas:
- Para conocer las limitaciones de MPX FIPS, consulte Limitaciones de MPX FIPS.
- Para conocer las limitaciones FIPS de SDX, consulte Limitaciones de SDX FIPS.
Proporcionar el certificado de cliente
Antes de configurar la autenticación de clientes, se debe instalar un certificado de cliente válido en el cliente. Un certificado de cliente incluye detalles sobre el sistema cliente específico que crea sesiones seguras con el dispositivo Citrix ADC. Cada certificado de cliente es único y solo debe usarlo un sistema cliente.
Ya sea que obtenga el certificado de cliente de una CA, use un certificado de cliente existente o genere un certificado de cliente en el dispositivo Citrix ADC, debe convertir el certificado al formato correcto. En el dispositivo Citrix ADC, los certificados se almacenan en formato PEM o DER y deben convertirse al formato PKCS #12 antes de instalarse en el sistema cliente. Después de convertir el certificado y transferirlo al sistema cliente, asegúrese de que esté instalado en ese sistema y configurado para la aplicación cliente. La aplicación, como un explorador web, debe formar parte de las transacciones SSL.
Para obtener instrucciones sobre cómo convertir un certificado de formato PEM o DER al formato PKCS #12, consulte Importación y conversión de archivos SSL.
Para obtener instrucciones sobre cómo generar un certificado de cliente, consulte Crear un certificado.
Habilitar la autenticación basada en certificados de cliente
De forma predeterminada, la autenticación del cliente está inhabilitada en el dispositivo Citrix ADC y todas las transacciones SSL se realizan sin autenticar al cliente. Puede configurar la autenticación del cliente para que sea opcional u obligatoria como parte del protocolo de enlace SSL.
Si la autenticación del cliente es opcional, el dispositivo solicita el certificado del cliente, pero continúa con la transacción SSL incluso si el cliente presenta un certificado no válido. Si la autenticación del cliente es obligatoria, el dispositivo finaliza el protocolo de enlace SSL si el cliente SSL no proporciona un certificado válido.
Precaución: Citrix recomienda definir directivas de control de acceso adecuadas antes de cambiar la comprobación de autenticación basada en certificados de cliente a opcional.
Nota: La autenticación de clientes se configura para servidores virtuales SSL individuales, no de forma global.
Habilitar la autenticación basada en certificados de cliente mediante la CLI
En el símbolo del sistema, escriba los siguientes comandos para habilitar la autenticación basada en certificados de cliente y verificar la configuración:
set ssl vserver <vServerName> [-clientAuth (ENABLED | DISABLED)] [-clientCert (MANDATORY | OPTIONAL)]
show ssl vserver <vServerName>
<!--NeedCopy-->
Ejemplo:
set ssl vserver vssl -clientAuth ENABLED -clientCert Mandatory
Done
show ssl vserver vssl
Advanced SSL configuration for VServer vssl:
DH: DISABLED
Ephemeral RSA: ENABLED Refresh Count: 0
Session Reuse: ENABLED Timeout: 120 seconds
Cipher Redirect: DISABLED
SSLv2 Redirect: DISABLED
ClearText Port: 0
Client Auth: ENABLED Client Cert Required: Mandatory
SSL Redirect: DISABLED
Non FIPS Ciphers: DISABLED
SNI: DISABLED
OCSP Stapling: DISABLED
HSTS: DISABLED
HSTS IncludeSubDomains: NO
HSTS Max-Age: 0
SSLv2: DISABLED SSLv3: ENABLED TLSv1.0: ENABLED TLSv1.2: ENABLED TLSv1.2: ENABLED
1) CertKey Name: sslckey Server Certificate
1) Policy Name: client_cert_policy Priority: 0
1) Cipher Name: DEFAULT
Description: Predefined Cipher Alias
Done
<!--NeedCopy-->
Habilitar la autenticación basada en certificados de cliente mediante la interfaz gráfica de usuario
- Vaya a Administración del tráfico > Equilibrio de carga > Servidores virtualesy abra un servidor virtual.
- En la sección Parámetros SSL, seleccione Autenticación de cliente y, en la lista Certificado de cliente, seleccione Obligatorio.
Nota:
Si la autenticación del cliente se establece en obligatoria y si el certificado del cliente contiene extensiones de directiva, la validación del certificado falla. A partir de la versión 12.0-56.x, puede establecer un parámetro en el perfil SSL front-end para omitir esta comprobación. El parámetro está inhabilitado de forma predeterminada. Es decir, la comprobación se realiza de forma predeterminada.
Omitir la comprobación de la extensión de directivas durante la autenticación del cliente mediante la CLI
En el símbolo del sistema, escriba:
set ssl profile ns_default_ssl_profile_frontend -clientauth ENABLED -skipClientCertPolicyCheck ENABLED
Parameter
skipClientCertPolicyCheck
Control policy extension check, if present inside the X509 certificate chain. Applicable only if client authentication is enabled and client certificate is set to mandatory. Possible values functions as follows:
- ENABLED: Skip the policy check during client authentication.
- DISABLED: Perform policy check during client authentication.
Possible values: ENABLED, DISABLED
Default: DISABLED
<!--NeedCopy-->
Omitir la comprobación de la extensión de directivas durante la autenticación del cliente mediante la GUI
- Vaya a Sistema > Perfiles > Perfiles SSL.
- Cree un nuevo perfil front-end o modifique un perfil front-end existente.
- Compruebe que la autenticación del cliente esté habilitada y que el certificado del cliente esté configurado como obligatorio.
- Seleccione Omitir comprobación de directivas de certificados de cliente.
Enlazar certificados de CA al servidor virtual
Una CA cuyo certificado esté presente en el dispositivo Citrix ADC debe emitir el certificado de cliente utilizado para la autenticación de clientes. Enlazar este certificado al servidor virtual Citrix ADC que lleva a cabo la autenticación del cliente.
Enlace el certificado de CA al servidor virtual SSL de tal manera que el dispositivo pueda formar una cadena de certificados completa cuando verifique el certificado de cliente. De lo contrario, la formación de la cadena de certificados falla y se deniega el acceso al cliente incluso si su certificado es válido.
Puede vincular certificados de CA al servidor virtual SSL en cualquier orden. El dispositivo forma el pedido correcto durante la verificación del certificado del cliente.
Por ejemplo, si el cliente presenta un certificado emitido por CA_A, donde CA_A es unaCA intermedia cuyo certificado es emitido por CA_B, cuyo certificado es emitido a su vez por una CA raíz de confianza, Root_CA, una cadena de certificados que contienen estos tres certificados deben estar enlazados al servidor virtual del dispositivo Citrix ADC.
Para obtener instrucciones sobre cómo vincular uno o varios certificados al servidor virtual, consulte Vincular el par de claves de certificado al servidor virtual SSL.
Para obtener instrucciones sobre cómo crear una cadena de certificados, consulte Crear una cadena de certificados.
Control más estricto de la validación de certificados de cliente
El dispositivo Citrix ADC acepta certificados de CA intermedia válidos si los emite una sola CA raíz. Es decir, si solo el certificado de CA raíz está enlazado al servidor virtual y esa CA raíz valida cualquier certificado intermedio enviado con el certificado de cliente, el dispositivo confía en la cadena de certificados y el protocolo de enlace se realiza correctamente.
Sin embargo, si un cliente envía una cadena de certificados en el protocolo de enlace, ninguno de los certificados intermedios se puede validar mediante un respondedor CRL u OCSP, a menos que dicho certificado esté enlazado al servidor virtual SSL. Por lo tanto, incluso si se revoca uno de los certificados intermedios, el apretón de manos tiene éxito. Como parte del apretón de manos, el servidor virtual SSL envía la lista de certificados de CA que están enlazados a él. Para un control más estricto, puede configurar el servidor virtual SSL para que acepte solo un certificado firmado por uno de los certificados de CA enlazados a ese servidor virtual. Para ello, debe habilitar la configuración ClientAuthuseBoundCachain en el perfil SSL enlazado al servidor virtual. El protocolo de enlace falla si uno de los certificados de CA enlazados al servidor virtual no ha firmado el certificado de cliente.
Por ejemplo, supongamos que dos certificados de cliente, clientcert1 y clientcert2, están firmados por los certificados intermedios Int-CA-A e Int-CA-B, respectivamente. Los certificados intermedios están firmados por el certificado raíz Root-CA. Int-CA-A y Root-CA están enlazados al servidor virtual SSL. En el caso predeterminado (ClientAuthUseBoundCAChain inhabilitado), se aceptan tanto clientcert1 como clientcert2. Sin embargo, si ClientAuthuseBoundCachain está habilitado, el dispositivo Citrix ADC solo acepta clientcert1.
Habilite un control más estricto en la validación de certificados de cliente mediante la CLI
En el símbolo del sistema, escriba:
set ssl profile <name> -ClientAuthUseBoundCAChain Enabled
<!--NeedCopy-->
Permitir un control más estricto de la validación de certificados de cliente mediante la interfaz gráfica de usuario
- Vaya a Sistema > Perfiles, seleccione la ficha Perfiles SSL y cree un perfil SSL o seleccione un perfil existente.
- Seleccione Habilitar autenticación de clientes mediante la cadena de CA enlazada.