Configurar inserción de encabezado basado 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 transacciones SSL recientes requieren que el nombre del sujeto del cliente (contenido en un certificado X509) se registre en el servidor.

Dichos datos se pueden enviar al servidor insertándolos en el encabezado HTTP como un par nombre-valor. Puede insertar todo el certificado de cliente, si es necesario, un hash (también conocido como huella digital o huella digital) de todo el certificado de cliente, o 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, el conjunto de cifrado o la fecha no anterior o no posterior utilizado para determinar la validez del certificado.

Puede habilitar la inserción basada en SSL solo para servidores y servicios virtuales SSL basados en HTTP. No puede aplicarlo a servidores y servicios virtuales SSL basados en TCP. Además, la autenticación de cliente debe estar habilitada en el servidor virtual SSL, ya que los valores insertados se toman del certificado de cliente que se presenta al servidor virtual para la 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 desea insertar la información. Al crear cada directiva, especifique la acción que desea asociar a la directiva. A continuación, vincule las directivas a los servidores virtuales SSL que recibirán el tráfico SSL.

En el ejemplo siguiente se utilizan directivas de sintaxis predeterminadas. En el ejemplo siguiente, se crea una directiva de control (ctrlpol) para realizar la autenticación del cliente si se recibe una solicitud para la dirección URL /testsite/file5.html. Se crea una directiva de datos (datapol) para realizar una acción (act1) si la autenticación del cliente es correcta, y 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. Para otras direcciones URL, la autenticación de cliente está inhabilitada. Las directivas se vinculan 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 encabezado basado 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

Configurar la inserción de encabezados basada 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, establezca los siguientes parámetros:

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

    *Un parámetro requerido

  4. Haga clic en Crear y, a continuación, haga clic 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, establezca los siguientes parámetros:

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

    *Un parámetro requerido

  7. Haga clic en Crear y, a continuación, haga clic 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 desea 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 de SSL y, 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 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 huella digital de certificado de cliente en el encabezado HTTP

Los dispositivos Citrix ADC ahora admiten insertar 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 de 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.

Debe configurar una acción SSL para habilitar la huella digital del certificado del cliente, especificar un nombre de encabezado para insertar la huella digital del certificado del cliente y un resumen (valor hash) para calcular el valor de huella digital. El dispositivo Citrix ADC admite resúmenes SHA1 y SHA2 (SHA224, SHA256, SHA384, SHA512). El dispositivo obtiene el valor de 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.

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

En el símbolo del sistema, escriba:

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

Cliente:

ClientCertHuella digital:

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

CertFingerPrintHeader:

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

CertFingerPrintDigest:

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
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
add ssl policy pol1 -rule true -action act1
Done
bind ssl vserver v1 -policyName pol1 -priority 10
Done
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

Configure una acción SSL para insertar huella digital de 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, establezca los siguientes parámetros:
    • Nombre*
    • Impresión digital de certificado de cliente
    • Etiqueta de huella digital
    • Digest de huellas dactilares *Un parámetro requerido
  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, establezca los siguientes parámetros:
    • Nombre*
    • Acción
    • Expresión *Un parámetro requerido
  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 desea 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 Enlace de directivas, seleccione la directiva creada anteriormente y asigne una prioridad.
  12. Haga clic en Bind.