Configuración de descarga SSL
Para configurar la descarga SSL, debe habilitar el procesamiento SSL en el dispositivo Citrix ADC y configurar un servidor virtual basado en SSL. El servidor virtual interceptará el tráfico SSL, lo descifrará y lo reenviará a un servicio que esté enlazado al servidor virtual. Para proteger el tráfico urgente, como la transmisión de contenido multimedia, puede configurar un servidor virtual DTLS. Para habilitar la descarga SSL, debe importar un certificado y una clave válidos y vincular el par al servidor virtual.
Habilitar SSL
Para procesar el tráfico SSL, debe habilitar el procesamiento SSL. Puede configurar entidades basadas en SSL, como servidores y servicios virtuales, sin habilitar el procesamiento SSL. Sin embargo, no funcionan hasta que el procesamiento SSL esté habilitado.
Habilitar el procesamiento SSL mediante la CLI
En el símbolo del sistema, escriba:
enable ns feature ssl
show ns feature
<!--NeedCopy-->
Ejemplo:
enable ns feature SSL
Done
show ns feature
Feature Acronym Status
------- ------- ------
1) Web Logging WL OFF
2) Surge Protection SP ON
3) Load Balancing LB ON
.
.
.
9) SSL Offloading SSL ON
.
.
.
24) NetScaler Push push OFF
Done
<!--NeedCopy-->
Habilitar el procesamiento SSL mediante la interfaz gráfica de usuario
Vaya a Sistema > Configuración y, en el grupo Modos y características, haga clic en Configurar funciones básicasy, a continuación, en Descarga SSL.
Configurar servicios
En el dispositivo Citrix ADC, un servicio representa un servidor físico o una aplicación en un servidor físico. Una vez configurados, los servicios se encuentran en estado inhabilitado hasta que el dispositivo puede llegar al servidor físico de la red y supervisar su estado.
Agregar un servicio mediante la CLI
En el símbolo del sistema, escriba los siguientes comandos para agregar un servicio y verificar la configuración:
add service <name> (<IP> | <serverName>) <serviceType> <port>
show service <serviceName>
<!--NeedCopy-->
Ejemplo:
add service sslsvc 198.51.100.225 SSL 443
Done
sh ssl service sslsvc
Advanced SSL configuration for Back-end SSL Service sslsvc:
DH: DISABLED
DH Private-Key Exponent Size Limit: DISABLED Ephemeral RSA: DISABLED
Session Reuse: ENABLED Timeout: 300 seconds
Cipher Redirect: DISABLED
SSLv2 Redirect: DISABLED
ClearText Port: 0
Server Auth: DISABLED
SSL Redirect: DISABLED
Non FIPS Ciphers: DISABLED
SNI: DISABLED
OCSP Stapling: DISABLED
SSLv2: DISABLED SSLv3: ENABLED TLSv1.0: ENABLED TLSv1.1: ENABLED TLSv1.2: ENABLED TLSv1.3: DISABLED
Send Close-Notify: YES
Strict Sig-Digest Check: DISABLED
Zero RTT Early Data: ???
DHE Key Exchange With PSK: ???
Tickets Per Authentication Context: ???
ECC Curve: P_256, P_384, P_224, P_521
1) Cipher Name: DEFAULT_BACKEND
Description: Default cipher list for Backend SSL session
Done
<!--NeedCopy-->
Modificar o eliminar un servicio mediante la CLI
Para modificar un servicio, use el comando set service, que es igual que usar el comando add service, excepto que ingresa el nombre de un servicio existente.
Para eliminar un servicio, use el comando rm service, que solo acepta el argumento <name>.
rm service <servicename>
<!--NeedCopy-->
Ejemplo:
rm service sslsvc
<!--NeedCopy-->
Para modificar un servicio, use el comando set service, seleccione cualquier parámetro y cambie su configuración.
set service <name> (<IP> | <serverName>) <serviceType> <port>
<!--NeedCopy-->
Ejemplo:
set service sslsvc 198.51.100.225 SSL 443
<!--NeedCopy-->
Configurar un servicio mediante la interfaz gráfica de usuario
Vaya a Administración del tráfico > Equilibrio de carga > Servicios, cree un servicio y especifique el protocolo como SSL.
Configuración del servidor virtual SSL
Las sesiones seguras requieren establecer una conexión entre el cliente y un servidor virtual basado en SSL en el dispositivo Citrix ADC. El servidor virtual SSL intercepta el tráfico SSL, lo descifra y lo procesa antes de enviarlo a los servicios que están enlazados al servidor virtual.
Nota: El servidor virtual SSL se marca como inactivo en el dispositivo Citrix ADC hasta que un par de certificado/clave válido y al menos un servicio estén vinculados a él. Un servidor virtual basado en SSL es un servidor virtual de equilibrio de carga de tipo de protocolo SSL o SSL_TCP. La función de equilibrio de carga debe estar habilitada en el dispositivo Citrix ADC.
Agregar un servidor virtual basado en SSL mediante la CLI
En el símbolo del sistema, escriba los siguientes comandos para crear un servidor virtual basado en SSL y compruebe la configuración:
add lb vserver <name> (serviceType) <IPAddress> <port>
show ssl vserver <name>
<!--NeedCopy-->
Ejemplo:
add lb vserver sslvs SSL 192.0.2.240 443
Done
sh ssl vserver sslvs
Advanced SSL configuration for VServer sslvs:
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: DISABLED
SSL Redirect: DISABLED
Non FIPS Ciphers: DISABLED
SNI: DISABLED
OCSP Stapling: DISABLED
HSTS: DISABLED
HSTS IncludeSubDomains: NO
HSTS Max-Age: 0
SSLv2: DISABLED SSLv3: ENABLED TLSv1.0: ENABLED TLSv1.1: ENABLED TLSv1.2: ENABLED TLSv1.3: DISABLED
Push Encryption Trigger: Always
Send Close-Notify: YES
Strict Sig-Digest Check: DISABLED
Zero RTT Early Data: DISABLED
DHE Key Exchange With PSK: NO
Tickets Per Authentication Context: 1
ECC Curve: P_256, P_384, P_224, P_521
1) Cipher Name: DEFAULT
Description: Default cipher list with encryption strength >= 128bit
Done
<!--NeedCopy-->
Modificar o eliminar un servidor virtual basado en SSL mediante la CLI
Para modificar las propiedades de equilibrio de carga de un servidor virtual SSL, use el comando set lb vserver
. El comando set es similar al comando add lb vserver
, excepto que se ingresa el nombre de un servidor virtual existente. Para modificar las propiedades SSL de un servidor virtual basado en SSL, use el comando set ssl vserver
. Para obtener más información, consulte la sección “Parámetros del servidor virtual SSL” más adelante en esta página.
Para eliminar un servidor virtual SSL, use el comando rm lb vserver
, que solo acepta el argumento <name>
.
Configurar un servidor virtual basado en SSL mediante la interfaz gráfica de usuario
Vaya a Administración del tráfico > Equilibrio de carga > Servidores virtuales, cree un servidor virtual y especifique el protocolo como SSL.
Enlazar servicios al servidor virtual SSL
El dispositivo ADC reenvía los datos SSL descifrados a los servidores de la red. Para reenviar datos, los servicios que representan a estos servidores físicos deben estar vinculados al servidor virtual que recibe los datos SSL.
Por lo general, el enlace entre el dispositivo ADC y el servidor físico es seguro. Por lo tanto, la transferencia de datos entre el dispositivo y el servidor físico no tiene que cifrarse. Sin embargo, puede proporcionar cifrado de extremo a extremo cifrando la transferencia de datos entre el dispositivo y el servidor. Para obtener más información, consulte Configurar la descarga SSL con cifrado de extremo a extremo.
Nota: Habilite la función de equilibrio de carga en el dispositivo ADC antes de enlazar servicios al servidor virtual basado en SSL.
Enlazar un servicio a un servidor virtual mediante la CLI
En el símbolo del sistema, escriba los siguientes comandos para vincular el servicio al servidor virtual y verificar la configuración:
bind lb vserver <name> <serviceName>
show lb vserver <name>
<!--NeedCopy-->
Ejemplo:
bind lb vserver sslvs sslsvc
Done
sh lb vserver sslvs
sslvs (192.0.2.240:443) - SSL Type: ADDRESS
State: DOWN[Certkey not bound]
Last state change was at Wed May 2 11:43:04 2018
Time since last state change: 0 days, 00:13:21.150
Effective State: DOWN
Client Idle Timeout: 180 sec
Down state flush: ENABLED
Disable Primary Vserver On Down : DISABLED
Appflow logging: ENABLED
No. of Bound Services : 1 (Total) 0 (Active)
Configured Method: LEASTCONNECTION BackupMethod: ROUNDROBIN
Mode: IP
Persistence: NONE
Vserver IP and Port insertion: OFF
Push: DISABLED Push VServer:
Push Multi Clients: NO
Push Label Rule: none
L2Conn: OFF
Skip Persistency: None
Listen Policy: NONE
IcmpResponse: PASSIVE
RHIstate: PASSIVE
New Service Startup Request Rate: 0 PER_SECOND, Increment Interval: 0
Mac mode Retain Vlan: DISABLED
DBS_LB: DISABLED
Process Local: DISABLE
Traffic Domain: 0
TROFS Persistence honored: ENABLED
Retain Connections on Cluster: NO
1) sslsvc (198.51.100.225: 443) - SSL State: DOWN Weight: 1
Done
<!--NeedCopy-->
Desvincular un servicio de un servidor virtual mediante la CLI
En el símbolo del sistema, escriba el siguiente comando:
unbind lb vserver <name> <serviceName>
<!--NeedCopy-->
Ejemplo:
unbind lb vserver sslvs sslsvc
Done
<!--NeedCopy-->
Enlazar un servicio a un servidor virtual mediante la interfaz gráfica de usuario
- Vaya a Administración del tráfico > Equilibrio de carga > Servidores virtuales.
- Abra un servidor virtual y haga clic en el mosaico Enlaces de servicios de servidor virtual de equilibrio de carga en la sección Servicios y grupos de servicios.
-
En la página Enlace de servicio de servidor virtual de equilibrio de carga, haga clic en la ficha Agregar enlaces, haga clic en Haga clic para seleccionaren Seleccionar servicioy seleccione la casilla de verificación junto al servicio que se va a vincular.
- Haga clic en Seleccionar y en Enlazar
Configurar un servidor virtual de indicación de nombre de servidor (SNI) para el alojamiento seguro de varios sitios
Los servidores web utilizan el alojamiento virtual para alojar más de un nombre de dominio con la misma dirección IP. El dispositivo admite el alojamiento de varios dominios seguros mediante la descarga del procesamiento SSL de los servidores web mediante servicios SSL transparentes o la descarga SSL basada en servidor virtual. Sin embargo, cuando varios sitios web están alojados en el mismo servidor virtual, el protocolo de enlace SSL se completa antes de que se envíe el nombre de host esperado al servidor virtual. Como resultado, el dispositivo no puede determinar qué certificado debe presentar al cliente después de que se establezca una conexión. Este problema se resuelve habilitando el SNI en el servidor virtual. SNI es una extensión de seguridad de la capa de transporte (TLS) que utiliza el cliente para proporcionar el nombre de host durante el inicio del protocolo de enlace. El dispositivo ADC compara este nombre de host con el nombre común y, si no coincide, lo compara con el nombre alternativo del sujeto (SAN). Si el nombre coincide, el dispositivo presenta el certificado correspondiente al cliente.
Un certificado SSL comodín ayuda a habilitar el cifrado SSL en varios subdominios si la misma organización controla estos dominios y el nombre de dominio de segundo nivel es el mismo. Por ejemplo, un certificado comodín emitido para una red deportiva con el nombre común “*.sports.net” se puede usar para proteger dominios, como “login.sports.net” y “help.sports.net”. No puede proteger el dominio “login.ftp.sports.net”.
Nota: En un dispositivo ADC, solo se comparan las entradas DNS de nombre de dominio, URL e ID de correo electrónico en el campo SAN.
Puede vincular varios certificados de servidor a un solo servidor virtual SSL o servicio transparente mediante la opción -SNICert. El servidor o servicio virtual emite estos certificados si el SNI está habilitado en el servidor o servicio virtual. Puede habilitar el SNI en cualquier momento.
Enlazar varios certificados de servidor a un único servidor virtual SSL mediante la CLI
En el símbolo del sistema, escriba los siguientes comandos para configurar el SNI y verificar la configuración:
set ssl vserver <vServerName>@ [-SNIEnable ( ENABLED | DISABLED )]
bind ssl vserver <vServerName>@ -certkeyName <string> -SNICert
show ssl vserver <vServerName>
<!--NeedCopy-->
Para vincular varios certificados de servidor a un servicio transparente mediante la CLI, reemplace vserver
por “service” y vservername
por “service name” en los comandos anteriores.
Nota: Cree el servicio SSL con la opción -clearTextPort 80
.
Enlazar varios certificados de servidor a un único servidor virtual SSL mediante la interfaz gráfica de usuario
- Vaya a Administración del tráfico > Equilibrio de carga > Servidores virtuales.
- Abra un servidor virtual SSL y, en Certificados, seleccione Certificado de servidor.
- Agregue un certificado o seleccione uno de la lista y haga clic en Certificado de servidor para SNI.
- En Configuración avanzada, seleccione Parámetros SSL.
- Haga clic en Habilitar SNI.
Soporte para SNI en el servicio back-end
Nota: El SNI no se admite en un servicio back-end de DTLS.
El dispositivo Citrix ADC admite la indicación de nombre del servidor (SNI) en el back-end. Es decir, el nombre común se envía como el nombre del servidor en el cliente hola al servidor back-end para completar con éxito el apretón de manos. Este soporte ayuda a cumplir con los requisitos de seguridad del cliente de integradores de sistemas federales Además, el SNI ofrece la ventaja de usar solo un puerto en lugar de abrir cientos de direcciones IP y puertos diferentes en un firewall.
Los requisitos de seguridad del cliente para integradores de sistemas federales incluyen soporte para Active Directory Federation Services (ADFS) 3.0 en 2012R2 y servidores WAP. Para cumplir con este requisito, se requiere soporte para SNI en el back-end en un dispositivo Citrix ADC.
Nota:
Para que SNI funcione, el nombre del servidor en el saludo del cliente debe coincidir con el nombre de host configurado en el servicio back-end que está enlazado a un servidor virtual SSL. Por ejemplo, si el nombre de host del servidor back-end es www.mail.example.com, el servicio back-end habilitado para SNI debe configurarse con el nombre del servidor como https://www.mail.example.com. Y este nombre de host debe coincidir con el nombre del servidor en el saludo del cliente.
Soporte para SNI dinámico en el servicio back-end
El dispositivo Citrix ADC admite SNI dinámico en las conexiones TLS de back-end. Es decir, el dispositivo aprende el SNI en la conexión del cliente y lo usa en la conexión del lado del servidor. Ya no necesita especificar un nombre común en el servicio, el grupo de servicios o el perfil SSL. El nombre común recibido en la extensión SNI del mensaje Client Hello se reenvía a la conexión SSL de back-end.
Anteriormente, tenía que configurar el SNI estático en los servicios SSL, los grupos de servicios y los perfiles SSL. Como resultado, solo se envió al servidor la extensión SNI estática configurada. Si un cliente necesitaba acceder a varios dominios al mismo tiempo, el dispositivo ADC no podía enviar el SNI recibido del cliente al servicio back-end. En cambio, envió el nombre común estático que se configuró. Ahora, si el servidor back-end está configurado para varios dominios, el servidor puede responder con el certificado correcto en función del SNI recibido en el mensaje Client Hello del dispositivo.
Punto a tener en cuenta:
-
El SNI debe estar habilitado en el front-end y el certificado SNI correcto debe estar vinculado al servidor virtual SSL. Si no habilita el SNI en el front-end, la información del SNI no se pasa al back-end.
-
Cuando la autenticación de servidor está habilitada, el certificado de servidor se verifica mediante el certificado de CA y las entradas de nombre común/SAN en el certificado de servidor coinciden con el SNI. Por lo tanto, el certificado de CA debe estar vinculado al servicio.
-
La reutilización de la conexión back-end y la sesión SSL se basa en el SNI cuando se habilita el SNI dinámico.
Los monitores SSL no envían SNI cuando el SNI dinámico está habilitado. Para el sondeo basado en SNI, adjunte un perfil back-end en el que esté configurado el SNI estático a los monitores SSL. El monitor debe configurarse con el mismo encabezado personalizado que el SNI.
Configurar el SNI en el servicio back-end mediante la CLI
En el símbolo del sistema, escriba:
add service <name> <IP> <serviceType> <port>
add lb vserver <name> <IPAddress> <serviceType> <port>
bind lb vserver <name> <serviceName>
set ssl service <serviceName> -SNIEnable ENABLED -commonName <string>
set ssl profile <name> -SNIEnable ENABLED
<!--NeedCopy-->
Ejemplo:
add service service_ssl 198.51.100.100 SSL 443
add lb vserver ssl-vs 203.0.113.200 SSL 443
bind lb vserver ssl-vs service_ssl
set ssl service service_ssl -SNIEnable ENABLED –commonName www.example.com
set ssl profile sslprof -SNIEnable ENABLED
<!--NeedCopy-->
Configurar el SNI en el servicio back-end mediante la interfaz gráfica de usuario
- Vaya a Traffic Management > Load Balancing > Services.
- Seleccione un servicio SSL y, en Configuración avanzada, haga clic en Parámetros SSL.
-
Haga clic en Habilitar SNI.
Configurar el SNI en el perfil SSL mediante la interfaz gráfica de usuario
- Vaya a Sistema > Perfiles > Perfil SSL.
- Haga clic en Agregar.
-
En Configuración básica, seleccione Habilitar SNI.
- Haga clic en Aceptar.
Enlazar un monitor seguro a un servicio back-end habilitado para SNI
Puede vincular monitores seguros de tipo HTTP, HTTP-ECV, TCP o TCP-ECV a los servicios de back-end y a los grupos de servicios que admiten SNI. Sin embargo, los sondeos de monitor no envían la extensión SNI si el SNI dinámico está habilitado. Para enviar sondeos de SNI, habilite el SNI estático en el perfil SSL de back-end y vincule el perfil al monitor. Establezca el encabezado personalizado en el monitor en el nombre del servidor que se envía como la extensión SNI en el saludo del cliente de la sonda del monitor.
Configurar y vincular un monitor seguro a un servicio de back-end habilitado para SNI mediante la CLI
En el símbolo del sistema, escriba:
add lb monitor <monitorName> <type> -secure YES
add ssl profile <name> -sslProfileType BackEnd
set lb monitor <monitorName> <type> -customHeaders <string> -sslprofile <backend ssl profile>
set ssl profile <name> -sniEnable ENABLED -commonName <string>
bind service <name> -monitorName <string>
<!--NeedCopy-->
Ejemplo:
add ssl profile sni_backend_profile -sslProfileType BackEnd
set ssl profile sni_backend_profile -sniEnable ENABLED -commonName example.com
add lb monitor http-ecv-mon HTTP-ECV -secure YES
set monitor http-ecv-mon HTTP-ECV -customHeaders "Host: example.com\r\n" -sslprofile sni_backend_profile
bind service ssl_service –monitorName http-ecv-mon
<!--NeedCopy-->
Configurar y vincular un monitor seguro a un servicio back-end habilitado para SNI mediante la interfaz gráfica de usuario
- Vaya a Sistema > Perfiles > Perfiles SSL.
- Haga clic en Agregar.
-
Especifique un nombre para el perfil y, en Tipo de perfil SSL, seleccione Backend.
-
Especifique el nombre común (igual que el encabezado del host) y seleccione Habilitar SNI.
- Haga clic en Aceptar.
- Vaya a Administración del tráfico > Equilibrio de carga > Supervisar
- Haga clic en Agregar.
- Especifique un nombre para el monitor. En Tipo, seleccione HTTP, HTTP-ECV, TCP o TCP-ECV.
-
Especifique un encabezado personalizado.
- Selecciona Proteger.
- En Perfil SSL, seleccione el perfil SSL back-end creado en los pasos anteriores.
-
Haga clic en Create.
- Vaya a Traffic Management > Load Balancing > Services.
- Seleccione un servicio SSL y haga clic en Modificar.
-
En Monitores, haga clic en Agregar enlace, seleccione el monitor creado en los pasos anteriores y haga clic en Enlazar.
Configurar y vincular un monitor seguro a un servicio de back-end habilitado para SNI mediante la interfaz gráfica de usuario
- Vaya a Administración del tráfico > Equilibrio de carga > Supervisar.
- Agregue un monitor de tipo HTTP-ECV o TCP-ECVy especifique un encabezado personalizado.
- Seleccione Create.
- Vaya a Administración del tráfico > Equilibrio de carga > Servicios.
- Seleccione un servicio SSL y haga clic en Modificar.
- En Monitores, haga clic en Agregar enlace, seleccione el monitor creado en el paso 3 y haga clic en Enlazar.
Agregar o actualizar un par de claves de certificado
Notas:
Si no tiene un certificado y una clave existentes, consulte Crear un certificado.
Para crear un par de claves de certificado ECDSA, haga clic en Crear un par de claves de certificado ECDSA.
Desde la compilación 41.x, se admiten nombres de certificado de hasta 63 caracteres.
A partir de la versión 13.0 compilación 79.x, los pares de claves de certificado protegidos por contraseña siempre se agregan correctamente. Anteriormente, si la opción de contraseña segura estaba habilitada en un dispositivo Citrix ADC, a veces no se agregaban los pares de claves de certificado protegidos con contraseña. Sin embargo, la configuración de la clave de certificado se pierde si se baja a una compilación anterior. Además, en la respuesta de la API de NITRO para pares de claves de certificado, la variable
passplain
se envía en lugar de la variablepasscrypt
.
Para cualquier transacción SSL, el servidor necesita un certificado válido y el par de claves privadas y públicas correspondientes. Los datos SSL se cifran con la clave pública del servidor, que está disponible a través del certificado del servidor. El descifrado requiere la clave privada correspondiente. La contraseña de la clave privada utilizada al agregar un par de claves de certificado SSL se guarda con una clave de cifrado única para cada dispositivo Citrix ADC.
El dispositivo ADC descarga las transacciones SSL del servidor. Por lo tanto, el certificado y la clave privada del servidor deben estar presentes en el dispositivo y el certificado debe estar emparejado con su clave privada correspondiente. Este par de claves de certificado debe estar vinculado al servidor virtual que procesa las transacciones SSL.
Nota: El certificado predeterminado en un dispositivo Citrix ADC es de 2048 bits. En compilaciones anteriores, el certificado predeterminado era de 512 bits o 1024 bits. Después de actualizar a la versión 11.0, debe eliminar todos los pares de claves de certificado anteriores que comiencen por y "ns-"
, a continuación, reiniciar el dispositivo para generar automáticamente un certificado predeterminado de 2048 bits.
Tanto el certificado como la clave deben estar en el almacenamiento local en el dispositivo Citrix ADC antes de que se puedan agregar al dispositivo. Si el archivo de certificado o clave no está en el dispositivo, cárguelo en el dispositivo antes de crear el par.
Importante: Los certificados y las claves se almacenan en el directorio /nsconfig/ssl de forma predeterminada. Si sus certificados o claves se almacenan en cualquier otra ubicación, debe proporcionar la ruta absoluta a los archivos en el dispositivo Citrix ADC. Los dispositivos FIPS de Citrix ADC no admiten claves externas (claves que no sean FIPS). En un dispositivo FIPS, no puede cargar claves desde un dispositivo de almacenamiento local, como un disco duro o una memoria flash. Las claves FIPS deben estar presentes en el módulo de seguridad de hardware (HSM) del dispositivo.
Solo se admiten claves RSA en los dispositivos Citrix ADC.
Establezca el período de notificación y permita que el supervisor de caducidad emita un mensaje antes de que caduque el certificado.
El dispositivo Citrix ADC admite los siguientes formatos de entrada del certificado y los archivos de clave privada:
- PEM: correo con privacidad mejorada
- DER: regla de codificación distinguida
- PFX - Intercambio de información personal
El software detecta automáticamente el formato. Por lo tanto, ya no es necesario que especifique el formato en el parámetro inform. Si especifica el formato (correcto o incorrecto), el software lo ignora. El formato del certificado y el archivo de clave deben ser los mismos.
Nota: Un certificado debe firmarse con uno de los siguientes algoritmos hash:
- MD5
- SHA-1
- SHA-224
- SHA-256
- SHA-384
- SHA-512
Un dispositivo MPX admite certificados de 512 bits o más, hasta los siguientes tamaños:
- Certificado de servidor de 4096 bits en el servidor virtual
- Certificado de cliente de 4096 bits en el servicio
- Certificado de CA de 4096 bits (incluye certificados intermedios y raíz)
- Certificado de 4096 bits en el servidor back-end
- Certificado de cliente de 4096 bits (si la autenticación de cliente está habilitada en el servidor virtual)
Un dispositivo virtual VPX admite certificados de 512 bits o más, hasta los siguientes tamaños:
- Certificado de servidor de 4096 bits en el servidor virtual
- Certificado de cliente de 4096 bits en el servicio
- Certificado de CA de 4096 bits (incluye certificados intermedios y raíz)
- Certificado de 4096 bits en el servidor back-end
- Certificado de cliente de 4096 bits (si la autenticación de cliente está habilitada en el servidor virtual)
Nota
Un dispositivo Citrix ADC SDX admite certificados de 512 bits o más. Cada instancia de Citrix ADC VPX alojada en el dispositivo admite los tamaños de certificado anteriores para un dispositivo virtual VPX. Sin embargo, si se asigna un chip SSL a una instancia, esa instancia admite los tamaños de certificado admitidos por un dispositivo MPX.
Agregar un par de claves de certificado mediante la CLI
En el símbolo del sistema, escriba los siguientes comandos para agregar un par de claves de certificado y verificar la configuración:
add ssl certKey <certkeyName> -cert <string>[(-key <string> [-password]) | -fipsKey <string>] [-inform ( DER | PEM )] [<passplain>] [-expiryMonitor ( ENABLED | DISABLED ) [-notificationPeriod <positive_integer>]]
show ssl certKey [<certkeyName>]
<!--NeedCopy-->
Ejemplo:
add ssl certKey sslckey -cert server_cert.pem -key server_key.pem -password ssl -expiryMonitor ENABLED -notificationPeriod 30
Done
Note: For FIPS appliances, replace -key with -fipskey
show ssl certKey sslckey
Name: sslckey Status: Valid, Days to expiration:8418
Version: 3
Serial Number: 01
Signature Algorithm: md5WithRSAEncryption
Issuer: C=US,ST=SJ,L=SJ,O=NS,OU=NSSSL,CN=www.root.com
Validity
Not Before: Jul 15 02:25:01 2005 GMT
Not After : Nov 30 02:25:01 2032 GMT
Subject: C=US,ST=SJ,L=SJ,O=NS,OU=NSSSL,CN=www.server.com
Public Key Algorithm: rsaEncryption
Public Key size: 2048
Done
<!--NeedCopy-->
Actualizar o eliminar un par de claves de certificado mediante la CLI
Para modificar el supervisor de caducidad o el período de notificación en un par de claves de certificado, utilice el comando set ssl certkey
. Para reemplazar el certificado o la clave en un par de claves de certificado, use el comando update ssl certkey
. El comando update ssl certkey
tiene un parámetro adicional para supeditar la comprobación de dominio. Para ambos comandos, introduzca el nombre de un par de claves de certificado existente. Para eliminar un par de claves de certificado SSL, use el comando rm ssl certkey
, que solo acepta el argumento <certkeyName>
.
Ejemplo:
set ssl certKey <certkeyName> [-expiryMonitor ( ENABLED | DISABLED )
[-notificationPeriod <positive_integer>]]
update ssl certKey <certkeyName> [-cert <string> [-password]] [-key
<string> | -fipsKey <string>] [-inform <inform>] [-noDomainCheck]
<!--NeedCopy-->
Agregar o actualizar un par de claves de certificado mediante la interfaz gráfica de usuario
-
Vaya a Administración del tráfico > SSL > Certificados > Servidor.
-
Introduzca los valores de los siguientes parámetros y haga clic en Instalar.
-
Nombre del par de claves de certificado: nombre para el par de certificado y clave privada.
-
Nombre del archivo del certificado: certificado firmado recibido de la autoridad de certificación.
-
Nombre de archivo de clave: nombre y, opcionalmente, ruta de acceso al archivo de clave privada que se utiliza para formar el par de claves de certificado.
-
Enlazar el par de claves de certificado al servidor virtual SSL
Importante: Vincule los certificados intermedios a este certificado antes de vincularlo a un servidor virtual SSL. Para obtener información sobre la vinculación de certificados, consulte Creación de una cadena de certificados.
El certificado que se utiliza para procesar transacciones SSL debe estar enlazado al servidor virtual que recibe los datos SSL. Si tiene varios servidores virtuales que reciben datos SSL, debe vincularse un par de claves de certificado válido a cada uno de ellos.
Use un certificado SSL válido y existente que haya cargado en el dispositivo Citrix ADC. Como alternativa para realizar pruebas, cree su propio certificado SSL en el dispositivo. Los certificados intermedios creados mediante una clave FIPS en el dispositivo no pueden enlazarse a un servidor virtual SSL.
Durante el enlace SSL, en el mensaje de solicitud de certificado durante la autenticación del cliente, el servidor enumera los nombres distintivos (DN) de todas las autoridades de certificación (CA) enlazadas al servidor. El servidor acepta un certificado de cliente solo de esta lista. Si no quiere que el nombre de DN de un certificado de CA específico se envíe al cliente SSL, establezca la marca skipCA
. Esta configuración indica que el nombre distintivo del certificado de CA concreto no debe enviarse al cliente SSL.
Para obtener más información sobre cómo crear su propio certificado, consulte Administración de certificados.
Nota: Citrix recomienda utilizar solo certificados SSL válidos emitidos por una entidad emisora de certificados de confianza.
Enlazar un par de claves de certificado SSL a un servidor virtual mediante la CLI
En el símbolo del sistema, escriba los siguientes comandos para vincular un par de claves de certificado SSL a un servidor virtual y verificar la configuración:
- bind ssl vserver <vServerName> -certkeyName <certificate-KeyPairName> -CA -skipCAName
- show ssl vserver <vServerName>
<!--NeedCopy-->
Ejemplo:
bind ssl vs vs1 -certkeyName cert2 -CA -skipCAName
Done
sh ssl vs vs1
Advanced SSL configuration for VServer vs1:
DH: DISABLED
Ephemeral RSA: ENABLED Refresh Count: 0
Session Reuse: ENABLED Timeout: 120 seconds
Cipher Redirect: DISABLED
SSLv2 Redirect: DISABLED
ClearText Port: 0
Client Auth: DISABLED
SSL Redirect: DISABLED
Non FIPS Ciphers: DISABLED
SNI: DISABLED
OCSP Stapling: DISABLED
HSTS: DISABLED
IncludeSubDomains: NO
HSTS Max-Age: 0
SSLv2: DISABLED SSLv3: ENABLED TLSv1.0: ENABLED TLSv1.1: DISABLED TLSv1.2: DISABLED
Push Encryption Trigger: Always
Send Close-Notify: YES
Strict Sig-Digest Check: DISABLED
ECC Curve: P_256, P_384, P_224, P_521
1) CertKey Name: cert1 CA Certificate OCSPCheck: Optional CA_Name Sent
2) CertKey Name: cert2 CA Certificate OCSPCheck: Optional CA_Name Skipped
1) Cipher Name: DEFAULT
Description: Default cipher list with encryption strength >= 128bit
Done
<!--NeedCopy-->
Desvincular un par de claves de certificado SSL de un servidor virtual mediante la CLI
Si intenta desvincular un par de claves de certificado de un servidor virtual mediante el comando unbind ssl certKey <certkeyName>
, aparece un mensaje de error. El error aparece porque la sintaxis del comando ha cambiado. En el símbolo del sistema, escriba el siguiente comando:
unbind ssl vserver <vServerName> -certkeyName <string>
<!--NeedCopy-->
Ejemplo:
unbind ssl vserver vssl -certkeyName sslckey
<!--NeedCopy-->
Enlazar un par de claves de certificado SSL a un servidor virtual mediante la interfaz gráfica de usuario
-
Vaya a Administración del tráfico > Equilibrio de carga > Servidores virtuales y abra un servidor virtual SSL. Haga clic en la sección Certificado.
-
Haga clic en la flecha para seleccionar el par de claves de certificado.
-
Seleccione el par de claves de certificado de la lista.
-
Enlace el par de claves de certificado al servidor virtual. Para agregar un certificado de servidor como certificado SNI, seleccione Certificado de servidor para SNI.
Parámetros del servidor virtual SSL
Establezca la configuración SSL avanzada para un servidor virtual SSL. También puede establecer muchos de estos parámetros en un perfil SSL. Para obtener información sobre los parámetros que se pueden establecer en un perfil SSL, consulte Parámetros de perfil SSL.
Establecer los parámetros del servidor virtual SSL mediante la CLI
En el símbolo del sistema, escriba:
set ssl vserver <vServerName>@ [-clearTextPort <port>] [-dh ( ENABLED |DISABLED ) -dhFile <string>] [-dhCount <positive_integer>][-dhKeyExpSizeLimit ( ENABLED | DISABLED )] [-eRSA ( ENABLED | DISABLED) [-eRSACount <positive_integer>]] [-sessReuse ( ENABLED | DISABLED )[-sessTimeout <positive_integer>]] [-cipherRedirect ( ENABLED | DISABLED ) [-cipherURL <URL>]] [-sslv2Redirect ( ENABLED | DISABLED )[-sslv2URL <URL>]] [-clientAuth ( ENABLED | DISABLED ) [-clientCert ( Mandatory | Optional )]] [-sslRedirect ( ENABLED | DISABLED )][-redirectPortRewrite ( ENABLED | DISABLED )] [-ssl2 ( ENABLED | DISABLED )] [-ssl3 ( ENABLED | DISABLED )] [-tls1 ( ENABLED | DISABLED )] [-tls11 ( ENABLED | DISABLED )] [-tls12 ( ENABLED | DISABLED )][-tls13 ( ENABLED | DISABLED )] [-SNIEnable ( ENABLED | DISABLED )][-ocspStapling ( ENABLED | DISABLED )] [-pushEncTrigger <pushEncTrigger>] [-sendCloseNotify ( YES | NO )] [-dtlsProfileName <string>] [-sslProfile <string>] [-HSTS ( ENABLED | DISABLED )][-maxage <positive_integer>] [-IncludeSubdomains ( YES | NO )][-strictSigDigestCheck ( ENABLED | DISABLED )] [-zeroRttEarlyData (ENABLED | DISABLED )] [-tls13SessionTicketsPerAuthContext <positive_integer>] [-dheKeyExchangeWithPsk ( YES | NO )]
<!--NeedCopy-->
Parámetros de Diffie-Hellman (DH)
Para utilizar cifrados en el dispositivo que requieren un intercambio de claves DH para configurar la transacción SSL, habilite el intercambio de claves DH en el dispositivo. Configure otros ajustes en función de su red.
Para enumerar los cifrados para los que se deben configurar los parámetros DH mediante la CLI, escriba: sh cipher DH.
Para enumerar los cifrados para los que se deben establecer parámetros DH mediante la utilidad de configuración, vaya a Traffic Management > SSL > Cipher Groups y haga doble clic en DH.
Para obtener más información sobre cómo habilitar el intercambio de claves DH, consulte Generar una clave Diffie-Hellman (DH).
Configure los parámetros DH mediante la CLI
En el símbolo del sistema, escriba los siguientes comandos para configurar los parámetros DH y verificar la configuración:
- `set ssl vserver <vserverName> -dh <Option> -dhCount <RefreshCountValue> -filepath <string>
- show ssl vserver <vServerName>`
<!--NeedCopy-->
Ejemplo:
set ssl vserver vs-server -dh ENABLED -dhFile /nsconfig/ssl/ns-server.cert -dhCount 1000
Done
show ssl vserver vs-server
Advanced SSL configuration for VServer vs-server:
DH: ENABLED
Ephemeral RSA: ENABLED Refresh Count: 1000
Session Reuse: ENABLED Timeout: 120 seconds
Cipher Redirect: DISABLED
SSLv2 Redirect: DISABLED
ClearText Port: 0
Client Auth: DISABLED
SSL Redirect: DISABLED
Non FIPS Ciphers: DISABLED
SNI: DISABLED
OCSP Stapling: DISABLED
HSTS: DISABLED
HSTS IncludeSubDomains: NO
HSTS Max-Age: 0
SSLv2: DISABLED SSLv3: ENABLED TLSv1.0: ENABLED TLSv1.2: ENABLED TLSv1.2: ENABLED
1) Cipher Name: DEFAULT
Description: Predefined Cipher Alias
Done
<!--NeedCopy-->
Configurar los parámetros DH mediante la interfaz gráfica de usuario
- Vaya a Administración del tráfico > Equilibrio de carga > Servidores virtualesy abra un servidor virtual.
- En la sección Parámetros SSL, seleccione Habilitar parámetro DH y especifique un recuento de actualizaciones y una ruta de archivo.
RSA efímero
El RSA efímero permite que los clientes de exportación se comuniquen con el servidor seguro incluso si el certificado del servidor no admite clientes de exportación (certificado de 1024 bits). Si quiere evitar que los clientes de exportación accedan al objeto o recurso web seguro, debe inhabilitar el intercambio efímero de claves RSA.
De forma predeterminada, esta función está habilitada en el dispositivo Citrix ADC, con el recuento de actualizaciones establecido en cero (uso infinito).
Nota:
La clave RSA efímera se genera automáticamente cuando vincula un cifrado de exportación a un servidor o servicio virtual SSL o SSL basado en TCP. Al eliminar el cifrado de exportación, la clave eRSA no se elimina. Se reutiliza más adelante cuando otro cifrado de exportación se vincula a un servidor o servicio virtual SSL o SSL basado en TCP. La clave eRSA se elimina cuando se reinicia el sistema.
Configurar RSA efímero mediante la CLI
En el símbolo del sistema, escriba los siguientes comandos para configurar RSA efímero y verificar la configuración:
set ssl vserver <vServerName> -eRSA (enabled | disabled) -eRSACount <positive_integer>
show ssl vserver <vServerName>
<!--NeedCopy-->
Ejemplo:
set ssl vserver vs-server -eRSA ENABLED -eRSACount 1000
Done
show ssl vserver vs-server
Advanced SSL configuration for VServer vs-server:
DH: DISABLED
Ephemeral RSA: ENABLED Refresh Count: 1000
Session Reuse: ENABLED Timeout: 120 seconds
Cipher Redirect: DISABLED
SSLv2 Redirect: DISABLED
ClearText Port: 0
Client Auth: DISABLED
SSL Redirect: DISABLED
Non FIPS Ciphers: DISABLED
SNI: DISABLED
OCSP Stapling: DISABLED
HSTS: DISABLED
HSTS IncludeSubDomains: NO
HSTS Max-Age: 0
SSLv2: DISABLED SSLv3: ENABLED TLSv1.0: ENABLED TLSv1.2: ENABLED TLSv1.2: ENABLED
1) Cipher Name: DEFAULT
Description: Predefined Cipher Alias
Done
<!--NeedCopy-->
Configurar RSA efímero mediante la interfaz gráfica de usuario
- Vaya a Administración del tráfico > Equilibrio de carga > Servidores virtualesy abra un servidor virtual.
- En la sección Parámetros de SSL, seleccione Habilitar RSA efímeroy especifique un recuento de actualizaciones.
Reutilización de sesiones
Para las transacciones SSL, establecer el protocolo de enlace SSL inicial requiere operaciones de cifrado de clave pública que hacen un uso intensivo de la CPU. La mayoría de las operaciones de apretón de manos están asociadas con el intercambio de la clave de sesión SSL (mensaje de intercambio de claves de cliente). Cuando una sesión de cliente está inactiva durante algún tiempo y, a continuación, se reanuda, el protocolo de enlace SSL se lleva a cabo de nuevo. Con la reutilización de sesión habilitada, se evita el intercambio de claves de sesión para las solicitudes de reanudación de sesión recibidas del cliente.
La reutilización de sesiones está habilitada en el dispositivo Citrix ADC de forma predeterminada. Habilitar esta función reduce la carga del servidor, mejora el tiempo de respuesta y aumenta la cantidad de transacciones SSL por segundo (TPS) que el servidor puede admitir.
Configurar la reutilización de sesiones mediante la CLI
En el símbolo del sistema, escriba los siguientes comandos para configurar la reutilización de sesiones y verificar la configuración:
set ssl vserver <vServerName> -sessReuse ( ENABLED | DISABLED ) -sessTimeout <positive_integer>
show ssl vserver <vServerName>
<!--NeedCopy-->
Ejemplo:
set ssl vserver vs-ssl -sessreuse enabled -sesstimeout 600
Done
show ssl vserver vs-ssl
Advanced SSL configuration for VServer vs-ssl:
DH: DISABLED
Ephemeral RSA: ENABLED Refresh Count: 1000
Session Reuse: ENABLED Timeout: 600 seconds
Cipher Redirect: DISABLED
SSLv2 Redirect: DISABLED
ClearText Port: 0
Client Auth: DISABLED
SSL Redirect: DISABLED
Non FIPS Ciphers: DISABLED
SNI: DISABLED
OCSP Stapling: DISABLED
HSTS: DISABLED
HSTS IncludeSubDomains: NO
HSTS Max-Age: 0
SSLv2: DISABLED SSLv3: ENABLED TLSv1.0: ENABLED TLSv1.2: ENABLED TLSv1.2: ENABLED
1) CertKey Name: Auth-Cert-1 Server Certificate
1) Cipher Name: DEFAULT
Description: Predefined Cipher Alias
Done
<!--NeedCopy-->
Configurar la reutilización de sesiones mediante la GUI
- Vaya a Administración del tráfico > Equilibrio de carga > Servidores virtualesy abra un servidor virtual.
- En la sección Parámetros SSL, seleccione Habilitar la reutilización de la sesióny especifique el tiempo durante el que quiere mantener la sesión activa.
Configuración del protocolo SSL
El dispositivo Citrix ADC admite los protocolos SSLv3, TLSv1, TLSv1.1 y TLSv1.2. Cada uno de estos protocolos se puede configurar en el dispositivo según lo requiera la implementación y el tipo de clientes que se conectan al dispositivo.
Las versiones 1.0, 1.1 y 1.2 del protocolo TLS son más seguras que las versiones anteriores del protocolo TLS/SSL. Sin embargo, para admitir sistemas heredados, muchas implementaciones de TLS mantienen la compatibilidad con versiones anteriores del protocolo SSLv3. En un protocolo de enlace SSL, se utiliza la versión de protocolo más alta común para el cliente y el servidor virtual SSL configurado en el dispositivo Citrix ADC.
En el primer intento de establecimiento de enlace, un cliente TLS ofrece la versión de protocolo más alta que admite. Si el apretón de manos falla, el cliente ofrece una versión de protocolo inferior. Por ejemplo, si un apretón de manos con la versión 1.1 de TLS no tiene éxito, el cliente intenta renegociar ofreciendo el protocolo TLSv1.0. Si el intento no es correcto, el cliente vuelve a intentar con el protocolo SSLv3. Un atacante “hombre en el medio” (MITM) puede romper el apretón de manos inicial y desencadenar la renegociación con el protocolo SSLv3, y luego explotar una vulnerabilidad en SSLv3. Para mitigar tales ataques, puede inhabilitar SSLv3 o no permitir la renegociación mediante un protocolo degradado. Sin embargo, este enfoque puede no resultar práctico si su implementación incluye sistemas heredados. Una alternativa es reconocer un valor de conjunto de cifrado de señalización (TLS_FALLBACK_SCSV) en la solicitud del cliente.
Un valor TLS_FALLBACK_SCSV en un mensaje de saludo del cliente indica al servidor virtual que el cliente ha intentado conectarse anteriormente con una versión de protocolo superior y que la solicitud actual es una alternativa. Si el servidor virtual detecta este valor y admite una versión superior a la indicada por el cliente, rechaza la conexión con una alerta grave. El apretón de manos se realiza correctamente si se cumple una de las siguientes condiciones:
- El valor TLS_FALLBACK_SCSV no se incluye en el mensaje de saludo del cliente.
- La versión del protocolo en el saludo del cliente es la versión de protocolo más alta admitida por el servidor virtual.
Configurar la compatibilidad con el protocolo SSL mediante la CLI
En el símbolo del sistema, escriba los siguientes comandos para configurar la compatibilidad con el protocolo SSL y verificar la configuración:
set ssl vserver <vServerName> -ssl2 ( ENABLED | DISABLED ) -ssl3 ( ENABLED | DISABLED ) -tls1 ( ENABLED | DISABLED ) -tls11 ( ENABLED | DISABLED ) -tls12 ( ENABLED | DISABLED )
show ssl vserver <vServerName>
<!--NeedCopy-->
Ejemplo:
set ssl vserver vs-ssl -tls11 ENABLED -tls12 ENABLED
Done
sh ssl vs vs-ssl
Advanced SSL configuration for VServer vs-ssl:
DH: DISABLED
Ephemeral RSA: ENABLED Refresh Count: 0
Session Reuse: ENABLED Timeout: 120 seconds
Cipher Redirect: DISABLED
SSLv2 Redirect: DISABLED
ClearText Port: 0
Client Auth: DISABLED
SSL Redirect: DISABLED
Non FIPS Ciphers: DISABLED
SNI: DISABLED
SSLv2: DISABLED SSLv3: ENABLED TLSv1.0: ENABLED TLSv1.1: ENABLED TLSv1.2: ENABLED
Push Encryption Trigger: Always
Send Close-Notify: YES
1 bound certificate:
1) CertKey Name: mycert Server Certificate
1 configured cipher:
1) Cipher Name: DEFAULT
Description: Predefined Cipher Alias
Done
<!--NeedCopy-->
Configurar el soporte del protocolo SSL mediante la interfaz gráfica de usuario
- Vaya a Administración del tráfico > Equilibrio de carga > Servidores virtualesy abra un servidor virtual.
- En la sección Parámetros SSL, seleccione un protocolo para habilitarlo.
Cerrar notificar
Una notificación cercana es un mensaje seguro que indica el final de la transmisión de datos SSL. Se requiere una configuración de notificación cercana a nivel global. Esta configuración se aplica a todos los servidores, servicios y grupos de servicios virtuales. Para obtener información sobre la configuración global, consulte la sección “Parámetros SSL globales” más adelante en esta página.
Además de la configuración global, puede establecer el parámetro de notificación de cierre en el nivel de servidor virtual, servicio o grupo de servicios. Por lo tanto, tiene la flexibilidad de establecer el parámetro para una entidad y desconfigurarlo para otra entidad. Sin embargo, asegúrese de establecer este parámetro a nivel global. De lo contrario, la configuración a nivel de entidad no se aplica.
Configurar la notificación de cierre a nivel de entidad mediante la CLI
En el símbolo del sistema, escriba cualquiera de los siguientes comandos para configurar la función de notificación de cierre y verificar la configuración:
- Para configurar en el nivel de servidor virtual, escriba:
set ssl vserver <vServerName> -sendCloseNotify ( YES | NO )
show ssl vserver <vServerName>
<!--NeedCopy-->
- Para configurar en el nivel de servicio, escriba:
set ssl service <serviceName> -sendCloseNotify ( YES | NO )
show ssl service <serviceName>
<!--NeedCopy-->
- Para configurar en el nivel de grupo de servicios, escriba:
set ssl serviceGroup <serviceGroupName> -sendCloseNotify ( YES | NO )
show ssl serviceGroup <serviceGroupName>
<!--NeedCopy-->
Ejemplo:
set ssl vserver sslvsvr -sendCloseNotify YES
Done
<!--NeedCopy-->
Configurar la función de notificación de cierre en el nivel de entidad mediante la interfaz gráfica de usuario
- Vaya a Administración del tráfico > Equilibrio de carga > Servidores virtualesy abra un servidor virtual.
- En la sección Parámetros SSL, seleccione Enviar notificación cerrada.
Parámetros SSL globales
La personalización avanzada de su configuración SSL aborda problemas específicos. Puede usar el comando set ssl parameter
o la utilidad de configuración para especificar lo siguiente:
- Tamaño cuántico que se utilizará para las transacciones SSL.
- Tamaño de memoria CRL.
- Tamaño de caché de OCSP.
- Denegar la renegociación de SSL.
- Defina el indicador PUSH para los registros descifrados, cifrados o todos.
- Descarta las solicitudes si el cliente inicia el apretón de manos para un dominio y envía una solicitud HTTP para otro dominio.
- Defina el tiempo tras el que se activa el cifrado.
Nota: El tiempo que especifique solo se aplica si utiliza el
set ssl vserver
comando o la utilidad de configuración para establecer el cifrado basado en temporizador. - Comprobación del certificado de conformidad de NDCPP: se aplica cuando el dispositivo actúa como cliente (conexión back-end). Durante la verificación del certificado, ignore el nombre común si la SAN está presente en el certificado SSL.
- Habilite un clúster heterogéneo de dispositivos basados en chip Cavium, como MPX 14000, y dispositivos basados en chip Intel Coleto, como los dispositivos MPX 15000 con un número diferente de motores de paquetes. (Compatibilidad agregada en la versión 13.0 compilación 47.x).
- Habilite la renegociación segura en el back-end (soporte agregado desde la versión 1.0 compilación 58.x).
- Control de tráfico SSL adaptable (compatibilidad agregada en la versión 13.0 compilación 58.x).
Configurar parámetros SSL globales mediante la CLI
En el símbolo del sistema, escriba los siguientes comandos para configurar los valores SSL avanzados y verificar la configuración:
set ssl parameter [-quantumSize <quantumSize>] [-crlMemorySizeMB <positive_integer>] [-strictCAChecks (YES | NO)] [-sslTriggerTimeout <positive_integer>] [-sendCloseNotify (YES | NO)] [-encryptTriggerPktCount <positive_integer>] [-denySSLReneg <denySSLReneg>] [-insertionEncoding (Unicode|UTF-8)] [-ocspCacheSize <positive_integer>][- pushFlag <positive_integer>] [- dropReqWithNoHostHeader (YES | NO)] [-pushEncTriggerTimeout <positive_integer>] [-ndcppComplianceCertCheck ( YES | NO)] [-heterogeneousSSLHW (ENABLED | DISABLED )]
show ssl parameter
<!--NeedCopy-->
Ejemplo:
set ssl parameter -quantumSize 8 -crlMemorySizeMB 256 -strictCAChecks no -ssltriggerTimeout 100 -sendClosenotify no -encryptTriggerPktCount 45 -denySSLReneg NONSECURE -insertionEncoding unicode -ocspCacheSize 10 -pushFlag 3 -dropReqWithNoHostHeader YES -pushEncTriggerTimeout 100 ms -ndcppComplianceCertCheck YES
Done
show ssl parameter
Advanced SSL Parameters
-----------------------
SSL quantum size : 8 KB
Max CRL memory size : 256 MB
Strict CA checks : NO
Encryption trigger timeout : 100 ms
Send Close-Notify : NO
Encryption trigger packet count : 45
Deny SSL Renegotiation : NONSECURE
Subject/Issuer Name Insertion Format : Unicode
OCSP cache size : 10 MB
Push flag : 0x3 (On every decrypted and encrypted record)
Strict Host Header check for SNI enabled SSL sessions : YES
PUSH encryption trigger timeout : 100 ms
Crypto Device Disable Limit : 0
Global undef action for control policies : CLIENTAUTH
Global undef action for data policies : NOOP
Default profile : DISABLED
SSL Insert Space in Certificate Header : YES
Disable TLS 1.1/1.2 for SSL_BRIDGE secure monitors : NO
Disable TLS 1.1/1.2 for dynamic and VPN services : NO
Software Crypto acceleration CPU Threshold : 0
Hybrid FIPS Mode : DISABLED
Signature and Hash Algorithms supported by TLS1.2 : ALL
SSL Interception Error Learning and Caching : DISABLED
SSL Interception Maximum Error Cache Memory : 0 Bytes
NDCPP Compliance Certificate Check : YES
Heterogeneous SSL HW (Cavium and Intel Based) : ENABLED
Done
<!--NeedCopy-->
Configurar la comprobación de certificados de conformidad de NDcPP mediante la interfaz gráfica de usuario
-
Vaya a Administración del tráfico > SSL y, en el grupo Configuración, seleccione Cambiar la configuración SSL avanzada.
-
Seleccione Comprobación del certificado de conformidad del NDCPP. Haga clic en Aceptar.
Compatibilidad con renegociación segura en el back-end de un dispositivo Citrix ADC
Nota: Esta función se admite en la versión 13.0 compilación 58.x y posteriores. En versiones y compilaciones anteriores, solo se admitía la renegociación no segura en el back-end.
La función se admite en las siguientes plataformas: • VPX • Plataformas MPX que contienen chips N2 o N3 • Plataformas basadas en chips SSL Intel Coleto
La función aún no se admite en la plataforma FIPS.
La renegociación segura se deniega de forma predeterminada en el back-end de un dispositivo ADC. Es decir, el parámetro denySSLReneg
se establece en ALL (predeterminado).
Para permitir la renegociación segura en el back-end, seleccione una de las siguientes configuraciones para el parámetro denySSLReneg
:
- NO
- FRONTEND_CLIENT
- FRONTEND_CLIENTSERVER
- NO SEGURO
Habilite la renegociación segura mediante la CLI
En el símbolo del sistema, escriba:
set ssl parameter -denySSLReneg <denySSLReneg>
Ejemplo:
set ssl parameter -denySSLReneg NONSECURE
Done
sh ssl parameter
Advanced SSL Parameters
-----------------------
SSL quantum size : 8 KB
Max CRL memory size : 256 MB
Strict CA checks : NO
Encryption trigger timeout : 100 ms
Send Close-Notify : YES
Encryption trigger packet count : 45
Deny SSL Renegotiation : NONSECURE
Subject/Issuer Name Insertion Format : Unicode
OCSP cache size : 10 MB
Push flag : 0x0 (Auto)
Strict Host Header check for SNI enabled SSL sessions : NO
Match HTTP Host header with SNI : CERT
PUSH encryption trigger timeout : 1 ms
Crypto Device Disable Limit : 0
Global undef action for control policies : CLIENTAUTH
Global undef action for data policies : NOOP
Default profile : ENABLED
SSL Insert Space in Certificate Header : YES
Disable TLS 1.1/1.2 for SSL_BRIDGE secure monitors : NO
Disable TLS 1.1/1.2 for dynamic and VPN services : NO
Software Crypto acceleration CPU Threshold : 0
Hybrid FIPS Mode : DISABLED
Signature and Hash Algorithms supported by TLS1.2 : ALL
SSL Interception Error Learning and Caching : DISABLED
SSL Interception Maximum Error Cache Memory : 0 Bytes
NDCPP Compliance Certificate Check : NO
Heterogeneous SSL HW (Cavium and Intel Based) : DISABLED
Crypto Operation Queue Limit : 150%
Done
<!--NeedCopy-->
Habilite la renegociación segura mediante la interfaz gráfica de usuario
- Vaya a Administración del tráfico > SSL > Cambiar la configuración avanzada de SSL.
-
Establezca Denegar renegociación SSL en cualquier valor que no sea ALL.
Control de tráfico SSL adaptativo
Nota: Esta función se admite en la versión 13.0 compilación 58.x y posteriores.
Cuando se recibe mucho tráfico en el dispositivo y la capacidad de aceleración criptográfica está llena, el dispositivo comienza a poner en cola las conexiones para procesarlas más adelante. Actualmente, el tamaño de esta cola se fija en 64 K y el dispositivo comienza a interrumpir las conexiones si se supera este valor.
A partir de la versión 13.0 build 58.x, el usuario puede configurar un valor que sea un porcentaje de la capacidad real. Con esta mejora, el dispositivo pierde nuevas conexiones si el número de elementos en la cola es mayor que el límite que se calcula de forma adaptativa y dinámica. Este enfoque controla las conexiones SSL entrantes y evita el consumo excesivo de recursos y otros errores, como el error de supervisión del equilibrio de carga o la respuesta lenta a las aplicaciones seguras, en el dispositivo.
Si la cola está vacía, el dispositivo puede seguir aceptando conexiones. Si la cola no está vacía, el sistema de cifrado ha alcanzado su capacidad y el dispositivo comienza a poner en cola las conexiones.
El límite se calcula en función de:
- La capacidad real del aparato.
- Valor configurado por el usuario como porcentaje de la capacidad real. El valor predeterminado se establece en 150%.
Por ejemplo, si la capacidad real de un dispositivo es de 1000 operaciones/segundo en un momento dado y se configura el porcentaje predeterminado, el límite después del cual el dispositivo interrumpe las conexiones es de 1500 (150% de 1000).
Para configurar el límite de cola de operaciones mediante la CLI
En el símbolo del sistema, escriba:
set ssl parameter -operationQueueLimit <positive_integer>
Límite decola de operaciones: límite en porcentaje de la capacidad de la cola de operaciones criptográficas más allá del cual no se aceptan nuevas conexiones SSL hasta que se reduzca la cola. Valor por defecto: 150. Valor mínimo: 0. Valor máximo: 10000.
Para configurar el límite de cola de operaciones mediante la interfaz gráfica de usuario
- Vaya a Administración del tráfico > SSL.
- En Parámetros, haga clic en Cambiar parámetros SSL avanzados.
- Escriba un valor en Límite de cola de operaciones. El valor predeterminado es 150.
-
Haga clic en Aceptar.
Implementaciones de clústeres heterogéneos
A partir de la versión 13.0 compilación 47.x, puede formar una implementación heterogénea en clúster de dispositivos Citrix ADC MPX con un número diferente de motores de paquetes configurando el parámetro SSL “HW SSL heterogéneo” en HABILITADO. Por ejemplo, para formar un clúster de dispositivos basados en chip Cavium (MPX 14000 o similar) y dispositivos basados en chip Intel Coleto (MPX 15000 o similar), habilite el parámetro SSL “HW SSL heterogéneo. “ Para formar un clúster de plataformas con el mismo chip, mantenga el valor predeterminado (DISABLED) para este parámetro.
Notas:
Las siguientes características no se admiten en un clúster heterogéneo:
- Instancias VPX alojadas en dispositivos Citrix ADC SDX.
- Protocolo SSLv3 en entidades SSL, como servidores virtuales, servicios, grupos de servicios y servicios internos.
- Umbral de CPU de aceleración criptográfica de software (mediante hardware y software para mejorar el rendimiento del cifrado ECDSA y ECDHE).
Para obtener más información sobre las plataformas admitidas en un clúster heterogéneo, consulte https://docs.citrix.com/en-us/citrix-adc/13/clustering/support-for-heterogeneous-cluster.html.
Habilitar un clúster heterogéneo mediante la CLI
En el símbolo del sistema, escriba:
set ssl parameter -heterogeneousSSLHW ENABLED
Habilitar un clúster heterogéneo mediante la GUI
- Vaya a Administración del tráfico > SSL y, en el grupo Configuración, seleccione Cambiar la configuración SSL avanzada.
-
Seleccione HW SSL heterogéneo. Haga clic en Aceptar.
Mecanismo desencadenador de cifrado basado en indicadores PUSH
El mecanismo de activación de cifrado que se basa en el indicador TCP de PSH ahora le permite hacer lo siguiente:
- Combine paquetes consecutivos en los que el indicador PSH esté configurado en un único registro SSL, o ignore el indicador PSH.
- Realice un cifrado basado en temporizador, en el que el valor de tiempo de espera se establece globalmente mediante el comando
set ssl parameter -pushEncTriggerTimeout <positive_integer>
.
Configurar el cifrado basado en marcas PUSH mediante la CLI
En el símbolo del sistema, escriba los siguientes comandos para configurar el cifrado basado en marcas PUSH y verificar la configuración:
set ssl vserver <vServerName> [-pushEncTrigger <pushEncTrigger>]
show ssl vserver
<!--NeedCopy-->
Ejemplo:
set ssl vserver vserver1 -pushEncTrigger always
Done
sh ssl vserver vserver1
Advanced SSL configuration for VServer vserver1:
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: DISABLED
SSL Redirect: DISABLED
Non FIPS Ciphers: DISABLED
SNI: DISABLED
OCSP Stapling: DISABLED
HSTS: DISABLED
HSTS IncludeSubDomains: NO
HSTS Max-Age: 0
SSLv2: DISABLED SSLv3: ENABLED TLSv1.0: ENABLED TLSv1.1: ENABLED TLSv1.2: ENABLED TLSv1.3: DISABLED
Push Encryption Trigger: Always
Send Close-Notify: YES
Strict Sig-Digest Check: DISABLED
Zero RTT Early Data: DISABLED
DHE Key Exchange With PSK: NO
Tickets Per Authentication Context: 1
ECC Curve: P_256, P_384, P_224, P_521
1) Cipher Name: DEFAULT
Description: Default cipher list with encryption strength >= 128bit
Done
<!--NeedCopy-->
Configurar el cifrado basado en indicadores PUSH mediante la interfaz gráfica de usuario
- Vaya a Administración del tráfico > Equilibrio de carga > Servidores virtuales y abra un servidor virtual SSL.
- En la sección Parámetros SSL, en la lista Desencadenador de cifrado PUSH, seleccione un valor.
Compatibilidad con el algoritmo hash de firma TLS1.2
El dispositivo Citrix ADC cumple completamente con la extensión hash de firma TLS1.2.
En un protocolo de enlace SSL, un cliente envía una lista de algoritmos hash de firma admitidos. El cliente indica al servidor qué pares de algoritmos hash de firma se pueden usar en los mensajes de enlace SSL (SKE y CCV) mediante la extensión “signature_algorithms”. El campo “extension_data” de esta extensión contiene un valor “supported_signature_algorithms” en el mensaje Client Hello. El protocolo de enlace SSL continúa si el servidor admite uno de estos algoritmos de hash de firma. Si el servidor no admite ninguno de estos algoritmos, se interrumpe la conexión.
Del mismo modo, si el servidor solicita un certificado de cliente para la autenticación de clientes, el mensaje de solicitud de certificado contiene un valor “supported_signature_algorithms”. El certificado de cliente se selecciona en función de este algoritmo de hash de firma.
Nota:
El dispositivo Citrix ADC actúa como servidor para un cliente y como cliente para el servidor back-end.
El dispositivo solo admite RSA-SHA1 y RSA-SHA256 en el front-end, y RSA-MD5, RSA-SHA1 y RSA-SHA256 en el back-end.
El dispositivo MPX/SDX/VPX admite las siguientes combinaciones de hash de firma. En un dispositivo SDX, si se asigna un chip SSL a una instancia VPX, se aplica la compatibilidad de cifrado de un dispositivo MPX. De lo contrario, se aplica el soporte de cifrado normal de una instancia VPX.
- En una instancia VPX y en un dispositivo MPX/SDX sin chips N3:
- RSA-MD5
- RSA-SHA1
- RSA-SHA224
- RSA-SHA256
- RSA-SHA384
- RSA-SHA512
- En un dispositivo MPX/SDX con chips N3:
- RSA-MD5
- RSA-SHA1
- RSA-SHA224
- RSA-SHA256
- RSA-SHA384
- RSA-SHA512
- ECDSA-SHA1
- ECDSA-SHA224
- ECDSA-SHA256
- ECDSA-SHA384
- ECDSA-SHA512
De forma predeterminada, todos los algoritmos de hash de firma están habilitados. Sin embargo, solo puede habilitar unos pocos algoritmos de hash de firma mediante el siguiente comando:
set ssl parameter -sigDigestType <sigDigestType>
Parameters
sigDigestType
Signature digest algorithms supported by the appliance. The platform determines the list of algorithms supported by default.
On VPX: RSA-MD5 RSA-SHA1 RSA-SHA224 RSA-SHA256 RSA-SHA384 RSA-
SHA512
On MPX with N3 cards: RSA-MD5 RSA-SHA1 RSA-SHA224 RSA-
SHA256 RSA-SHA384 RSA-SHA512 ECDSA-SHA1 ECDSA-SHA224 ECDSA-
SHA256 ECDSA-SHA384 ECDSA-SHA512
Other MPX Platforms: RSA-MD5 RSA-SHA1 RSA-SHA224 RSA-SHA256 RSA-SHA384 RSA-
SHA512.
set ssl parameter -sigDigestType RSA-SHA224 RSA-SHA256 RSA-SHA384 RSA-SHA512
<!--NeedCopy-->
Validar el certificado de pares
Según RFC 5246, el certificado de pares debe firmarse con uno de los algoritmos hash de firma incluidos en la extensión Client Hello. Puede usar el parámetro strictSigDigestCheck
. En función de la lista hash de firmas enviada por el cliente, si se habilita strictSigDigestCheck
, el dispositivo devuelve un certificado firmado por uno de los algoritmos hash de firma mencionados en la extensión Client Hello. Si el par no tiene un certificado adecuado, se interrumpe la conexión. Si este parámetro está inhabilitado, el hash de firma no se comprueba en el certificado de pares.
Puede configurar una verificación de resumen de firmas estricta en un servidor y servicio virtual SSL. Si habilita este parámetro en un servidor virtual SSL, el certificado de servidor enviado por el servidor debe estar firmado por uno de los algoritmos hash de firma enumerados en la extensión Client Hello. Si la autenticación de clientes está habilitada, el certificado de cliente recibido por el servidor debe firmarse con uno de los algoritmos de hash de firma que se enumeran en la solicitud de certificado enviada por el servidor.
Si habilita este parámetro en un servicio SSL, el certificado de servidor recibido por el cliente debe estar firmado por uno de los algoritmos hash de firma enumerados en la extensión Client Hello. El certificado de cliente debe firmarse con uno de los algoritmos hash de firma que se enumeran en el mensaje de solicitud de certificado.
Si el perfil predeterminado está habilitado, puede usarlo para configurar una verificación de resumen de firma estricta en un servidor virtual SSL, un servicio SSL y un perfil SSL.
Configurar la verificación de resumen de firmas estricta en un servidor, servicio o perfil virtual SSL mediante la CLI
En el símbolo del sistema, escriba:
set ssl vserver <vServerName> -strictSigDigestCheck ( ENABLED | DISABLED )
set ssl service <serviceName> -strictSigDigestCheck ( ENABLED | DISABLED )
set ssl profile <name>-strictSigDigestCheck ( ENABLED | DISABLED )
Parameters
strictSigDigestCheck
Check whether peer entity certificate is signed using one of the signature-hash algorithms supported by the Citrix ADC appliance.
Possible values: ENABLED, DISABLED
Default: DISABLED
<!--NeedCopy-->
Ejemplo:
set ssl vserver v1 –strictSigDigestCheck Enabled
set ssl service s1 –strictSigDigestCheck Enabled
set ssl profile p1 –strictSigDigestCheck Enabled
<!--NeedCopy-->
Importante:
Si los cifrados DH, ECDHE o ECDSA están configurados en el dispositivo, el mensaje SKE debe firmarse con uno de los hashes de firma comunes a la lista de clientes y la lista configurada en el dispositivo. Si no hay un hash de firma común, se elimina la conexión.
En este artículo
- Habilitar SSL
- Configurar servicios
- Configuración del servidor virtual SSL
- Enlazar servicios al servidor virtual SSL
- Configurar un servidor virtual de indicación de nombre de servidor (SNI) para el alojamiento seguro de varios sitios
- Soporte para SNI en el servicio back-end
- Agregar o actualizar un par de claves de certificado
- Enlazar el par de claves de certificado al servidor virtual SSL
- Parámetros del servidor virtual SSL
- Parámetros SSL globales