Citrix 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

Para configurar los parámetros del certificado de cliente de autenticación, autorización y auditoría mediante la interfaz de línea de comandos

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

Para configurar los parámetros del certificado de cliente de autenticación, autorización y auditoría mediante la utilidad de configuración

  1. Vaya a Seguridad > AAA - Tráfico de aplicaciones > Servidores virtuales.
  2. En el panel de detalles, seleccione el servidor virtual que desea configurar para gestionar la autenticación de certificados de cliente y, a continuación, haga clic en Modificar.
  3. En la página Configuración, en Certificados, haga clic en la flecha hacia la derecha (>) para abrir el cuadro de diálogo de instalación de la clave de certificado de CA.
  4. En el cuadro de diálogo Clave de certificado de CA, haga clic en Insertar.
  5. En el cuadro de diálogo Clave de certificado de CA - Certificados SSL, haga clic en Instalar.
  6. En el cuadro de diálogo Instalar certificado, defina los siguientes parámetros, cuyos nombres se correspondan con los nombres de los parámetros de la CLI, como se muestra:
    • Nombre del par de claves de certificado*: certKeyName
    • Nombre de archivo de certificado: certFile
    • Nombre de archivo de clave: keyFile
    • Formato de certificado: inform
    • Contraseña: password
    • Paquete de certificados: bundle
    • Notificar cuando caduque: expiryMonitor
    • Período de notificación: notificationPeriod
  7. Haga clic en Instalar y, después, en Cerrar.
  8. En el cuadro de diálogo Clave de certificado de CA, en la lista Certificado, seleccione el certificado raíz.
  9. Haga clic en Guardar.
  10. Haga clic en Atrás para volver a la pantalla de configuración principal.
  11. Vaya a Seguridad > AAA - Tráfico de aplicaciones > Directivas > Autenticación > CERT.
  12. En el panel de detalles, seleccione la directiva que desea configurar para gestionar la autenticación de certificados de cliente y, a continuación, haga clic en Modificar.
  13. En el cuadro de diálogo Configurar directiva CERT de autenticación, en la lista desplegable Servidor, seleccione el servidor virtual que configuró para gestionar la autenticación de certificados de cliente.
  14. Haga clic en Aceptar. Aparece un mensaje en la barra de estado que indica que la configuración se ha completado correctamente.

Autenticación de certificados de cliente mediante

Los siguientes son los pasos para configurar la autenticación de certificados de cliente en Citrix ADC mediante directivas avanzadas.

  1. Vaya a Seguridad > AAA - Tráfico de aplicaciones > Servidores virtuales.
  2. En el panel de detalles, seleccione el servidor virtual que desea configurar para gestionar la autenticación de certificados de cliente y haga clic en Modificar.

    Nota:

    Si ha importado un certificado de CA y un certificado de servidor válidos para el servidor virtual, puede pasar del paso 3 al paso 10.

  3. En la página Configuración, en Certificados, haga clic en > para abrir el cuadro de diálogo de instalación Clave de certificado de CA.
  4. En el cuadro de diálogo Clave de certificado de CA, haga clic en Insertar.
  5. En el cuadro de diálogo Clave de certificado de CA - Certificados SSL, haga clic en Instalar.
  6. En el cuadro de diálogo Instalar certificado, defina los siguientes parámetros, cuyos nombres se correspondan con los nombres de los parámetros de la CLI, como se muestra:

    • Nombre del par de claves de certificado: certkeyName
    • Nombre de archivo de certificado: certFile
    • Nombre de archivo de clave: keyFile
    • Formato de certificado: inform
    • Contraseña: password
    • Paquete de certificados: bundle
    • Notificar cuando caduque: expiryMonitor
    • Período de notificación: notificationPeriod
  7. Haga clic en Instalar y, a continuación, en Cerrar.
  8. En el cuadro de diálogo Clave de certificado de CA, en la lista Certificado, seleccione el certificado raíz.
  9. Haga clic en Guardar.
  10. Haga clic en Atrás para volver a la pantalla de configuración principal.
  11. Vaya a Seguridad > AAA - Tráfico de aplicaciones > Directivas > Autenticación > Directivas avanzadasy, a continuación, seleccione Directiva.
  12. En el panel de detalles, realice una de las siguientes acciones:

    • Para crear una nueva directiva, haga clic en Agregar.
    • Para modificar una directiva existente, selecciónela y, a continuación, haga clic en Modificar.
  13. En el cuadro de diálogo Crear directiva de autenticación o Configurar directiva de autenticación, escriba o seleccione valores para los parámetros.

    • Nombre: nombre de la directiva. No se puede cambiar para una directiva configurada previamente.
    • Tipo de acción: seleccionar certificado
    • Acción: acción de autenticación (perfil) que se va a asociar a la directiva. Puede elegir una acción de autenticación existente o hacer clic en el signo más y crear una nueva acción del tipo correcto.
    • Acción de registro: acción de auditoría que se va a asociar a la directiva. Puede elegir una acción de auditoría existente o hacer clic en el signo más y crear una nueva acción.
    • Expresión: Regla que selecciona las conexiones a las que quiere aplicar la acción especificada. La regla puede ser simple (“true” selecciona todo el tráfico) o compleja. Las expresiones se introducen seleccionando 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, escribiendo la expresión directamente en el área de texto de la expresión o haciendo clic en Agregar para abrir el cuadro de diálogo Agregar expresión y mediante las listas desplegables que contiene para crear el expresión.)
    • Comentario: Puede escribir un comentario que describa el tipo de tráfico al que se aplica esta directiva de autenticación. Opcional.
  14. Haga clic en Crear o Aceptary, a continuación, en Cerrar. Si ha creado una directiva, esa directiva aparece en la página Directivas y servidores de autenticación.

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