Configurar la acción SSL para reenviar tráfico de cliente si el dispositivo no tiene un certificado específico de dominio (SNI)

Nota: Esta función está disponible en la versión 12.1 build 49.x y versiones posteriores.

En el mensaje de saludo del cliente, si recibe una solicitud de un dominio para el que el certificado no está disponible en el dispositivo, puede configurar una acción SSL para reenviar el tráfico del cliente a un servidor virtual diferente. Si no desea descarga SSL en el dispositivo, reenvíe el tráfico a un servidor virtual de tipo TCP o SSL_BRIDGE. Para la descarga SSL, reenvíe el tráfico a un servidor virtual SSL. En el siguiente ejemplo, hemos configurado un servidor virtual SSL como servidor virtual de reenvío. Esta configuración garantiza que todas las conexiones que fallan debido a la falta de un certificado SNI en el servidor virtual original se realizan correctamente en el servidor virtual de reenvío.

Siga estos pasos:

  1. Agregue un servidor virtual de equilibrio de carga de tipo SSL (Por ejemplo, v1). El tráfico de cliente se recibe en este servidor virtual.
  2. Agregue un servicio SSL con el puerto 443.
  3. Enlace este servicio al servidor virtual SSL.
  4. Agregue otro servidor virtual de equilibrio de carga de tipo SSL para reenviar el tráfico a. (Por ejemplo, fwd-vserver).
  5. Agregue un servicio y vincularlo a este servidor virtual.
  6. Enlace este servicio al servidor virtual SSL.
  7. Agregue una acción SSL especificando el servidor virtual SSL fwd-vserver en el parámetro ‘forward’.
  8. Agregue una directiva SSL que especifique la acción anterior si se recibe un nombre de dominio específico (SNI) en el mensaje de saludo del cliente.
  9. Enlazar esta directiva al servidor virtual SSL v1.
  10. Guarde la configuración.

Configuración mediante la CLI

Configuración para el servidor virtual SSL al que reenviar el tráfico

add lb vserver fwd-vserver SSL 10.102.57.184 443
add ssl certkey sv -cert complete/server/server_rsa_2048.pem -key complete/server/server_rsa_2048.ky
bind ssl vserver fwd-vserver -certkeyName sv
bind ssl vserver fwd-vserver -certkeyName cacert -CA
add service ssl-service2 10.102.113.150 SSL 443
bind lb vserver fwd-vserver ssl-service2

Configuración para el servidor virtual SSL que recibe originalmente tráfico de cliente

add service ssl-service 10.102.113.155 SSL 443
add lb vserver v1 SSL 10.102.57.186 443
bind ssl vserver v1 -certkeyName sv
bind lb vserver v1 ssl-service
set ssl vserver v1 -sni ENABLED
add ssl certKey snicert2 -cert /nsconfig/ssl/complete/SNI/server/serverabc.pem -key /nsconfig/ssl/complete/SNI/server/serverabc.ky
add ssl certKey snicert -cert /nsconfig/ssl/complete/SNI/server/serverabcnetscaler.pem -key /nsconfig/ssl/complete/SNI/server/serverabcnetscaler.ky
bind ssl vserver v1 -certkeyName snicert -sniCert
bind ssl vserver v1 -certkeyName snicert2 -sniCert
add ssl action act1 -forward fwd-vserver
add ssl policy pol1 -rule client.ssl.client_hello.sni.contains("xyz") -action act1
bind ssl vserver v1 -policyName pol1 -type CLIENTHELLO_REQ -priority 1
sh ssl vserver v1

    Advanced SSL configuration for VServer v1:
    DH: DISABLED
    DH Private-Key Exponent Size Limit: DISABLED    Ephemeral RSA: ENABLED  Refresh Count: 0
    Session Reuse: ENABLED  Timeout: 120 seconds
    Cipher Redirect: DISABLED
    SSLfwd-vserver Redirect: DISABLED
    ClearText Port: 0
    Client Auth: DISABLED
    SSL Redirect: DISABLED
    Non FIPS Ciphers: DISABLED
    SNI: ENABLED
    OCSP Stapling: DISABLED
    HSTS: DISABLED
    HSTS IncludeSubDomains: NO
    HSTS Max-Age: 0
    SSLfwd-vserver: 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)  CertKey Name: sv    Server Certificate
2)  CertKey Name: snicert2  Server Certificate for SNI
3)  CertKey Name: snicert   Server Certificate for SNI


Data policy
1) Policy Name: pol1    Priority: 1



1) Cipher Name: DEFAULT
Description: Default cipher list with encryption strength >= 128bit
Done
sh ssl policy pol1
    Name: pol1
    Rule: client.ssl.client_hello.sni.contains("xyz")
    Action: act1
    UndefAction: Use Global
    Hits: 0
    Undef Hits: 0


    Policy is bound to following entities
1)  Bound to: CLIENTHELLO_REQ VSERVER v1
    Priority: 1

Done
sh ssl action act1
1)  Name: act1
    Type: Data Insertion
    Forward to: fwd-vserver
    Hits: 0
    Undef Hits: 0
    Action Reference Count: 1
Done
sh ssl vserver fwd-vserver

    Advanced SSL configuration for VServer fwd-vserver:
    DH: DISABLED
    DH Private-Key Exponent Size Limit: DISABLED    Ephemeral RSA: ENABLED  Refresh Count: 0
    Session Reuse: ENABLED  Timeout: 120 seconds
    Cipher Redirect: DISABLED
    SSLfwd-vserver 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
    SSLfwd-vserver: 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)  CertKey Name: sv    Server Certificate



1)  Cipher Name: DEFAULT
    Description: Default cipher list with encryption strength >= 128bit
Done

Configurar la acción SSL para reenviar tráfico de cliente si el dispositivo no tiene un certificado específico de dominio (SNI)