Configurar inserción de encabezados basados en SSL
Como el dispositivo NetScaler 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
-
Vaya a Administración del 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 de cliente
- Etiqueta de certificado
- Emisor del certificado de cliente
- Etiqueta de emisor
* Un parámetro obligatorio
-
Haga clic en Creary, 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 siguientes parámetros:
- Nombre*
- Expresión
- Solicitar acción
* Un parámetro obligatorio
-
Haga clic en Creary, 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 SSLy, a continuación, haga clic en Directivas SSL.
-
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.
-
Haga clic en Aceptary, a continuación, 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 la huella digital del certificado de cliente en el encabezado HTTP
Los dispositivos NetScaler ahora permiten insertar la huella digital (también denominada huella digital) de un certificado en el encabezado de una solicitud enviada a un servidor de fondo. 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 NetScaler admite los 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
- Vaya a Administración del 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*
- Huella digital del certificado de cliente
- Etiqueta de huellas dactilares
- FingerPrint Digest *Un parámetro obligatorio
- Haga clic en Create.
- Seleccione la ficha Directivas SSL y haga clic en Agregar.
- En el cuadro de diálogo Crear directiva SSL, defina los siguientes parámetros:
- Nombre*
- Acción
- Expresión *Un parámetro obligatorio
- Haga clic en Create.
- Vaya a Administración del tráfico > 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 Vinculación de directivas, seleccione la directiva creada anteriormente y asigne una prioridad.
- Haga clic en Bind.
En este artículo
- Ejemplo de línea de comandos de configuración de inserción de encabezados basados en SSL
- Configurar la inserción de encabezados basados en SSL mediante la interfaz gráfica de usuario
- Configurar una acción de directiva SSL para insertar la huella digital del certificado de cliente en el encabezado HTTP