Citrix ADC

Autenticación de certificados de cliente

Los sitios web que contienen contenido confidencial, como sitios web de banca en línea o 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 sobre la base de atributos de certificado del lado del cliente, primero debe habilitar la autenticación del cliente en el servidor virtual de administración de tráfico y enlazar 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 sobre la base de un certificado de cliente. En cualquier caso, el servidor de autenticación debe admitir CRL. Configurar 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 está configurada una directiva de autenticación y no se configura una cascada global, la información de nombre de usuario se extrae del campo especificado del certificado. Si se extrae el campo requerido, 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 en la autenticación. Después de validar el certificado de cliente, el ADC presenta una página de inicio de sesión al usuario.

En los procedimientos siguientes se supone que ya ha creado una configuración de autenticación, autorización y auditoría en funcionamiento y, por lo tanto, solo se explica 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 en el directorio /nsconfig/ssl.

Configurar la autenticación con certificados del cliente

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

En el símbolo del sistema, escriba los siguientes comandos, en el orden mostrado, 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> -vServer <certkeyName> -CA -crlCheck Mandatory

show ssl certKey [<certkeyName>]

set aaa parameter -defaultAuthType CERT

show aaa parameter

set aaa certParams -userNameField "Subject:CN"

show aaa certParams

Para configurar los parámetros de autenticación, autorización y auditoría del certificado de cliente 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 quiere 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 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, establezca los siguientes parámetros, cuyos nombres corresponden a los nombres de los parámetros CLI como se muestra:
    • Nombre del par de clave-certificado*—CertKeyName
    • Certificate File Name—certFile
    • Key File Name—keyFile
    • Certificate Format—inform
    • Password—password
    • Certificate Bundle—bundle
    • Notify When Expires—expiryMonitor
    • Notification Period—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 > CERT.
  12. En el panel de detalles, seleccione la directiva que quiere 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 de CERT de autenticación, en la lista desplegable Servidor, seleccione el servidor virtual que acaba de configurar 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 completó correctamente.

Autenticación de certificados de cliente mediante directivas avanzadas

A continuación se presentan 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 quiere 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 omitir el 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 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, establezca los siguientes parámetros, cuyos nombres corresponden a los nombres de los parámetros CLI como se muestra:

    • Certificate-Key Pair Name—certkeyName
    • Certificate File Name—certFile
    • Key File Name—keyFile
    • Certificate Format—inform
    • Password—password
    • Certificate Bundle—bundle
    • Notify When Expires—expiryMonitor
    • Notification Period—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 avanzadas y, a continuación, seleccione Directiva.
  12. En el panel de detalles, realice una de las acciones siguientes:

    • 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: El 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 adecuado.
    • Acción de registro: Acción de auditoría que se 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. Para especificar 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 expresión, o bien haga clic en Agregar para abrir el cuadro de diálogo Agregar expresión y utilice las listas desplegables que contiene para crear su expresión.)
    • Comentario: Puede escribir un comentario que describa el tipo de tráfico al que se aplicará esta directiva de autenticación. Opcional.
  14. Haga clic en Crear o Aceptary, a continuación, haga clic en Cerrar. Si ha creado una directiva, dicha directiva aparecerá en la página Directivas de autenticación y servidores.

Transferencia de certificados de cliente

El dispositivo Citrix ADC ahora se puede configurar para pasar certificados de cliente a aplicaciones protegidas que requieren certificados de cliente para la autenticación de usuario. El ADC autentica primero 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 SSL apropiadas.

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 requiere, 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 la autenticación de certificado de cliente inhabilitada, 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 reenvía la solicitud a la aplicación protegida.
  • Si el servidor virtual VPN está configurado para requerir autenticación de certificado de cliente, el ADC utiliza el certificado de cliente para autenticar al usuario, inserta el certificado en el encabezado y reenvía la solicitud a la aplicación protegida.

En todos estos casos, configure el paso a través de certificados de cliente de la siguiente manera.

Crear y configurar el paso a través del certificado de cliente mediante la interfaz de línea de comandos

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

add vpn vserver <name> SSL <IP> 443

Para nombre, sustituya un nombre para el servidor virtual. 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 (:), at (@), igual (=) y guiones (-). Por <IP>, sustituya la dirección IP asignada al servidor virtual.```

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

Por <name>, sustituya el nombre del servidor virtual que acaba de crear. Por <clientCert>, sustituya uno de los valores siguientes:

  • inhabilitar: Inhabilita la autenticación de certificados de cliente en el servidor virtual VPN.
  • mandatario: Configura el servidor virtual VPN para que requiera certificados de cliente para autenticarse.
  • opcional: Configura el servidor virtual VPN para permitir la autenticación de certificados de cliente, pero no para que lo requiera.
bind vpn vserver <name> -policy local

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

bind vpn vserver <name> -policy cert

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

bind ssl vserver <name> -certkeyName <certkeyname>

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

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

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

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

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

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

Por <polname>, sustituya un nombre por la nueva directiva SSL. Por <actname>, sustituya el nombre de la acción SSL que acaba de crear.

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

Por <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
Autenticación de certificados de cliente