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, descifrará el tráfico y lo reenviará a un servicio enlazado al servidor virtual. Para proteger el tráfico sensible al tiempo, como la transmisión de medios, 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 se habilita el procesamiento SSL.

Habilitar el procesamiento SSL mediante la CLI

En el símbolo del sistema, escriba:

enable ns feature ssl

show ns feature

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

Habilitar el procesamiento SSL mediante la interfaz gráfica de usuario

Vaya a Sistema > Configuración y, en el grupo Modos y funciones, haga clic en Configurar funciones básicas y haga clic 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 están inhabilitados hasta que el dispositivo pueda 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>

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

Modificar o quitar un servicio mediante la CLI

Para modificar un servicio, utilice el comando set service, que es igual que el comando add service, excepto que escriba el nombre de un servicio existente. Para quitar un servicio, utilice el comando rm service, que acepta solo el <name> argumento.

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 está marcado como caído en el dispositivo Citrix ADC hasta que un par válido de certificados y claves y al menos un servicio estén enlazados 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>

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

Modificar o quitar un servidor virtual basado en SSL mediante la CLI

Para modificar las propiedades de equilibrio de carga de un servidor virtual SSL, utilice el comando set lb vserver. El comando set es similar al comando add lb vserver, excepto que se escribe el nombre de un servidor virtual existente. Para modificar las propiedades SSL de un servidor virtual basado en SSL, utilice 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 quitar un servidor virtual SSL, utilice el comando rm lb vserver, que acepta solo 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.

Vincular 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 estos servidores físicos deben estar enlazados al servidor virtual que recibe los datos SSL.

Normalmente, el vínculo entre el dispositivo ADC y el servidor físico es seguro. Por lo tanto, no es necesario cifrar la transferencia de datos entre el dispositivo y el servidor físico. Sin embargo, puede proporcionar cifrado de extremo a extremo cifrando la transferencia de datos entre el dispositivo y el servidor. Para obtener información detallada, 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 enlazar el servicio con el servidor virtual y verificar la configuración:

bind lb vserver <name> <serviceName>
show lb vserver <name>

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

Desenlazar un servicio de un servidor virtual mediante la CLI

En el símbolo del sistema, escriba el siguiente comando:

unbind lb vserver <name> <serviceName>

Ejemplo:

unbind lb vserver sslvs sslsvc
     Done

Enlazar un servicio a un servidor virtual mediante la interfaz gráfica de usuario

  1. Vaya a Administración del tráfico > Equilibrio de carga > Servidores virtuales.
  2. Abra un servidor virtual y haga clic en la sección Servicios para enlazar un servicio al servidor virtual.

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 enviar el nombre de host esperado al servidor virtual. Como resultado, el dispositivo no puede determinar qué certificado se debe presentar al cliente después de establecer una conexión. Este problema se resuelve habilitando SNI en el servidor virtual. SNI es una extensión de seguridad de capa de transporte (TLS) utilizada por 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 a una red deportiva con el nombre común “*.sports.net” puede utilizarse para proteger dominios, como “login.sports.net” y “help.sports.net”, pero no “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 enlazar varios certificados de servidor a un único servidor virtual SSL o servicio transparente mediante la opción -SniCert. El servidor virtual o el servicio emite estos certificados si SNI está habilitado en el servidor virtual o servicio. Puede activar SNI en cualquier momento.

Vincular 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 SNI y verificar la configuración:

set ssl vserver <vServerName>@ [-SNIEnable ( ENABLED | DISABLED )]

bind ssl vserver <vServerName>@ -certkeyName <string> -SNICert

show ssl vserver <vServerName>

Para enlazar 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: Crear el servicio SSL con la opción -clearTextPort 80.

Vincular varios certificados de servidor a un único servidor virtual SSL mediante la interfaz gráfica de usuario

  1. Vaya a Administración del tráfico > Equilibrio de carga > Servidores virtuales.
  2. Abra un servidor virtual SSL y, en Certificados, seleccione Certificado de servidor.
  3. Agregue un certificado o seleccione un certificado de la lista y haga clic en Certificado de servidor para SNI.
  4. En Configuración avanzada, seleccione Parámetros SSL.
  5. Haga clic en Habilitar SNI.

Soporte para SNI en el servicio back-end

Nota: SNI no es compatible con un servicio back-end DTLS.

El dispositivo Citrix ADC admite la indicación de nombre de 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 correctamente el protocolo de enlace. Este soporte ayuda a cumplir los requisitos de seguridad del cliente del integrador de sistemas federales. Además, SNI ofrece la ventaja de utilizar un solo puerto en lugar de abrir cientos de direcciones IP y puertos diferentes en un firewall.

Los requisitos de seguridad del cliente del integrador de sistemas federales incluyen compatibilidad con los servicios de federación de Active Directory (ADFS) 3.0 en 2012R2 y servidores WAP. Para cumplir con este requisito, se requiere compatibilidad con 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 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 utiliza en la conexión del lado del servidor. Ya no es necesario especificar un nombre común en el servicio SSL, grupo de servicios o perfil. El nombre común recibido en la extensión SNI del mensaje Client Hello se reenvía a la conexión SSL back-end.

Anteriormente, tenía que configurar SNI estático en servicios SSL, grupos de servicios y 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 Citrix ADC no pudo enviar el SNI recibido del cliente al servicio back-end. En su lugar, envió el nombre común estático que se configuró. Con SNI dinámico, si el servidor back-end está configurado para varios dominios, el servidor puede responder con el certificado correcto basándose en el SNI recibido en el mensaje Client Hello del dispositivo Citrix ADC.

Apuntar a nota:

  • SNI debe estar habilitado en el front-end y el certificado SNI correcto enlazado al servidor virtual SSL. Si no habilita SNI en el front-end, la información de SNI no se pasa al back-end.

  • Cuando se habilita la autenticación de servidor, 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 SNI cuando SNI dinámico está habilitado.

Los monitores SSL no envían SNI cuando está habilitado el SNI dinámico. Para el sondeo basado en SNI, adjunte un perfil back-end en el que se configura SNI estático a los monitores SSL. El monitor debe configurarse con el mismo encabezado personalizado que SNI.

Configure 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

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

Configure SNI en el servicio back-end mediante la interfaz gráfica de usuario

  1. Vaya a Gestión del Tráfico > Equilibrio de Carga > Servicios.
  2. Seleccione un servicio SSL y, en Configuración avanzada, haga clic en Parámetros SSL.
  3. Haga clic en Habilitar SNI.

    Habilitar SNI

Configurar SNI en el perfil SSL mediante la interfaz gráfica de usuario

  1. Vaya a Sistema > Perfiles > Perfil SSL.
  2. Haga clic en Agregar.
  3. En Configuración básica, seleccione Habilitar SNI.

    SNI en perfil

  4. Haga clic en Aceptar.

Enlazar un monitor seguro a un servicio back-end habilitado para SNIP

Puede enlazar monitores seguros de tipo HTTP, HTTP-ECV, TCP o TCP-ECV a los servicios de back-end y grupos de servicios compatibles con SNI. Sin embargo, los sondeos del monitor no envían la extensión SNI si el SNI dinámico está habilitado. Para enviar sondeos SNI, habilite SNI estático en el perfil SSL 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 del sondeo del monitor.

Configure y vincule un monitor seguro a un servicio 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>

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

Configure y vincule un monitor seguro a un servicio back-end habilitado para SNI mediante la interfaz gráfica de usuario

  1. Vaya a Sistema > Perfiles > Perfiles SSL.
  2. Haga clic en Agregar.
  3. Especifique un nombre para el perfil y, en Tipo de perfil SSL, seleccione Backend.

    Perfil SSL habilitado para SNI

  4. Especifique el nombre común (igual que el encabezado del host) y seleccione SNI Enable.

    Nombre común en el perfil SSL habilitado para SNI

  5. Haga clic en Aceptar.
  6. Vaya a Administración del tráfico > Equilibrio de carga > Supervisar.
  7. Haga clic en Agregar.
  8. Especifique un nombre para el monitor. En Tipo, seleccione HTTP, HTTP-ECV, TCP o TCP-ECV.
  9. Especifique un encabezado personalizado.

    Encabezado personalizado en el perfil SSL habilitado para SNI

  10. Seleccione Secure.
  11. En Perfil SSL, seleccione el perfil SSL de back-end creado en los pasos anteriores.
  12. Haga clic en Crear.

    Crear perfil SSL habilitado para SNI

  13. Vaya a Gestión del Tráfico > Equilibrio de Carga > Servicios.
  14. Seleccione un servicio SSL y haga clic en Modificar.
  15. En Monitores, haga clic en Agregar enlace, seleccione el monitor creado en los pasos anteriores y haga clic en Vincular.

    Enlazar un monitor seguro al servicio SSL habilitado para SNI

Configure y vincule un monitor seguro a un servicio back-end habilitado para SNI mediante la interfaz gráfica de usuario

  1. Vaya a Administración del tráfico > Equilibrio de carga > Supervisar.
  2. Agregue un monitor de tipo HTTP-ECV o TCP-ECV y especifique un encabezado personalizado.
  3. Seleccione Crear.
  4. Vaya a Gestión del Tráfico > Equilibrio de Carga > Servicios.
  5. Seleccione un servicio SSL y haga clic en Modificar.
  6. En Monitores, haga clic en Agregar enlace, seleccione el monitor creado en el paso 3 y haga clic en Vincular.

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 certificados ECDSA.

Desde la compilación 41.x, se admiten nombres de certificado de hasta 63 caracteres.

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 certificados 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 enlazado al servidor virtual que procesa las transacciones SSL.

Nota: El certificado predeterminado de un dispositivo Citrix ADC es de 2048 bits. En compilaciones anteriores, el certificado predeterminado era 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 empezando 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 almacenamiento local en el dispositivo Citrix ADC antes de que puedan agregarse al dispositivo. Si el certificado o el archivo de clave no se encuentra 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 los certificados o claves se almacenan en cualquier otra ubicación, debe proporcionar la ruta absoluta de acceso a los archivos en el dispositivo Citrix ADC. Los dispositivos Citrix ADC FIPS no admiten claves externas (claves que no son 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.

En un dispositivo Citrix ADC MPX y un dispositivo Citrix ADC FIPS, solo se admiten claves privadas RSA. En un dispositivo virtual VPX, se admiten claves privadas RSA y DSA. En un dispositivo SDX, si se asignan chips SSL a una instancia, solo se admiten claves privadas RSA. Sin embargo, si los chips SSL no se asignan a una instancia, se admiten claves privadas RSA y DSA. En todos los casos, puede enlazar un certificado de CA con claves RSA o DSA.

Establezca el período de notificación y habilite el monitor de caducidad para emitir 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: Privacy Enhanced Mail
  • 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 especificar el formato en el parámetro inform. Si especifica el formato (correcto o incorrecto), el software lo ignorará. El formato del certificado y del archivo de clave deben ser el mismo.

Nota: Un certificado debe firmarse mediante uno de los siguientes algoritmos hash:

  • MD5
  • SHA-1
  • SHA-224
  • SHA-256
  • SHA-384 (compatible solo en la parte frontal)
  • SHA-512 (compatible solo en la parte frontal)

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 o más bits, 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 2048 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 certificados 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>]

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

Actualizar o quitar un par de claves de certificado mediante la CLI

Para modificar el monitor 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, utilice el comando update ssl certkey. El comando update ssl certkey tiene un parámetro adicional para anular la comprobación de dominio. Para ambos comandos, introduzca el nombre de un par de claves de certificado existente. Para quitar un par de certificados SSL, utilice 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]

Agregar o actualizar un par de claves de certificado mediante la interfaz gráfica de usuario

Vaya a Administración de tráfico > SSL > Certificados y configure un par de certificados y claves.

Enlazar el par de claves de certificado al servidor virtual SSL

Un certificado SSL es un elemento integral del proceso de cifrado y descifrado SSL. El certificado se utiliza durante un protocolo de enlace SSL para establecer la identidad del servidor SSL.

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, se debe vincular un par de claves de certificado válido a cada uno de ellos.

Utilice un certificado SSL válido 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 protocolo de enlace SSL, en el mensaje de solicitud de certificado durante la autenticación del cliente, el servidor enumera los nombres completos (DN) de todas las autoridades certificadoras (CA) vinculadas al servidor. El servidor acepta un certificado de cliente solo de esta lista. Si no desea que el nombre DN de un certificado de CA específico se envíe al cliente SSL, establezca el indicador 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 enlazar un par de claves de certificado SSL a un servidor virtual y compruebe la configuración:

-  bind ssl vserver <vServerName> -certkeyName <certificate-KeyPairName> -CA -skipCAName
-  show ssl vserver <vServerName>

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

Desenlazar un par de certificados 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>, aparecerá 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>

Ejemplo:

unbind ssl vserver vssl -certkeyName sslckey

Enlazar un par de claves de certificado SSL a un servidor virtual mediante la interfaz gráfica de usuario

  1. Vaya a Administración del tráfico > Equilibrio de carga > Servidores virtuales.
  2. Abra un servidor virtual SSL y, en Configuración avanzada, haga clic en Certificado SSL.
  3. Enlazar un certificado de servidor o certificado de CA 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 acerca de 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 )]

Parámetros de Diffe-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 otras opciones basadas en su red.

Para enumerar los cifrados para los que los parámetros DH deben establecerse 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>`

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

Configure los parámetros DH mediante la interfaz gráfica de usuario

  1. Vaya a Administración del tráfico > Equilibrio de carga > Servidores virtuales y abra un servidor virtual.
  2. En la sección Parámetros SSL, seleccione Habilitar DH Param y especifique un recuento de actualización y una ruta de archivo.

RSA efímero

RSA efímero permite a los clientes de exportación comunicarse con el servidor seguro incluso si el certificado del servidor no admite clientes de exportación (certificado de 1024 bits). Si desea evitar que los clientes de exportación accedan al objeto o recurso web seguro, debe inhabilitar el intercambio de claves RSA efímero.

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 se vincula un cifrado de exportación a un servidor o servicio virtual SSL basado en SSL o TCP. Al quitar el cifrado de exportación, la clave ERSA no se elimina. Se reutiliza más tarde cuando otro cifrado de exportación está enlazado a un servidor virtual SSL o un servicio 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>

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

Configurar RSA efímero mediante la interfaz gráfica de usuario

  1. Vaya a Administración del tráfico > Equilibrio de carga > Servidores virtuales y abra un servidor virtual.
  2. En la sección Parámetros SSL, seleccione Habilitar RSA efímero y especifique un recuento de actualización.

Reutilización de sesiones

Para las transacciones SSL, establecer el protocolo de enlace SSL inicial requiere operaciones de cifrado de clave pública intensivas en CPU. La mayoría de las operaciones de enlace 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 luego se reanuda, el protocolo de enlace SSL normalmente 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 de forma predeterminada en el dispositivo Citrix ADC. Habilitar esta función reduce la carga del servidor, mejora el tiempo de respuesta y aumenta el número 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 la sesión y verificar la configuración:

set ssl vserver <vServerName> -sessReuse ( ENABLED | DISABLED ) -sessTimeout <positive_integer>
show ssl vserver <vServerName>

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

Configurar la reutilización de sesiones mediante la interfaz gráfica de usuario

  1. Vaya a Administración del tráfico > Equilibrio de carga > Servidores virtuales y abra un servidor virtual.
  2. En la sección Parámetros SSL, seleccione Habilitar reutilización de sesión y especifique una hora para 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 establecer 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 TLS mantienen compatibilidad con versiones anteriores con el 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 enlace, un cliente TLS ofrece la versión de protocolo más alta que admite. Si el protocolo de enlace falla, el cliente ofrece una versión de protocolo inferior. Por ejemplo, si un protocolo de enlace con TLS versión 1.1 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 de “hombre en el medio” (MITM) puede romper el apretón de manos inicial y desencadenar la renegociación con el protocolo SSLv3 y, a continuación, 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 podría no ser práctico si la 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 de cliente indica al servidor virtual que el cliente ha intentado conectarse previamente con una versión de protocolo superior y que la solicitud actual es una reserva. 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 fatal. El protocolo de enlace 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 cliente hello 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>

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

Configurar la compatibilidad con el protocolo SSL mediante la interfaz gráfica de usuario

  1. Vaya a Administración del tráfico > Equilibrio de carga > Servidores virtuales y abra un servidor virtual.
  2. En la sección Parámetros SSL, seleccione un protocolo para habilitar.

Cierre de notificación

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 virtuales, servicios y grupos de servicios. Para obtener información acerca de 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 cerrada 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 desestablecerlo para otra entidad. Sin embargo, asegúrese de establecer este parámetro en el nivel global. De lo contrario, no se aplica la configuración en el nivel de entidad.

Configure Close-notify en el nivel de entidad mediante la CLI

En el símbolo del sistema, escriba cualquiera de los siguientes comandos para configurar la función close-notify y verificar la configuración:

  1. Para configurar en el nivel de servidor virtual, escriba:
set ssl vserver <vServerName> -sendCloseNotify ( YES | NO )
show ssl vserver <vServerName>

2. Para configurar en el nivel de servicio, escriba:

set ssl service <serviceName> -sendCloseNotify ( YES | NO )
show ssl service <serviceName>

3. Para configurar en el nivel de grupo de servicios, escriba:

set ssl serviceGroup <serviceGroupName> -sendCloseNotify ( YES | NO )
show ssl serviceGroup <serviceGroupName>

Ejemplo:

set ssl vserver sslvsvr -sendCloseNotify YES

Done

Configure la función de notificación cercana en el nivel de entidad mediante la interfaz gráfica de usuario

  1. Vaya a Administración del tráfico > Equilibrio de carga > Servidores virtuales y abra un servidor virtual.
  2. En la sección Parámetros de SSL, seleccione Enviar notificación de cierre.

Parámetros SSL globales

La personalización avanzada de su configuración SSL soluciona problemas específicos. Puede utilizar el comando set ssl parameter o la utilidad de configuración para especificar lo siguiente:

  • Tamaño cuántico que se utilizará para transacciones SSL.
  • Tamaño de memoria CRL.
  • Tamaño de caché de OCSP.
  • Denegar la renegociación de SSL.
  • Establezca el indicador PUSH para todos los registros descifrados, cifrados o todos los registros.
  • Desechar solicitudes si el cliente inicia el protocolo de enlace para un dominio y envía una solicitud HTTP para otro dominio.
  • Establezca la hora después de la cual se activa el cifrado. Nota: El tiempo especificado solo se aplica si utiliza el comando set ssl vserver o la utilidad de configuración para establecer el cifrado basado en temporizador.
  • Comprobación del certificado de conformidad con NDCPP: Se aplica cuando el dispositivo actúa con un cliente (conexión back-end). Durante la verificación del certificado, ignore el nombre común si SAN está presente en el certificado SSL.
  • Habilite un clúster heterogéneo de dispositivos basados en chips Cavium, como MPX 14000, y dispositivos basados en chips Intel Coleto, como dispositivos MPX 15000 con un número diferente de motores de paquetes. (Se agregó soporte desde la versión 13.0 build 47.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

Ejemplo:

set ssl parameter -quantumSize 8 -crlMemorySizeMB 256 -strictCAChecks no -sslt
iggerTimeout 100 -sendClosenotify no -encryptTriggerPktCount 45 -denySSLReneg no
-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                                : NO
    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

Configurar parámetros SSL globales mediante la interfaz gráfica de usuario

  1. Vaya a Administración del tráfico > SSL y, en el grupo Configuración, seleccione Cambiar configuración avanzada de SSL.

    Cambiar la configuración avanzada

  2. Seleccione Comprobación del certificado de conformidad con NDCPP. Haga clic en Aceptar.

    Comprobación del certificado de conformidad con NDCPP

Implementaciones de clústeres heterogéneos

Desde la versión 13.0 compilación 47.x, puede formar una implementación de clúster heterogénea de dispositivos Citrix ADC MPX con un número diferente de motores de paquetes estableciendo el parámetro SSL “HW SSL heterogéneo” en ENABLED. Por ejemplo, para formar un clúster de dispositivos basados en chips Cavium (MPX 14000 o similar) y dispositivos basados en chips 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.

Nota: La función no se admite en instancias VPX alojadas en dispositivos Citrix ADC SDX.

Para obtener más información acerca de las plataformas admitidas en la formación de un clúster heterogéneo, consulte https://docs.citrix.com/es-es/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 interfaz gráfica de usuario

  1. Vaya a Administración del tráfico > SSL y, en el grupo Configuración, seleccione Cambiar configuración avanzada de SSL.
  2. Seleccione HW SSL heterogéneo. Haga clic en Aceptar.

    Configuración de hardware SSL heterogéneo

Mecanismo de activación de cifrado basado en indicador PUSH

El mecanismo de activación de cifrado que se basa en el indicador TCP de PSH le permite hacer lo siguiente:

  • Combinar paquetes consecutivos en los que se establece el indicador PSH en un único registro SSL, o ignorar el indicador PSH.
  • Realice el 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 indicadores PUSH mediante la CLI

En el símbolo del sistema, escriba los siguientes comandos para configurar el cifrado basado en indicadores PUSH y compruebe la configuración:

set ssl vserver <vServerName> [-pushEncTrigger <pushEncTrigger>]

show ssl vserver

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

Configurar el cifrado basado en el indicador PUSH mediante la interfaz gráfica de usuario

  1. Vaya a Administración del tráfico > Equilibrio de carga > Servidores virtuales y abra un servidor virtual SSL.
  2. En la sección Parámetros SSL, en la lista Disparador de cifrado PUSH, seleccione un valor.

Soporte para el algoritmo hash de firma TLS1.2

El dispositivo Citrix ADC es totalmente compatible 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 utiliza la extensión “signature_algorithms” para indicar al servidor qué pares de algoritmos hash de firma se pueden utilizar en los mensajes de enlace SSL (SKE y CCV). 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 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 cliente, el mensaje de solicitud de certificado contiene un valor “supported_signature_algorithms”. El certificado de cliente se selecciona en función de este algoritmo hash de firma.

Nota:

El dispositivo Citrix ADC actúa como servidor para un cliente y como cliente para el servidor back-end.

Anteriormente, el dispositivo solo admitía RSA-SHA1 y RSA-SHA256 en el front-end, y RSA-MD5, RSA-SHA1 y RSA-SHA256 en el back-end. Además, el dispositivo VPX admite DSA-SHA1 en el front-end y back-end.

El dispositivo MPX/SDX/VPX admite las siguientes combinaciones de hash de firmas. En un dispositivo SDX, si se asigna un chip SSL a una instancia VPX, se aplica la compatibilidad con cifrado de un dispositivo MPX. De lo contrario, se aplica el soporte de cifrado normal de una instancia VPX.

  • En una instancia VPX:
    • RSA-MD5
    • RSA-SHA1
    • RSA-SHA224
    • RSA-SHA256
    • RSA-SHA384
    • RSA-SHA512
    • DSA-SHA1
    • DSA-SHA224
    • DSA-SHA256
    • DSA-SHA384
    • DSA-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
  • En un dispositivo MPX/SDX sin chips N3:
    • RSA-MD5
    • RSA-SHA1
    • RSA-SHA224
    • RSA-SHA256
    • RSA-SHA384
    • RSA-SHA512

De forma predeterminada, todos los algoritmos hash de firma están habilitados. Sin embargo, solo puede habilitar algunos algoritmos 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 DSA-SHA1 DSA-SHA224 DSA-SHA256 DSA-SHA384 DSA-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

Validar el certificado del mismo nivel

De acuerdo con RFC 5246, el certificado del mismo nivel debe firmarse mediante 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 habilita strictSigDigestCheck, el dispositivo devuelve un certificado firmado por uno de los algoritmos hash de firmas mencionados en la extensión Client Hello. Si el par no tiene un certificado adecuado, se elimina la conexión. Si este parámetro está inhabilitado, el hash de firma no se comprueba en el certificado del mismo nivel.

Puede configurar la comprobación estricta de resumen de firmas en un servidor virtual SSL y un servicio. 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 cliente está habilitada, el certificado de cliente recibido por el servidor debe firmarse mediante uno de los algoritmos hash de firma enumerados 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 mediante uno de los algoritmos hash de firma enumerados en el mensaje de solicitud de certificado.

Si el perfil predeterminado está habilitado, puede usarlo para configurar la comprobación de resumen de firmas estrictas en un servidor virtual SSL, servicio SSL y perfil SSL.

Configure la comprobación estricta de resumen de firmas en un servidor virtual SSL, servicio o perfil 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

Ejemplo:

set ssl vserver v1 –strictSigDigestCheck Enabled
set ssl service s1 –strictSigDigestCheck Enabled
set ssl profile p1 –strictSigDigestCheck Enabled

Importante:

Si los cifrados DH, ECDHE o ECDSA están configurados en el dispositivo, el mensaje SKE debe firmarse mediante uno de los hashes de firma comunes a la lista de clientes y a la lista configurada en el dispositivo. Si no hay un hash de firma común, se elimina la conexión.