Descripción general de las políticas de SSL

En este documento, el término SSL hace referencia a los protocolos de capa de conexión segura (SSL) y seguridad de la capa de transporte (TLS). La información de este documento se aplica a las conexiones TLS a través del protocolo de transporte TCP, que puede usar cualquier versión compatible de TLS. En el caso de los balanceadores de cargas que usan HTTP/3, el protocolo de transporte subyacente es QUIC, que usa TLS 1.3 de forma exclusiva.

Las políticas de SSL son Google Cloud objetos de configuración que te permiten controlar cómo los balanceadores de cargas finalizan las conexiones TLS del cliente. Una política de SSL está asociada a un proxy HTTPS de destino o a un proxy SSL de destino. Una política de SSL especifica un perfil de capacidades de TLS y una versión mínima de TLS.

Cada perfil predefinido de una política de SSL especifica un conjunto de capacidades de TLS que el balanceador de cargas está configurado para admitir. La versión mínima de TLS restringe aún más el balanceador de cargas para que solo use versiones específicas de TLS. En los casos en los que necesites especificar la compatibilidad con conjuntos de algoritmos de cifrado particulares que usan TLS 1.2 y versiones anteriores, un perfil personalizado te permite hacerlo. Cada política de SSL tiene un alcance asociado, ya sea global o regional, según el balanceador de cargas.

Los siguientes balanceadores de cargas admiten políticas de SSL globales:

  • Balanceador de cargas de aplicaciones externo global
  • Balanceador de cargas de aplicaciones clásico
  • Balanceador de cargas de aplicaciones interno entre regiones
  • Balanceador de cargas de red del proxy externo global
  • Balanceador de cargas de red del proxy clásico

Los siguientes balanceadores de cargas admiten políticas de SSL regionales:

  • Balanceador de cargas de aplicaciones externo regional
  • Balanceador de cargas de aplicaciones interno regional

Asociar una política de SSL a un proxy HTTPS o SSL de destino es opcional. Cada proxy HTTPS o proxy SSL de destino se puede asociar con no más de una política de SSL. Puedes asociar la misma política de SSL con varios proxies HTTPS de destino o varios proxies SSL de destino, siempre y cuando la política de SSL y el proxy de destino usen los mismos alcances. Los cambios en las políticas de SSL no alteran ni interrumpen las conexiones del balanceador de cargas existentes.

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 aplicaciones externos o balanceadores de cargas de red de proxy externos.
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 figura). Las políticas de SSL no afectan las conexiones entre el balanceador de cargas y los backends (Connection-2 en la figura).

Cómo crear una política de SSL

Cuando creas una política de SSL, especificas la siguiente información:

  • Un perfil, que especifica un conjunto de capacidades de TLS que el balanceador de cargas está configurado para admitir
  • una versión mínima de TLS, que restringe aún más el balanceador de cargas para que use solo versiones específicas de TLS

Cuando se conectan al balanceador de cargas, los clientes anuncian las versiones del protocolo TLS, los conjuntos de cifrado y otras capacidades de TLS que pueden admitir. Durante el protocolo de enlace de TLS, el balanceador de cargas elige la versión más reciente del protocolo de TLS que admiten tanto él como el cliente, y también elige otros parámetros de TLS (incluido un conjunto de algoritmos de cifrado) para la conexión. El protocolo de enlace TLS falla si el balanceador de cargas y el cliente no admiten versiones de TLS, conjuntos de algoritmos de cifrado y otras capacidades superpuestas.

Perfiles predefinidos

Google Cloud proporciona los siguientes perfiles predefinidos.

  • COMPATIBLE: Admite el conjunto más amplio de clientes, incluidos aquellos que solo pueden usar versiones anteriores de TLS y capacidades de TLS.
  • MODERN: Admite un amplio conjunto de algoritmos de cifrado de TLS, lo que permite que los clientes modernos negocien TLS.
  • RESTRICTED: Admite un conjunto reducido de algoritmos de cifrado TLS. El perfil RESTRICTED está diseñado para satisfacer requisitos de cumplimiento más estrictos.
  • FIPS_202205: Admite un conjunto de capacidades de TLS diseñadas para cumplir con el estándar FIPS 140-3.

Perfil personalizado

Los perfiles COMPATIBLE, MODERN y RESTRICTED difieren en el conjunto de algoritmos de cifrado que admiten cuando el balanceador de cargas negocia TLS 1.2 y versiones anteriores. En la tabla de la sección Paquetes de algoritmos de cifrado para TLS 1.2 y versiones anteriores, se muestran estas diferencias.

También puedes crear un perfil CUSTOM y especificar individualmente los conjuntos de algoritmos de cifrado que admite el balanceador de cargas para TLS 1.2 y versiones anteriores. Esto no afecta la forma en que el balanceador de cargas negocia TLS 1.3.

Comportamiento cuando no se especifica ninguna política de SSL

Si no asocias una política de SSL a un proxy HTTPS o SSL de destino, el balanceador de cargas funcionará como si hubieras asociado una política de SSL con los siguientes parámetros de configuración:

  • El perfil de COMPATIBLE seleccionado
  • La versión mínima de TLS establecida en 1.0

Compatibilidad con versiones de TLS

Ten en cuenta que un perfil puede restringir indirectamente las versiones de TLS que el balanceador de cargas puede negociar. Por ejemplo, los conjuntos de algoritmos de cifrado habilitados en el perfil RESTRICTED no incluyen ningún conjunto de algoritmos de cifrado compatible con TLS 1.0 o 1.1. Por lo tanto, elegir el perfil RESTRICTED prohíbe de manera efectiva que los clientes usen TLS 1.0 y 1.1, incluso si la versión mínima de TLS de la política de SSL está establecida en 1.0 o 1.1.

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 funciones
TLS 1.3

Todos los perfiles, excepto el FIPS_202205, admiten los siguientes conjuntos de algoritmos de cifrado de TLS 1.3:

  • TLS_AES_128_GCM_SHA256
  • TLS_AES_256_GCM_SHA384
  • TLS_CHACHA20_POLY1305_SHA256

El perfil FIPS_202205 admite los siguientes dos conjuntos de algoritmos de cifrado de TLS 1.3:

  • TLS_AES_128_GCM_SHA256
  • TLS_AES_256_GCM_SHA384
TLS 1.2 y versiones anteriores El perfil que usa la política de SSL controla los conjuntos de cifrado que se usan con TLS 1.2 y versiones anteriores.
SSL 3.0 o versiones anteriores No es compatible con los balanceadores de cargas que usan políticas de SSL.

Conjuntos de algoritmos de cifrado para TLS 1.2 y versiones anteriores

En la siguiente tabla, se muestran los conjuntos de algoritmos de cifrado para TLS 1.2 y versiones anteriores que se incluyen en cada perfil predefinido. Cuando creas una política de SSL que usa el perfil CUSTOM, puedes seleccionar estos conjuntos de cifrado de forma individual. Las políticas de SSL que usan el perfil CUSTOM deben incluir al menos un conjunto de algoritmos de cifrado de la siguiente lista.

Valor IANA Función COMPATIBLE MODERN RESTRICTED FIPS_202205
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

Detalles del perfil de FIPS_202205

El perfil FIPS_202205 restringe el balanceador de cargas para que use un conjunto de capacidades de TLS que están diseñadas para ser compatibles con el estándar FIPS 140-3. Cuando una política de SSL usa este perfil, el balanceador de cargas admite TLS 1.2 o 1.3, con las siguientes restricciones:

  • Si la conexión TLS usa TLS 1.2, solo se permiten los siguientes conjuntos de algoritmos de cifrado:

    • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
    • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
    • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
    • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • Si la conexión TLS usa TLS 1.3, solo se permiten los siguientes conjuntos de algoritmos de cifrado:

    • TLS_AES_128_GCM_SHA256
    • TLS_AES_256_GCM_SHA384
  • Solo se permiten P-256 o P-384 para el acuerdo de clave.

  • Solo se permiten las siguientes firmas digitales de certificados de balanceador de cargas:

    • PKCS#1/PSS con SHA-256, SHA-384 o SHA-512
    • ECDSA con P-256 o P-384 y SHA-256 o SHA-384

Actualizaciones de características

Nos reservamos el derecho de actualizar el conjunto de funciones habilitadas en los perfiles COMPATIBLE, MODERN y RESTRICTED, así como qué funciones son configurables en un perfil CUSTOM. Esto lo haremos a medida que quitemos la compatibilidad con las capacidades de TLS anteriores y agreguemos compatibilidad con las más nuevas.

Cuando agregamos funciones que mejoran las capacidades de TLS, podemos habilitarlas de inmediato en los perfiles COMPATIBLE, MODERN y RESTRICTED para que las políticas de SSL que seleccionan esos perfiles puedan usar las funciones agregadas. Sin embargo, si la política selecciona el perfil CUSTOM, debes modificar la configuración de la política para usar las funciones agregadas.

Limitaciones

  • Si inhabilitas determinadas versiones o cifrados de SSL, es posible que algunos clientes anteriores no puedan conectarse a tu proxy a través de HTTPS o SSL. Si inhabilitas una selección suficientemente 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.

¿Qué sigue?