ADC
Gracias por los comentarios

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

Acciones integradas SSL y acciones definidas por el usuario

A menos que solo necesite las acciones integradas en sus directivas, debe crear las acciones antes de crear las directivas. A continuación, puede especificar las acciones al crear las directivas. Las acciones integradas son de dos tipos, acciones de control y acciones de datos. Las acciones de control se utilizan en las directivas de control y las acciones de datos en las directivas de datos.

Las acciones de control integradas son:

  • doClientAuth: realiza la autenticación con certificados de cliente. (No compatible con TLS1.3)
  • noClientAuth: no realice la autenticación con certificado de cliente. (No compatible con TLS1.3)

Las acciones de datos integradas son:

  • Restablecer: cierre la conexión enviando un paquete RST al cliente.
  • Drop: elimina todos los paquetes del cliente. La conexión permanece abierta hasta que el cliente la cierre.
  • NOOP: reenvía el paquete sin realizar ninguna operación en él.

Nota: El protocolo TLS 1.3 no admite ninguna acción dependiente de la autenticación del cliente, como ClientCertVerification y SSLLogProfile.

Puede crear acciones de datos definidas por el usuario. Si habilita la autenticación del cliente, puede crear una acción SSL para insertar los datos del certificado de cliente en el encabezado de la solicitud antes de reenviar la solicitud al servidor web.

Si la evaluación de una directiva da como resultado un estado indefinido, se realiza una acción UNDEF. Para una directiva de datos o una directiva de control, puede especificar RESET, DROP o NOOP como acción UNDEF. Para una directiva de control, también tiene la opción de especificar DOCLIENTAUTH o NOCLIENTAUTH.

Ejemplos de acciones integradas en una directiva

En el siguiente ejemplo, si el cliente envía un cifrado que no sea un cifrado de categoría EXPORT, el dispositivo NetScaler solicita la autenticación del cliente. El cliente debe proporcionar un certificado válido para que la transacción se realice correctamente.

add ssl policy pol1 -rule CLIENT.SSL.CIPHER_EXPORTABLE.NOT -reqAction DOCLIENTAUTH

En los siguientes ejemplos se asume que la autenticación del cliente está habilitada.

Si la versión del certificado proporcionado por el usuario coincide con la versión de la directiva, no se realiza ninguna acción y se reenvía el paquete:

add ssl policy pol1 -rule CLIENT.SSL.CLIENT_CERT.VERSION.EQ(2) -reqAction NOOP

Si la versión del certificado proporcionado por el usuario coincide con la versión de la directiva, se interrumpe la conexión:

add ssl policy pol1 -rule CLIENT.SSL.CLIENT_CERT.VERSION.EQ(2) -reqAction DROP

Si la versión del certificado proporcionado por el usuario coincide con la versión de la directiva, la conexión se restablece:

add ssl policy pol1 -rule CLIENT.SSL.CLIENT_CERT.VERSION.EQ(2) -reqAction RESET

Verificación del certificado de cliente con autenticación de cliente basada en directivas

Puede configurar la verificación del certificado de cliente como obligatoria u opcional cuando haya configurado la autenticación de clientes basada en directivas. El valor predeterminado es obligatorio.

Configure la verificación del certificado de cliente como opcional mediante la CLI

En la línea de comandos, escriba:

add ssl action <name> ((-clientAuth ( DOCLIENTAUTH | NOCLIENTAUTH ) [-clientCertVerification ( Mandatory | Optional )]

Ejemplo:

add ssl action sslact -clientauth DOCLIENTAUTH -clientcertverification OPTIONAL

Configure la verificación del certificado de cliente como opcional mediante la GUI

  1. Vaya a Administración del tráfico > SSL > Directivas.

  2. En la ficha Acciones SSL, haga clic en Agregar.

  3. Especifique un nombre y, en la lista de verificación de certificados de cliente, seleccione Opcional.

Acciones SSL definidas por el usuario

Además de las acciones integradas, también puedes configurar otras acciones SSL en función de tu implementación. Estas acciones se denominan acciones definidas por el usuario.

Configurar una acción SSL definida por el usuario mediante la CLI

En la línea de comandos, escriba los siguientes comandos para configurar una acción y comprobar la configuración:

add SSL action <name> -clientAuth(DOCLIENTAUTH | NOCLIENTAUTH) -clientCert (ENABLED | DISABLED) certHeader <string> -clientHeader <string> -clientCertSerialNumber (ENABLED | DISABLED) -certSerialHeader <string> -clientCertSubject (ENABLED | DISABLED) -certSubjectHeader <string> -clientCertHash (ENABLED | DISABLED) -certHashHeader <string> -clientCertIssuer (ENABLED | DISABLED) -certIssuerHeader <string> -sessionID (ENABLED | DISABLED) -sessionIDheader <string> -cipher (ENABLED | DISABLED) -cipherHeader <string> -clientCertNotBefore (ENABLED | DISABLED) -certNotBeforeHeader <string> -clientCertNotAfter (ENABLED | DISABLED) -certNotAfterHeader <string> -OWASupport (ENABLED | DISABLED)
show ssl action [<name>]

Ejemplo:

add ssl action Action-SSL-ClientCert -clientCert ENABLED -certHeader "X-Client-Cert"
show ssl action Action-SSL-ClientCert 1) Name: Action-SSL-ClientCert Data Insertion Action: Cert Header: ENABLED Cert Tag: X-Client-Cert Done

Configure una acción SSL definida por el usuario mediante la interfaz gráfica de usuario

Vaya a Administración del tráfico > SSL > Directivas y, en la ficha Acciones, haga clic en Agregar.

Configurar una acción SSL para reenviar el tráfico del cliente a otro servidor virtual

Los administradores pueden configurar una acción SSL para reenviar el tráfico de clientes recibido en un servidor virtual SSL a otro servidor virtual a fin de evitar la descarga de SSL. O para finalizar la conexión en el dispositivo ADC. Este servidor virtual puede ser del tipo: SSL, TCP o SSL_BRIDGE. Por ejemplo, los administradores pueden optar por reenviar la solicitud a otro servidor virtual para que tome medidas adicionales en lugar de finalizar la conexión en alguno de los siguientes casos:

  • El dispositivo no tiene ningún certificado.
  • El dispositivo no admite un cifrado específico.

Para lograr lo anterior, se añade un nuevo punto de enlace “CLIENTHELLO_REQ” para evaluar el tráfico del cliente cuando se recibe un saludo del cliente. Si la directiva vinculada al servidor virtual que recibe el tráfico del cliente se evalúa como verdadera después de analizar el saludo del cliente, el tráfico se reenvía a otro servidor virtual. Si este servidor virtual es de tipo SSL, realiza el protocolo de enlace. Si este servidor virtual es de tipo TCP o SSL_BRIDGE, el servidor de fondo ejecuta el protocolo de enlace.

En la versión 12.1-49.x, solo se admiten las acciones de reenvío y restablecimiento para el punto de enlace CLIENTHELLO_REQ. Están disponibles los siguientes prefijos de expresión:

  • CLIENT.SSL.CLIENT_HELLO.CIPHERS.HAS_HEXCODE
  • CLIENT.SSL.CLIENT_HELLO.CLIENT_VERSION
  • CLIENT.SSL.CLIENT_HELLO.IS_RENEGOTIATE
  • CLIENT.SSL.CLIENT_HELLO.IS_REUSE
  • CLIENT.SSL.CLIENT_HELLO.IS_SCSV
  • CLIENT.SSL.CLIENT_HELLO.IS_SESSION_TICKET
  • CLIENT.SSL.CLIENT_HELLO.LENGTH
  • CLIENT.SSL.CLIENT_HELLO.SNI
  • CLIENT.SSL.CLIENT_HELLO.ALPN.HAS_NEXTPROTOCOL (de la versión 13.0 compilación 61.x)

Para obtener una descripción de estos prefijos, consulte Expresiones de directivas avanzadas: análisis de SSL.

forward Se agrega un parámetro al add SSL action comando y CLIENTHELLO_REQ se agrega un nuevo punto de enlace al bind ssl vserver comando.

Configuración mediante la CLI

En la línea de comandos, escriba:

add ssl action <name> -forward <virtual server name> add ssl policy <name> -rule <expression> -action <string> bind ssl vserver <vServerName> -policyName <string> -priority <positive_integer> -type <type>

EJEMPLO:

add ssl action act1 -forward v2 add ssl policy pol1 -rule client.ssl.client_hello.ciphers.has_hexcode(0x002f) -action act1 bind ssl vserver v1 -policyName pol1 -priority 1 -type CLIENTHELLO_REQ

Configuración mediante la GUI

Vaya a Administración del tráfico > SSL > Directivas.

Crear acción SSL:

  1. En Acciones SSL, haga clic en Agregar.
  2. En Crear acción SSL, especifique un nombre para la acción.
  3. En Forward Action Virtual Server, seleccione un servidor virtual existente o añada uno nuevo al que reenviar el tráfico.
  4. Si lo desea, defina otros parámetros.
  5. Haga clic en Create.

Cree una directiva SSL:

  1. En Directivas SSL, haga clic en Agregar.
  2. En Crear directiva SSL, especifique un nombre para la directiva.
  3. En Acción, selecciona la acción que creaste anteriormente.
  4. En el Editor de expresiones, introduzca la regla que desee evaluar.
  5. Haga clic en Create.

Cree o agregue una directiva de servidor virtual y enlace:

  1. Vaya a Administración del tráfico > Equilibrio de carga > Servidores virtuales.
  2. Agregue o seleccione un servidor virtual.
  3. En Configuración avanzada, haga clic en Directivas SSL.
  4. Haga clic en la sección Directiva de SSL.
  5. En Seleccionar directiva, seleccione la directiva que creó anteriormente.
  6. En Vinculación de directivas, especifique una prioridad para la directiva.
  7. En Tipo, seleccione CLIENTHELLO_REQ.
  8. Haga clic en Bind.
  9. Haga clic en Listo.

Para obtener información sobre la configuración de extremo a extremo para los casos de uso más populares, consulte los siguientes temas:

Acción SSL para seleccionar selectivamente CA basadas en SNI para la autenticación del cliente

Solo puede enviar la lista de CA basadas en el SNI (dominio) en la solicitud de certificado del cliente, en lugar de la lista de todas las CA vinculadas a un servidor virtual SSL. Por ejemplo, cuando se recibe un saludo de un cliente, solo se envían los certificados de CA basados en la expresión de directiva SSL (por ejemplo, SNI). Para enviar un conjunto específico de certificados, debe crear un grupo de certificados de CA. A continuación, vincule este grupo a una acción SSL y vincule la acción a una directiva SSL. Si la directiva vinculada al servidor virtual que recibe el tráfico del cliente se evalúa como verdadera después de analizar el saludo del cliente, solo se envía un grupo de certificados de CA específico en el certificado de solicitud del cliente.

Antes, había que vincular los certificados de CA a un servidor virtual SSL. Con esta mejora, puede simplemente añadir grupos de certificados de CA y asociarlos a una acción SSL.

Nota: Habilite la autenticación del cliente y el SNI en el servidor virtual SSL. Enlaza los certificados SNI correctos al servidor virtual.

Siga estos pasos:

  1. Agregue un grupo de certificados de CA.

  2. Añada pares de claves de certificado.

  3. Enlazar los pares de claves de certificado a este grupo.

  4. Añada una acción SSL.

  5. Añada una directiva SSL. Especifique la acción en la directiva.

  6. Enlazar la directiva a un servidor virtual SSL. Especifique el punto de enlace como CLIENTHELLO_REQ.

Configuración mediante la CLI

En la línea de comandos, escriba los siguientes comandos en secuencia:

add ssl caCertGroup <caCertGroupName> add ssl certkey <certkey_name> -cert <cert> -key <key> bind ssl caCertGroup <caCertGroupName> <certkey_name> add ssl action <name> -caCertGrpName <string> add ssl policy <name> -rule <expression> -action <string> bind ssl vserver <vServerName> -policyName <string> -priority <positive_integer> -type CLIENTHELLO_REQ

Ejemplo:

add ssl cacertGroup ca_cert_group add ssl certkey ca_certkey1 -cert cacert1 -key cakey1 add ssl certkey ca_certkey2 -cert cacert2 -key cakey2 add ssl certkey snicert -cert snicert -key snikey bind ssl cacertGroup ca_cert_group ca_certkey1 bind ssl caCertGroup ca_cert_group ca_certkey2
sh ssl caCertGroup ca_cert_group CA GROUP NAME: ca_cert_group ACTIONS REFERRING: 1 1) CertKey Name: ca_certkey1 CA Certificate CRLCheck: Optional CA_Name Sent 2) CertKey Name: ca_certkey2 CA Certificate CRLCheck: Optional CA_Name Sent
add ssl action pick_ca_group -cacertGrpName ca_cert_group
sh ssl action pick_ca_group 1) Name: pick_ca_group Type: Data Insertion PickCaCertGroup: ca_cert_group Hits: 0 Undef Hits: 0 Action Reference Count: 1
add ssl policy snipolicy -rule client.ssl.client_hello.sni.contains("abc") -action pick_ca_group bind ssl vserver v_SSL -policyName snipolicy -type CLIENTHELLO_REQ -priority 10
sh ssl policy snipolicy Name: snipolicy Rule: client.ssl.client_hello.sni.contains("abc") Action: pick_ca_group UndefAction: Use Global Hits: 0 Undef Hits: 0 Policy is bound to following entities 1) Bound to: CLIENTHELLO_REQ VSERVER v_SSL Priority: 10
set ssl vserver v_SSL -clientauth ENABLED -SNIEnable ENABLED bind ssl vserver v_SSL -certkeyName snicert -sniCert
sh ssl vserver v_SSL Advanced SSL configuration for VServer v_SSL: DH: DISABLED DH Private-Key Exponent Size Limit: DISABLED Ephemeral RSA: ENABLED Refresh Count: 0 Session Reuse: ENABLED Timeout: 120 seconds Cipher Redirect: DISABLED SSLv2 Redirect: DISABLED ClearText Port: 0 Client Auth: ENABLED Client Cert Required: Mandatory SSL Redirect: DISABLED Non FIPS Ciphers: DISABLED SNI: ENABLED 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) CertKey Name: snicert Server Certificate for SNI Data policy 1) Policy Name: snipolicy Priority: 10 1) Cipher Name: DEFAULT Description: Default cipher list with encryption strength >= 128bit

Configuración mediante la GUI

Cree un grupo de certificados de CA y vincule los certificados al grupo:

  1. Vaya a Administración del tráfico > SSL > Grupo de certificados de CA.
  2. Haga clic en Agregar y especifique un nombre para el grupo.
  3. Haga clic en Create.
  4. Seleccione el grupo de certificados de CA y, a continuación, haga clic en Mostrar enlaces.
  5. Haga clic en Bind.
  6. En la página de enlace de certificados de CA, seleccione un certificado existente o haga clic en Agregar para agregar un certificado nuevo.
  7. Haga clic en Seleccionar y, a continuación, en Enlazar.
  8. Para vincular otro certificado, repita los pasos 5 a 7.
  9. Haga clic en Cerrar.

Vaya a Administración del tráfico > SSL > Directivas.

Crear acción SSL:

  1. En Acciones SSL, haga clic en Agregar.
  2. En Crear acción SSL, especifique un nombre para la acción.
  3. En Forward Action Virtual Server, seleccione un servidor virtual existente o añada un servidor virtual al que reenviar el tráfico.
  4. Si lo desea, defina otros parámetros.
  5. Haga clic en Create.

Cree una directiva SSL:

  1. En Directivas SSL, haga clic en Agregar.
  2. En Crear directiva SSL, especifique un nombre para la directiva.
  3. En Acción, seleccione la acción creada anteriormente.
  4. En el Editor de expresiones, introduzca la regla que desee evaluar.
  5. Haga clic en Create.

Cree o agregue una directiva de servidor virtual y enlace:

  1. Vaya a Administración del tráfico > Equilibrio de carga > Servidores virtuales.
  2. Agregue o seleccione un servidor virtual.
  3. En Configuración avanzada, haga clic en Directivas SSL.
  4. Haga clic en la sección Directiva de SSL.
  5. En Seleccionar directiva, seleccione la directiva que creó anteriormente.
  6. En Vinculación de directivas, especifique una prioridad para la directiva.
  7. En Tipo, seleccione CLIENTHELLO_REQ.
  8. Haga clic en Bind.
  9. Haga clic en Listo.

Desvincular un grupo de certificados de CA mediante la interfaz gráfica de usuario

  1. Vaya a Administración del tráfico > SSL > Grupo de certificados de CA.
  2. Seleccione un grupo de certificados y haga clic en Mostrar enlaces.
  3. Seleccione el certificado que desee eliminar del grupo y haga clic en Desvincular.
  4. Si se le solicita la confirmación, haga clic en **Sí••.
  5. Haga clic en Cerrar.

Eliminar un grupo de certificados de CA mediante la interfaz gráfica de usuario

  1. Vaya a Administración del tráfico > SSL > Grupo de certificados de CA.
  2. Seleccione un grupo de certificados y haga clic en Eliminar.
  3. Si se le solicita la confirmación, haga clic en .
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.