ADC

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.

Con la autenticación de cliente habilitada en un servidor virtual SSL, el dispositivo NetScaler 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.

A partir de la versión 13.1, compilación 42.x, el dispositivo NetScaler admite la validación de certificados con firma cruzada. Es decir, si un certificado está firmado por varios emisores, la validación se aprueba si hay al menos una ruta válida al certificado raíz. Anteriormente, si uno de los certificados de la cadena de certificados estaba firmado de forma cruzada y tenía varias rutas al certificado raíz, el dispositivo ADC solo comprobaba si había una ruta. Y si esa ruta no era válida, la validación falló.

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 NetScaler, 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 NetScaler 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 NetScaler (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

La siguiente tabla muestra los conjuntos de parámetros RSASSA-PSS que admite NetScaler. Los algoritmos RSASSA-PSS son compatibles con la validación de la ruta del certificado X.509.

OID de clave pública Función de generación de máscaras (MGF) Función de resumen de MGF Función Signature Digest Longitud de sal
rsaEncryption MGF1 SHA-256 SHA-256 32 bytes
rsaEncryption MGF1 SHA-384 SHA-384 48 bytes
rsaEncryption MGF1 SHA-512 SHA-512 64 bytes

Notas:

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 NetScaler. 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 NetScaler, debe convertir el certificado al formato correcto. En el dispositivo NetScaler, 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 NetScaler 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

  1. Vaya a Administración del tráfico > Equilibrio de carga > Servidores virtualesy abra un servidor virtual.
  2. En la sección Parámetros SSL, seleccione Autenticación de clientey, en la lista de certificados 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. Establezca un parámetro en el perfil SSL de interfaz 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

  1. Vaya a Sistema > Perfiles > Perfiles SSL.
  2. Cree un nuevo perfil front-end o modifique un perfil front-end existente.
  3. Compruebe que la autenticación del cliente esté habilitada y que el certificado del cliente esté configurado como obligatorio.
  4. Seleccione Omitir comprobación de directivas de certificados de cliente.

Omitir la comprobación de la directiva

Enlazar certificados de CA al servidor virtual

Una CA cuyo certificado esté presente en el dispositivo NetScaler debe emitir el certificado de cliente utilizado para la autenticación de clientes. Enlazar este certificado al servidor virtual NetScaler 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 NetScaler.

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 NetScaler 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 NetScaler 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

  1. Vaya a Sistema > Perfiles, seleccione la ficha Perfiles SSL y cree un perfil SSL o seleccione un perfil existente.
  2. Seleccione Habilitar autenticación de clientes mediante la cadena de CA enlazada.
Autenticación de clientes o TLS mutuo (MTL)