ADC
Gracias por los comentarios

Este artículo ha sido traducido automáticamente. (Aviso legal)

Configurar la acción SSL para reenviar el tráfico del cliente

Al analizar el mensaje de saludo del cliente, un dispositivo NetScaler puede reenviar el tráfico del cliente mediante una acción de reenvío de SSL asociada a una directiva SSL. La directiva está enlazada al servidor virtual en el punto de enlace de la solicitud de saludo del cliente. Algunos casos de uso en los que se puede utilizar el reenvío se describen en las siguientes secciones. Para obtener información sobre cómo configurar una acción de reenvío SSL si no se admite un cifrado en un dispositivo NetScaler, consulte Configurar la acción SSL para reenviar el tráfico del cliente si el ADC no admite un cifrado.

En la siguiente ilustración se explica el flujo de tráfico. El servidor virtual de reenvío es del tipo SSL_TCP en esta ilustración.

Flujo de tráfico de acciones de reenvío SSL

  1. Un cliente inicia el protocolo de enlace SSL y envía el mensaje de saludo del cliente al dispositivo ADC.
  2. El dispositivo evalúa la directiva configurada mediante los parámetros del mensaje de saludo del cliente.
  3. Si la directiva se evalúa como falsa, el tráfico descifrado se reenvía al servicio HTTP y, a continuación, al servidor de fondo.
  4. Si la directiva se evalúa como verdadera, el tráfico se reenvía al servidor virtual de reenvío definido en la acción.
  5. El servidor virtual de reenvío completa el enlace con el cliente.
  6. Todo el tráfico que cumple con la regla de directiva se reenvía al servicio de fondo a través del servicio vinculado al servidor virtual de reenvío.

Configure una acción SSL para reenviar el tráfico del 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, compilación 49.x y versiones posteriores.

En el mensaje de saludo del cliente, es posible que reciba una solicitud para un dominio para el que el certificado no esté disponible en el dispositivo. En este caso, puede configurar una acción SSL para reenviar el tráfico del cliente a otro servidor virtual. 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 realicen 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, vMain). El tráfico del cliente se recibe en este servidor virtual.
  2. Añada certificados de servidor y CA y vincúlelos al servidor virtual SSL.
  3. Agregue un servicio SSL con el puerto 443.
  4. Enlaza este servicio al servidor virtual SSL.
  5. Agregue otro servidor virtual de equilibrio de carga de tipo SSL/SSL_TCP/TCP/SSL_BRIDGE al que reenviar el tráfico. (Por ejemplo, fwd-vserver).
  6. Agregue un servicio y enlacelo a este servidor virtual.
  7. Agregue una acción de reenvío de SSL que especifique el servidor virtual SSL fwd-vserver en el parámetro “reenviar”.
  8. Agregue una directiva SSL (por ejemplo pol-ssl-sni) 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 en CLIENTHELLO_REQ.
  10. Guarde la configuración.

Configuración mediante la CLI

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

add lb vserver fwd-vserver SSL 198.51.100.20 443 add ssl certkey sv -cert complete/server/server_rsa_2048.pem -key complete/server/server_rsa_2048.ky add ssl certkey cacert -cert SHA256-RSA-PEM_512.pem -key SHA256-RSA-PEM_512.ky bind ssl vserver fwd-vserver -certkeyName sv bind ssl vserver fwd-vserver -certkeyName cacert -CA add service ssl-service2 198.51.100.18 SSL 443 bind lb vserver fwd-vserver ssl-service2

Configuración del servidor virtual SSL que recibe originalmente el tráfico del cliente:

add service ssl-service 198.51.100.5 SSL 443 add lb vserver vMain SSL 198.51.100.25 443 bind ssl vserver vMain -certkeyName sv bind lb vserver vMain ssl-service set ssl vserver vMain -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 vMain -certkeyName snicert -sniCert bind ssl vserver vMain -certkeyName snicert2 -sniCert

Configuración de directivas para el servidor virtual SSL VMain:

add ssl action act_ssl_fwd -forward fwd-vserver add ssl policy pol-ssl-sni -rule client.ssl.client_hello.sni.contains("xyz") -action act_ssl_fwd bind ssl vserver vMain -policyName pol-ssl-sni -type CLIENTHELLO_REQ -priority 1
sh ssl vserver vMain Advanced SSL configuration for VServer vMain: 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: pol-ssl-sni Priority: 1 1) Cipher Name: DEFAULT Description: Default cipher list with encryption strength >= 128bit Done
sh ssl policy pol-ssl-sni Name: pol-ssl-sni Rule: client.ssl.client_hello.sni.contains("xyz") Action: act_ssl_fwd 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 act_ssl_fwd 1) Name: act_ssl_fwd 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

Configure una acción SSL para reenviar el tráfico del cliente según el protocolo de la aplicación en la extensión ALPN del mensaje de saludo del cliente

Nota: Esta función se admite en la versión 13.0 compilación 61.x y posteriores.

Un dispositivo NetScaler puede identificar los protocolos que vienen en la extensión ALPN del mensaje de saludo del cliente y, al mismo tiempo, analizar el mensaje para evaluar la directiva. La regla para identificar el protocolo en la extensión ALPN del mensaje de saludo del cliente es client.ssl.client_hello.alpn.has_nextprotocol<protocol_name>. Asocie una acción SSL de tipo “reenvío” a la directiva para reenviar los paquetes al servidor virtual de reenvío. El servidor virtual de reenvío puede ser de tipo SSL, SSL_TCP, SSL_BRIDGE o TCP.

Para negociar el protocolo de aplicación en la extensión ALPN para las conexiones gestionadas por el servidor virtual SSL_TCP, alpnProtocol se agrega un parámetro a los perfiles SSL del front-end. Los valores admitidos para el parámetro son HTTP1.1, HTTP2 o NONE (valor predeterminado). Solo se negocia el protocolo especificado en el perfil SSL, si se recibe el mismo protocolo en la extensión ALPN del mensaje de saludo del cliente. La longitud máxima admitida de la extensión ALPN para la evaluación de directivas es de 4096 bytes.

Configuración de ejemplo para reenviar todas las solicitudes que contienen el protocolo HTTP2 en la extensión ALPN a un servidor virtual SSL_TCP

El servidor virtual SSL_TCP al que reenviar el tráfico es. fwd-vserver-1

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

add lb vserver fwd-vserver-1 SSL_TCP 198.51.100.20 443 add ssl certkey sv -cert complete/server/server_rsa_2048.pem -key complete/server/server_rsa_2048.ky add ssl certkey rootCA -cert SHA256-RSA-PEM_512.pem -key SHA256-RSA-PEM_512.ky bind ssl vserver fwd-vserver-1 -certkeyName sv bind ssl vserver fwd-vserver-1 -certkeyName rootCA -CA add service ssl-tcp-service 198.51.100.14 SSL_TCP 443 bind lb vserver fwd-vserver-1 ssl-tcp-service

Configuración del servidor virtual SSL que recibe originalmente el tráfico del cliente:

add service ssl-service 198.51.100.5 SSL 443 add lb vserver vMain-alpn SSL 198.51.100.25 443 bind ssl vserver vMain-alpn -certkeyName sv bind lb vserver vMain-alpn ssl-service

Configuración de directivas para el servidor virtual SSL vMain-ALPN:

add ssl action forward-action-alpn -forward fwd-vserver-1 add ssl policy pol-ssl-alpn -rule "client.ssl.client_hello.alpn.has_nextprotocol("h2")" -action forward-action-alpn bind ssl vserver VMain-alpn -policyName pol-ssl-alpn -priority 2 -type CLIENTHELLO_REQ
sh ssl vserver vMain-alpn Advanced SSL configuration for VServer vMain-alpn: DH: DISABLED DH Private-Key Exponent Size Limit: DISABLED Ephemeral RSA: ENABLED Refresh Count: 0 Session Reuse: ENABLED Timeout: 120 seconds Cipher 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 HSTS Preload: NO 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 Data policy 1) Policy Name: pol-ssl-alpn Priority: 2 1) Cipher Name: DEFAULT Description: Default cipher list with encryption strength >= 128bit Done
sh ssl policy pol-ssl-alpn Name: pol-ssl-alpn Rule: client.ssl.client_hello.alpn.has_nextprotocol("h2") Action: forward-action-alpn UndefAction: Use Global Hits: 0 Undef Hits: 0 Policy is bound to following entities 1) Bound to: CLIENTHELLO_REQ VSERVER VMain-alpn Priority: 2 Done
sh ssl action forward-action-alpn 1) Name: forward-action-alpn Type: Data Insertion Forward to: fwd-vserver-1 Hits: 0 Undef Hits: 0 Action Reference Count: 1 Done
sh ssl vserver fwd-vserver-1 Advanced SSL configuration for VServer fwd-vserver-1: DH: DISABLED DH Private-Key Exponent Size Limit: DISABLED Ephemeral RSA: ENABLED Refresh Count: 0 Session Reuse: ENABLED Timeout: 120 seconds Cipher 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 HSTS Preload: NO 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: rootCA CA Certificate OCSPCheck: Optional CA_Name Sent 1) Cipher Name: DEFAULT Description: Default cipher list with encryption strength >= 128bit Done
La versión oficial de este contenido está en inglés. Para mayor comodidad, parte del contenido de la documentación de Cloud Software Group solo tiene traducción automática. Cloud Software Group no puede controlar el contenido con traducción automática, que puede contener errores, imprecisiones o un lenguaje inadecuado. No se ofrece ninguna garantía, ni implícita ni explícita, en cuanto a la exactitud, la fiabilidad, la idoneidad o la precisión de las traducciones realizadas del original en inglés a cualquier otro idioma, o que su producto o servicio de Cloud Software Group se ajusten a cualquier contenido con traducción automática, y cualquier garantía provista bajo el contrato de licencia del usuario final o las condiciones de servicio, o cualquier otro contrato con Cloud Software Group, de que el producto o el servicio se ajusten a la documentación no se aplicará en cuanto dicha documentación se ha traducido automáticamente. Cloud Software Group no se hace responsable de los daños o los problemas que puedan surgir del uso del contenido traducido automáticamente.