Citrix ADC

Configurar inserción de encabezados basados en SSL

Dado que el dispositivo Citrix ADC descarga todo el procesamiento relacionado con SSL de los servidores, los servidores solo reciben tráfico HTTP. En algunas circunstancias, el servidor necesita cierta información SSL. Por ejemplo, las auditorías de seguridad de las transacciones SSL recientes requieren que el nombre del sujeto del cliente (contenido en un certificado X509) se inicie sesión en el servidor.

Estos datos se pueden enviar al servidor insertándolos en el encabezado HTTP como par nombre-valor. Puede realizar una de las siguientes acciones:

  • Inserte el certificado de cliente completo, si es necesario, un hash (también conocido como huella digital o huella digital) de todo el certificado de cliente.
  • Inserte solo los campos específicos del certificado, como el asunto, el número de serie, el emisor, la firma, el ID de sesión SSL y el conjunto de cifrado.
  • Introduzca la fecha anterior o no posterior utilizada para determinar la validez del certificado.

Solo puede habilitar la inserción basada en SSL para servidores y servicios virtuales SSL basados en HTTP. No se puede aplicar a los servidores y servicios virtuales SSL basados en TCP. Además, la autenticación del cliente debe estar habilitada en el servidor virtual SSL, porque los valores insertados se toman del certificado de cliente que se presenta al servidor virtual para su autenticación.

Para configurar la inserción de encabezados basada en SSL, primero cree una acción SSL para cada conjunto específico de información que se va a insertar y, a continuación, cree directivas que identifiquen las conexiones para las que quiere insertar la información. Al crear cada directiva, especifique la acción que quiere asociar a la directiva. A continuación, vincule las directivas a los servidores virtuales SSL que reciben el tráfico SSL.

En el siguiente ejemplo se utilizan directivas de directivas avanzadas. En el siguiente ejemplo, se crea una directiva de control (ctrlpol) para realizar la autenticación del cliente si se recibe una solicitud para la URL /testsite/file5.html. Se crea una directiva de datos (datapol) para realizar una acción (act1) si la autenticación del cliente se realiza correctamente. Se agrega una acción SSL (act1) para insertar los detalles del certificado y el nombre del emisor en la solicitud antes de reenviar la solicitud. En el caso de otras URL, la autenticación del cliente está inhabilitada. Las directivas se enlazan a un servidor virtual SSL (ssl_vserver) que recibe el tráfico SSL.

Ejemplo de línea de comandos de configuración de inserción de encabezados basados en SSL

Ejemplo:

add ssl action act1 -clientCert ENABLED -certHeader mycert -clientcertissuer ENABLED -certIssuerHeader myissuer

add ssl policy datapol -rule HTTP.REQ.URL.EQ("/testsite/file5.html") -action act1

add ssl policy ctrlpol -rule HTTP.REQ.URL.EQ("/testsite/file5.html") -action CLIENTAUTH

bind ssl vserver ssl_vserver -policyName ctrlpol -priority 1

bind ssl vserver ssl_vserver -policyName datapol -priority 1

Done
<!--NeedCopy-->

Configurar la inserción de encabezados basados en SSL mediante la interfaz gráfica de usuario

  1. Vaya a Administración del tráfico > SSL > Directivas.

  2. En el panel de detalles, en la ficha Acciones, haga clic en Agregar.

  3. En el cuadro de diálogo Crear acción SSL, defina los siguientes parámetros:

    • Nombre*
    • Certificado de cliente
    • Etiqueta de certificado
    • Emisor del certificado de cliente
    • Etiqueta de emisor

    * Un parámetro obligatorio

  4. Haga clic en Creary, a continuación, en Cerrar.

  5. En la ficha, haga clic en Agregar para crear una directiva de control.

  6. En el cuadro de diálogo Crear directiva SSL, defina los siguientes parámetros:

    • Nombre*
    • Expresión
    • Solicitar acción

    * Un parámetro obligatorio

  7. Haga clic en Creary, a continuación, en Cerrar.

  8. Cree una directiva de datos repitiendo los pasos 5 a 7.

  9. En el panel de navegación, expanda SSL Offload y haga clic en Virtual Servers.

  10. En el panel de detalles, en la lista de servidores virtuales, seleccione el servidor virtual al que quiere enlazar las directivas SSL y, a continuación, haga clic en Abrir.

  11. En el cuadro de diálogo Configurar servidor virtual (descarga SSL), haga clic en Configuración SSLy, a continuación, haga clic en Directivas SSL.

  12. En el cuadro de diálogo Vincular o desvincular directivas SSL, haga clic en Insertar directiva. En Nombre de la directiva, seleccione la directiva que creó en los pasos 5 a 7.

  13. Haga clic en Aceptar y, a continuación, haga clic en Cerrar. Aparece un mensaje en la barra de estado que indica que la directiva se ha enlazado correctamente.

  14. Repita los pasos 12 y 13 y seleccione la directiva que creó en el paso 8.

Configurar una acción de directiva SSL para insertar la huella digital del certificado de cliente en el encabezado HTTP

Los dispositivos Citrix ADC ahora admiten la inserción de la huella digital (también llamada huella digital) de un certificado en el encabezado de una solicitud enviada a un servidor back-end. Si la autenticación del cliente está habilitada, el dispositivo calcula la huella digital del certificado y utiliza una acción de directiva SSL para insertar la huella digital en la solicitud. El servidor busca la huella digital y concede acceso seguro si hay una coincidencia.

Configure una acción SSL para habilitar la huella digital del certificado de cliente, especifique un nombre de encabezado para insertar la huella digital del certificado del cliente y un resumen (valor hash) para calcular el valor de la huella digital. El dispositivo Citrix ADC admite resúmenes SHA1 y SHA2 (SHA224, SHA256, SHA384, SHA512). El dispositivo obtiene el valor de la huella digital calculando el resumen especificado de la codificación DER del certificado de cliente. A continuación, cree una directiva SSL que especifique esta acción y vincule la directiva a un servidor virtual SSL.

Configurar una acción SSL para insertar la huella digital del certificado de cliente mediante la CLI

En el símbolo del sistema, escriba:

add ssl action <name> -clientCertFingerprint ( ENABLED | DISABLED ) -certFingerprintHeader <string> -certFingerprintDigest <certFingerprintDigest>
<!--NeedCopy-->

Argumentos:

Huella digital del certificado del cliente:

Inserte la huella digital del certificado en el encabezado HTTP de la solicitud que se envía al servidor web. La huella digital se obtiene calculando el valor hash especificado (SHA256, por ejemplo) de la codificación DER del certificado de cliente.

Encabezado de huella digital CERT:

Nombre del encabezado en el que se insertará la huella digital del certificado de cliente.

Resumen de huellas dactilares de Cert:

Algoritmo de resumen utilizado para calcular la huella digital del certificado de cliente.

Valores posibles: SHA1, SHA224, SHA256, SHA384, SHA512

Ejemplo:

add ssl action act1 -clientcertfingerprint ENABLED -certfingerprintdigest SHA1 -certfingerprintheader example
Done
<!--NeedCopy-->
sh ssl action act1
    1)      Name: act1
            Type: Data Insertion
            Cert Fingerprint Header: ENABLED
            Cert-Fingerprint Tag: example
            Cert-Fingerprint Digest Algorithm: SHA1
            Hits: 0
            Undef Hits: 0
            Action Reference Count: 0
Done
<!--NeedCopy-->
add ssl policy pol1 -rule true -action act1
Done
<!--NeedCopy-->
bind ssl vserver v1 -policyName pol1 -priority 10
Done
<!--NeedCopy-->
sh ssl vserver v1

            Advanced SSL configuration for VServer v1:
            DH: DISABLED
            DH Private-Key Exponent Size Limit: 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
            SSLv2: DISABLED SSLv3: DISABLED TLSv1.0: DISABLED  TLSv1.1: ENABLED  TLSv1.2: DISABLED
            Push Encryption Trigger: Always
            Send Close-Notify: YES

            ECC Curve: P_256, P_384, P_224, P_521

    1)      CertKey Name: intca6    CA Certificate          CRLCheck: Mandatory             CA_Name Sent
    2)      CertKey Name: intca5    CA Certificate          CRLCheck: Mandatory             CA_Name Sent
    3)      CertKey Name: intca4    CA Certificate          CRLCheck: Mandatory             CA_Name Sent
    4)      CertKey Name: intca3    CA Certificate          CRLCheck: Mandatory             CA_Name Sent
    5)      CertKey Name: intca2    CA Certificate          CRLCheck: Mandatory             CA_Name Sent
    6)      CertKey Name: intca1    CA Certificate          CRLCheck: Mandatory             CA_Name Sent

            Data policy
    1)      Policy Name: pol1       Priority: 10

    1)      Cipher Name: DEFAULT
            Description: Default cipher list with encryption strength >= 128bit
    Done
<!--NeedCopy-->

Configurar una acción SSL para insertar la huella digital del certificado de cliente mediante la interfaz gráfica de usuario

  1. Vaya a Administración del tráfico > SSL > Directivas.
  2. En el panel de detalles, seleccione la ficha Acciones SSL y haga clic en Agregar.
  3. En el cuadro de diálogo Crear acción SSL, defina los siguientes parámetros:
    • Nombre*
    • Huella digital del certificado de cliente
    • Etiqueta de huellas dactilares
    • FingerPrint Digest *Un parámetro obligatorio
  4. Haga clic en Crear.
  5. Seleccione la ficha Directivas SSL y haga clic en Agregar.
  6. En el cuadro de diálogo Crear directiva SSL, defina los siguientes parámetros:
    • Nombre*
    • Acción
    • Expresión *Un parámetro obligatorio
  7. Haga clic en Crear.
  8. Vaya a Administración del tráfico > Equilibrio de carga > Servidores virtuales.
  9. En el panel de detalles, en la lista de servidores virtuales SSL, seleccione el servidor virtual al que quiere enlazar la directiva SSL y, a continuación, haga clic en Modificar.
  10. En Configuración avanzada, haga clic en Directivas SSL.
  11. Haga clic debajo de Directiva SSL y, en el cuadro de diálogo Vinculación de directivas, seleccione la directiva creada anteriormente y asigne una prioridad.
  12. Haga clic en Bind.