Políticas de SSL para los protocolos SSL y TLS

Las políticas de SSL especifican el conjunto de características de SSL que los balanceadores de cargas de Google Cloud usan cuando negocian SSL con los clientes. En este documento, el término SSL hace referencia a los protocolos SSL y TLS.

Las políticas de SSL son compatibles con los siguientes balanceadores de cargas:

  • Políticas de SSL globales
    • Balanceador de cargas de aplicaciones externo global
    • Balanceador de cargas de aplicaciones clásico
    • Balanceador de cargas de red del proxy externo (con un proxy SSL de destino)
  • Políticas de SSL regionales
    • Balanceador de cargas de aplicaciones externo regional
    • Balanceador de cargas de aplicaciones interno

De forma predeterminada, estos balanceadores de cargas usan un conjunto de características de SSL que proporcionan una buena seguridad y una amplia compatibilidad. Algunas aplicaciones requieren más control sobre los cifrados y las versiones de SSL que se usan para las conexiones HTTPS o SSL. Puedes definir las políticas de SSL para especificar el conjunto de características de SSL que usará el balanceador de cargas cuando negocies SSL con los clientes.

En el siguiente ejemplo, se muestra cómo se establecen y finalizan las conexiones de clientes en un balanceador de cargas.

Conexiones de cliente en balanceadores de cargas de aplicación externos o balanceadores de cargas de red de proxy externo.
Conexiones de cliente en balanceadores de cargas de aplicaciones externos o balanceadores de cargas de red de proxy externos (haz clic para ampliar).

Puedes usar una política de SSL para configurar la versión mínima de TLS y las características de SSL habilitadas en el balanceador de cargas. Las políticas de SSL afectan las conexiones entre los clientes y el balanceador de cargas (Connection-1 en la ilustración). Las políticas de SSL no afectan las conexiones entre el balanceador de cargas y los backends (Connection-2).

Define una política de SSL

Para definir una política de SSL, especifica una versión mínima de TLS y un perfil. El perfil selecciona un conjunto de características de SSL para habilitar en el balanceador de cargas.

Tres perfiles preconfigurados administrados por Google te permiten especificar el nivel de compatibilidad adecuado para la aplicación. Los tres perfiles preconfigurados son los siguientes:

  • COMPATIBLE: permite que el conjunto más amplio de clientes, incluidos aquellos que solo admiten características de SSL desactualizadas, negocien SSL con el balanceador de cargas.
  • MODERNO: admite un amplio conjunto de características de SSL, lo que permite que los clientes modernos negocien SSL.
  • RESTRINGIDO: admite un conjunto reducido de características de SSL con la intención de cumplir con requisitos de cumplimiento más estrictos.

Un cuarto perfil CUSTOM te permite seleccionar características de SSL de forma individual.

La política de SSL también especifica la versión mínima del protocolo TLS que los clientes pueden usar para establecer una conexión. Un perfil también puede restringir las versiones de TLS que el balanceador de cargas puede negociar. Por ejemplo, los cifrados habilitados en el perfil RESTRINGIDO solo son compatibles con TLS 1.2. Elegir el perfil RESTRINGIDO requiere que los clientes usen TLS 1.2 sin importar la versión mínima elegida de TLS.

Si no eliges uno de los tres perfiles preconfigurados ni creas una política de SSL personalizada, el balanceador de cargas usa la política de SSL predeterminada. La política de SSL predeterminada es equivalente a una política de SSL que usa el perfil COMPATIBLE con una versión mínima de TLS de 1.0.

Puedes adjuntar una política de SSL a más de un proxy de destino. No puedes configurar más de una política de SSL para un proxy de destino particular. Los cambios en las políticas de SSL no alteran ni interrumpen las conexiones del balanceador de cargas existentes.

Cloud Load Balancing no es compatible con las versiones de SSL 3.0 o anteriores. En la siguiente tabla, se describe la compatibilidad de características para cada versión de TLS/SSL.

Versión de TLS/SSL Compatibilidad de características
TLS 1.0, 1.1 o 1.2 Configuración en las políticas de SSL que controla los conjunto de algoritmos de cifrado que se aplican a las conexiones del cliente.
TLS 1.3 Configuración en las políticas de SSL que no controla la selección de cifrado. TLS 1.3 solo admite cifrados TLS_AES_128_GCM_SHA256, TLS_AES_256_GCM_SHA384 y TLS_CHACHA20_POLY1305_SHA256.
QUIC Configuración en las políticas de SSL que no controla la selección de cifrado.
SSL 3.0 o versiones anteriores No aplicable. No es compatible con Cloud Load Balancing.

Durante cada protocolo de enlace TLS, el cliente indica la versión más alta del protocolo TLS que admite. El servidor es obligatorio para seleccionar la versión más alta de protocolo que admite el cliente y el servidor, y con la configuración del servidor. Por ejemplo, si un balanceador de cargas se configura con una versión mínima de TLS de 1.2, un protocolo de enlace con un cliente moderno que admite TLS 1.3 selecciona TLS 1.3. Un protocolo de enlace con un cliente anterior que solo admite TLS 1.2 usa TLS 1.2. Un protocolo de enlace con un cliente aún anterior que solo admite TLS 1.1 falla.

En la siguiente tabla, se detallan las características de políticas de SSL disponibles para cada perfil preconfigurado. Todas las características controlan si se pueden usar conjuntos de cifrados particulares, y se aplican solo a las conexiones de clientes que usan la versión de TLS 1.2 o anterior, no a clientes que usan QUIC.

Valor IANA Atributo En el perfil COMPATIBLE En perfil MODERNO En perfil RESTRINGIDO
0xCCA9 TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
0xCCA8 TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
0xC02B TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
0xC02F TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
0xC02C TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
0xC030 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
0xC009 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
0xC013 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
0xC00A TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
0xC014 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
0x009C TLS_RSA_WITH_AES_128_GCM_SHA256
0x009D TLS_RSA_WITH_AES_256_GCM_SHA384
0x002F TLS_RSA_WITH_AES_128_CBC_SHA
0x0035 TLS_RSA_WITH_AES_256_CBC_SHA
0x000A TLS_RSA_WITH_3DES_EDE_CBC_SHA

Actualizaciones de características

Nos reservamos el derecho de actualizar el conjunto de características habilitadas en los perfiles COMPATIBLE, MODERNO y RESTRINGIDO, así como qué características son configurables en el perfil PERSONALIZADO. Esto lo haremos a medida que quitemos la compatibilidad con las capacidades de SSL anteriores y agreguemos compatibilidad con las más nuevas.

Cuando agregamos características que mejoran las capacidades de SSL, podemos habilitarlas de inmediato en los perfiles COMPATIBLE, MODERNO y RESTRINGIDO para que las políticas de SSL que seleccionan esos perfiles puedan usar las características nuevas. Sin embargo, si la política selecciona el perfil PERSONALIZADO, debes modificar la configuración de la política para usar las características agregadas.

Cuando quitamos la capacidad de controlar una característica (ya sea si se la activa o desactiva a la fuerza en todas las políticas), proporcionamos un aviso anticipado, excepto cuando es necesario quitar el control por motivos de seguridad.

Limitaciones

  • Si inhabilitas determinadas versiones o algoritmos de cifrado de SSL, es posible que algunos clientes antiguos no puedan conectarse al proxy mediante HTTPS o SSL. Si inhabilitas una selección bastante amplia de algoritmos de cifrado en el perfil CUSTOM, es posible que ningún cliente pueda negociar HTTPS.

  • Un certificado SSL asociado con el balanceador de cargas usa una firma digital ECDSA o RSA. Los perfiles predefinidos son compatibles con ambos tipos de firmas de certificados. Un perfil personalizado debe habilitar cifrados que sean compatibles con la firma digital que usan los certificados de tu balanceador de cargas.

  • Las características que controlan los conjuntos de cifrado solo se aplican a las conexiones de clientes que usan versiones TLS 1.2 y anteriores. No controlan la selección de cifrado en conexiones que usan QUIC o TLS 1.3.

¿Qué sigue?