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 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.
- Inserte la fecha no antes o no posterior utilizada 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 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 ejemplo siguiente se utilizan directivas de sintaxis predeterminadas. En el ejemplo siguiente, se crea una directiva de control (ctrlpol
) para realizar la autenticación de 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. 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
<!--NeedCopy-->
Configurar la inserción de encabezados basada en SSL mediante la interfaz gráfica de usuario
-
Vaya a Administración de Tráfico > SSL > Directivas.
-
En el panel de detalles, en la ficha Acciones, haga clic en Agregar.
-
En el cuadro de diálogo Crear acción SSL, defina los siguientes parámetros:
- Nombre*
- Certificado del cliente
- Etiqueta de certificado
- Emisor de certificado de cliente
- Etiqueta de emisor
*Un parámetro requerido
-
Haga clic en Crear y, a continuación, en Cerrar.
-
En la ficha, haga clic en Agregar para crear una directiva de control.
-
En el cuadro de diálogo Crear directiva SSL, defina los parámetros siguientes:
- Nombre*
- Expresión
- Solicitar acción
*Un parámetro requerido
-
Haga clic en Crear y, a continuación, en Cerrar.
-
Cree una directiva de datos repitiendo los pasos 5 a 7.
-
En el panel de navegación, expanda SSL Offload y haga clic en Virtual Servers.
-
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.
-
En el cuadro de diálogo Configurar servidor virtual (descarga SSL), haga clic en Configuración de SSLy, a continuación, haga clic en Directivas SSL.
-
En el cuadro de diálogo Vincular o desenlazar directivas SSL, haga clic en Insertar directiva. En Nombre de directiva, seleccione la directiva que creó en los pasos 5 a 7.
-
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.
-
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.
Configure una acción SSL para habilitar la huella digital del certificado del cliente, especifique un nombre de encabezado para insertar la huella digital del certificado de 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>
<!--NeedCopy-->
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
<!--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-->
Configure una acción SSL para insertar huella digital de certificado de cliente mediante la interfaz gráfica de usuario
- Vaya a Administración de Tráfico > SSL > Directivas.
- En el panel de detalles, seleccione la ficha Acciones SSL y haga clic en Agregar.
- En el cuadro de diálogo Crear acción SSL, defina los siguientes parámetros:
- Nombre*
- Impresión digital de certificado de cliente
- Etiqueta de huella digital
- Digest de huellas dactilares *Un parámetro requerido
- Haga clic en Crear.
- Seleccione la ficha Directivas SSL y haga clic en Agregar.
- En el cuadro de diálogo Crear directiva SSL, defina los parámetros siguientes:
- Nombre*
- Action
- Expresión *Un parámetro requerido
- Haga clic en Crear.
- Vaya a Administración del Traffic Management> Equilibrio de carga > Servidores virtuales.
- 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.
- En Configuración avanzada, haga clic en Directivas SSL.
- 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.
- Haga clic en Vincular.