ADC

Autenticación de certificados de cliente

Los sitios web que contienen contenido confidencial, como los sitios web de banca en línea o los sitios web con información personal de los empleados, a veces requieren certificados de cliente para la autenticación. Para configurar la autenticación, la autorización y la auditoría para autenticar a los usuarios en función de los atributos del certificado del lado del cliente, primero debe habilitar la autenticación del cliente en el servidor virtual de administración de tráfico y vincular el certificado raíz al servidor virtual de autenticación. A continuación, implementa una de las dos opciones. Puede configurar el tipo de autenticación predeterminado en el servidor virtual de autenticación como CERT o puede crear una acción de certificado que defina lo que debe hacer Citrix ADC para autenticar a los usuarios en función de un certificado de cliente. En cualquier caso, el servidor de autenticación debe admitir CRL. Configure el ADC para extraer el nombre de usuario del campo subjectCN u otro campo especificado en el certificado de cliente.

Cuando el usuario intenta iniciar sesión en un servidor virtual de autenticación para el que no se ha configurado una directiva de autenticación y no se ha configurado una cascada global, la información del nombre de usuario se extrae del campo especificado del certificado. Si se extrae el campo obligatorio, la autenticación se realiza correctamente. Si el usuario no proporciona un certificado válido durante el protocolo de enlace SSL o si se produce un error en la extracción del nombre de usuario, se produce un error de autenticación. Después de validar el certificado de cliente, el ADC presenta una página de inicio de sesión al usuario.

Los siguientes procedimientos suponen que ya ha creado una configuración de autenticación, autorización y auditoría en funcionamiento y, por lo tanto, solo explican cómo habilitar la autenticación mediante certificados de cliente. Estos procedimientos también suponen que ha obtenido el certificado raíz y los certificados de cliente y los ha colocado en el ADC del directorio /nsconfig/ssl.

Configurar la autenticación con certificados del cliente

Configure los parámetros del certificado de cliente mediante la interfaz gráfica de usuario

  1. Instale un certificado de CA y vincúlelo a un servidor virtual de autenticación.

    1. Vaya a Seguridad > AAA: Tráfico de aplicaciones > Servidores virtuales.
    2. En la página Servidores virtuales de autenticación que aparece, seleccione el servidor virtual que desea configurar para gestionar la autenticación con certificados de cliente y, a continuación, haga clic en Modificar.
    3. En la página del servidor virtual de autenticación, vaya a la sección Certificados y haga clic en la flecha derecha “>”.
    4. En la página de enlace de certificados de CA, seleccione un certificado de CA, actualice los demás campos obligatorios y haga clic en Enlazar.

      Vinculación de certificados CA

    5. Si no hay ningún certificado de CA disponible, seleccione Agregar.
    6. En la página Instalar certificado, actualice los siguientes campos, haga clic en Instalar y, a continuación, en Cerrar.
      • Nombre del par de claves de certificado: nombre del par de certificados y claves privadas
      • Nombre del archivo de certificado: el nombre del archivo de certificado que se utiliza para formar el par de claves de certificado. El archivo de certificado debe estar presente en la unidad de disco duro o en la unidad de estado sólido de NetScaler. Almacenar un certificado en cualquier ubicación que no sea la predeterminada puede provocar inconsistencias en una configuración de alta disponibilidad. La ruta predeterminada es /nsconfig/ssl/.
      • Período de notificación: número de días antes del vencimiento del certificado en los que NetScaler notifica al administrador que el certificado está a punto de caducar.
      • Notificar cuando caduque: active esta opción para recibir una alerta cuando el certificado esté a punto de caducar.

      Instalar certificado de CA

    7. Una vez instalado el certificado de CA, vaya a la página de enlace de certificados de CA y vincúlelo a un servidor virtual de autenticación.
  2. Vuelva a la página Seguridad > AAA - Tráfico de aplicaciones > Servidores virtuales.
  3. Vaya a Seguridad > AAA: Tráfico de aplicaciones > Directivas > Autenticación > Directivas básicas > CERT.
  4. Seleccione la directiva que quiera configurar para gestionar la autenticación con certificados de cliente y, a continuación, haga clic en Modificar.
  5. En la página Configurar la directiva CERT de autenticación, vaya a la lista desplegable de servidores y seleccione el servidor virtual que está configurado para gestionar la autenticación con certificados de cliente.
  6. Haga clic en Aceptar.

    Configurar la directiva de certificados de cliente

Configure los parámetros del certificado de cliente mediante la CLI

En el símbolo del sistema, escriba los siguientes comandos, en el orden que se muestra, para configurar el certificado y verificar la configuración:

add ssl certKey <certkeyName> -cert <certFile> -key <keyFile> -password -inform <inform> -expiryMonitor <expiryMonitor> -notificationPeriod <notificationPeriod>

bind ssl certKey [<certkeyName>] [-ocspResponder <string>] [-priority <positive_integer>]

show ssl certKey [<certkeyName>]

set aaa parameter -defaultAuthType CERT

show aaa parameter

set aaa certParams -userNameField "Subject:CN"

show aaa certParams
<!--NeedCopy-->

Configure las directivas de autenticación avanzada de certificados de cliente mediante la interfaz gráfica de usuario

  1. Instale el certificado de CA y vincúlelo a un par de claves de certificado.

    1. Vaya a Seguridad > AAA: Tráfico de aplicaciones > Servidores virtuales.
    2. En la página Servidores virtuales de autenticación que aparece, seleccione el servidor virtual que desea configurar para gestionar la autenticación con certificados de cliente y, a continuación, haga clic en Modificar.
    3. En la página del servidor virtual de autenticación, vaya a la sección Certificados y haga clic en la flecha derecha “>”.
    4. En la página de enlace de certificados de CA, seleccione un certificado de CA, actualice los demás campos obligatorios y haga clic en Enlazar.
    5. Si no hay ningún certificado de CA disponible, seleccione Agregar.
    6. En la página Instalar certificado, actualice los siguientes campos, haga clic en Instalar y, a continuación, en Cerrar.
      • Nombre del par de claves de certificado: nombre del par de certificados y claves privadas
      • Nombre del archivo de certificado: el nombre del archivo de certificado que se utiliza para formar el par de claves de certificado. El archivo de certificado debe estar presente en la unidad de disco duro o en la unidad de estado sólido de NetScaler. Almacenar un certificado en cualquier ubicación que no sea la predeterminada puede provocar inconsistencias en una configuración de alta disponibilidad. La ruta predeterminada es /nsconfig/ssl/.
      • Período de notificación: número de días antes del vencimiento del certificado en los que NetScaler notifica al administrador que el certificado está a punto de caducar.
      • Notificar cuando caduque: active esta opción para recibir una alerta cuando el certificado esté a punto de caducar.
    7. Una vez instalado el certificado de CA, vaya a la página de enlace de certificados de CA y repita el paso 4.
  2. Vuelva a la página Seguridad > AAA - Tráfico de aplicaciones > Servidores virtuales.

    Nota:

    Si ha importado un certificado de CA y un certificado de servidor válidos para el servidor virtual, puede omitir los pasos 1 y 2.

  3. Vaya a Seguridad > AAA - Tráfico de aplicaciones > Directivas > Autenticación > Directivas avanzadasy, a continuación, seleccione Directiva.
  4. En la página Directivas de autenticación, realice una de las siguientes acciones:

    • Para crear una directiva, haga clic en Agregar.
    • Para modificar una directiva existente, selecciónela y, a continuación, haga clic en Modificar.
  5. En la página Crear directiva de autenticacióno Configurar directiva de autenticación, escriba o seleccione valores para los parámetros.

    • Nombre: nombre de la directiva. No puede cambiar el nombre de una directiva previamente configurada.
    • Tipo de acción: Tipo de acción de autenticación.
    • Acción: Nombre de la acción de autenticación que se realizará si la directiva coincide. Puede elegir una acción de autenticación existente o hacer clic en Agregar y crear una acción.
    • Expresión: la regla que selecciona las conexiones a las que desea aplicar la acción que especificó. La regla puede ser simple (“true” selecciona todo el tráfico) o compleja. Para introducir las expresiones, elija primero el tipo de expresión en la lista desplegable situada más a la izquierda, debajo de la ventana Expresión, y, a continuación, escriba la expresión directamente en el área de texto de la expresión o haga clic en Agregar para abrir el cuadro de diálogo Agregar expresión y utilice las listas desplegables que contiene para definir la expresión.
    • Acción de registro: nombre de la acción de auditoría que se utilizará cuando una solicitud de autenticación coincida con esta directiva. Puede elegir una acción de auditoría existente o hacer clic en Agregar para crear una acción.
    • Comentario: puede escribir un comentario que describa el tipo de tráfico al que se aplica esta directiva de autenticación. Este campo es opcional.
  6. Haga clic en Crear o Aceptar y, a continuación, en Cerrar.

Transferencia de certificados de cliente

El Citrix ADC ahora se puede configurar para pasar certificados de cliente a aplicaciones protegidas que requieren certificados de cliente para la autenticación de usuarios. El ADC primero autentica al usuario, luego inserta el certificado de cliente en la solicitud y lo envía a la aplicación. Esta función se configura mediante la adición de directivas de SSL adecuadas.

El comportamiento exacto de esta función cuando un usuario presenta un certificado de cliente depende de la configuración del servidor virtual VPN.

  • Si el servidor virtual VPN está configurado para aceptar certificados de cliente pero no los necesita, el ADC inserta el certificado en la solicitud y, a continuación, reenvía la solicitud a la aplicación protegida.
  • Si el servidor virtual VPN tiene inhabilitada la autenticación de certificados de cliente, el ADC renegocia el protocolo de autenticación y vuelve a autenticar al usuario antes de insertar el certificado de cliente en el encabezado y reenviar la solicitud a la aplicación protegida.
  • Si el servidor virtual VPN está configurado para requerir la autenticación de certificados de cliente, el ADC utiliza el certificado de cliente para autenticar al usuario, luego inserta el certificado en el encabezado y reenvía la solicitud a la aplicación protegida.

En todos estos casos, se configura la transferencia de certificados de cliente de la siguiente manera.

Crear y configurar la transferencia de certificados de cliente mediante la interfaz de línea de comandos

En el símbolo del sistema, escriba los comandos siguientes:

add vpn vserver <name> SSL <IP> 443
<!--NeedCopy-->

En nombre, sustituya el servidor virtual por un nombre. El nombre debe contener entre uno y 127 caracteres ASCII, comenzando por una letra o un guión bajo (_), y que contenga solo letras, números y el guión bajo, hash (#), punto (.), espacio, dos puntos (:), arroba (@), igual (=) y guiones (-). Para <IP>, sustituya la dirección IP asignada al servidor virtual.

set ssl vserver <name> -clientAuth ENABLED -clientCert <clientcert>
<!--NeedCopy-->

Para <name>, sustituya el nombre del servidor virtual que creó. Para <clientCert>, sustituya uno de los valores siguientes:

  • disabled: Inhabilita la autenticación de certificados de cliente en el servidor virtual VPN.
  • mandatory: Configura el servidor virtual VPN para que requiera certificados de cliente para la autenticación.
  • optional: Configura el servidor virtual VPN para permitir la autenticación de certificados de cliente, pero no para que la requiera.
bind vpn vserver <name> -policy local
<!--NeedCopy-->

Para <name>, sustituya el nombre del servidor virtual VPN que creó.

bind vpn vserver <name> -policy cert
<!--NeedCopy-->

Para <name>, sustituya el nombre del servidor virtual VPN que creó.

bind ssl vserver <name> -certkeyName <certkeyname>
<!--NeedCopy-->

Para <name>, sustituya el nombre del servidor virtual que creó. Para <certkeyName>, sustituya la clave de certificado de cliente.

bind ssl vserver <name> -certkeyName <cacertkeyname> -CA -ocspCheck Optional
<!--NeedCopy-->

Para <name>, sustituya el nombre del servidor virtual que creó. Para <cacertkeyName>, sustituya la clave de certificado de CA.

add ssl action <actname> -clientCert ENABLED -certHeader CLIENT-CERT
<!--NeedCopy-->

Para <actname>, sustituya la acción SSL por un nombre.

add ssl policy <polname> -rule true -action <actname>
<!--NeedCopy-->

Para <polname>, sustituya su nueva directiva de SSL por un nombre. Para <actname>, sustituya el nombre de la acción SSL que creó.

bind ssl vserver <name> -policyName <polname> -priority 10
<!--NeedCopy-->

Para <name>, sustituya el nombre del servidor virtual VPN.

Ejemplo

add vpn vserver vs-certpassthru SSL 10.121.250.75 443
set ssl vserver vs-certpassthru -clientAuth ENABLED -clientCert optional
bind vpn vserver vs-certpassthru -policy local
bind vpn vserver vs-certpassthru -policy cert
bind ssl vserver vs-certpassthru -certkeyName mycertKey
bind ssl vserver vs-certpassthru -certkeyName mycertKey -CA -ocspCheck Optional
add ssl action act-certpassthru -clientCert ENABLED -certHeader CLIENT-CERT
add ssl policy pol-certpassthru -rule true -action act-certpassthru
bind ssl vserver vs-certpassthru -policyName pol-certpassthru -priority 10
<!--NeedCopy-->
Autenticación de certificados de cliente