Descripción general de los certificados SSL

La seguridad de la capa de transporte (TLS) es un protocolo de encriptación que se usa en los certificados SSL para proteger las comunicaciones de redes.

Google Cloud usa certificados SSL para proporcionar privacidad y seguridad desde un cliente hacia un balanceador de cargas. Para lograrlo, el balanceador de cargas debe tener un certificado SSL y la clave privada que le corresponde al certificado. La comunicación entre el cliente y el balanceador de cargas sigue siendo privada, por lo que es ilegible para cualquier tercero que no tenga esta clave privada.

Balanceadores de cargas

En la siguiente tabla, se resumen los tipos de balanceadores de cargas de Google Cloud que requieren certificados SSL.

Tipo de balanceador de cargas Protocolo del cliente al balanceador de cargas
Balanceadores de cargas HTTPS internos HTTPS o HTTP/2
Balanceadores de cargas HTTPS externos HTTPS o HTTP/2
Balanceadores de cargas de proxy SSL SSL (TLS)

Certificados SSL autoadministrados y administrados por Google

Puedes obtener tus propios certificados autoadministrados o puedes usar certificados administrados por Google, que Google obtiene y administra.

  • Los certificados SSL autoadministrados son certificados que obtienes, aprovisionas y renuevas tú mismo. Los siguientes certificados pueden pertenecer a este tipo:

    • Validación de dominio (DV)
    • Validación de organización (OV)
    • Validación extendida (EV)

    Para obtener más información, consulta Public key certificate (Certificado de clave pública).

  • Los certificados SSL administrados por Google son certificados que Google Cloud obtiene y administra para tus dominios, y los renueva de manera automática. Los certificados administrados por Google son certificados de validación de dominio (DV). No demuestran la identidad de una organización o de un individuo asociados con el certificado, y no admiten nombres comunes comodín.

Para el balanceador de cargas de HTTP(S) externo y el balanceador de cargas del proxy SSL, puedes hacer referencia a ambos tipos de certificados SSL, al certificado administrado por Google o al autoadministrado en un proxy de destino. Se puede hacer referencia a los certificados en cualquier orden. Para el balanceador de cargas de HTTP(S) interno, debes usar certificados autoadministrados.

Si deseas obtener información sobre la configuración de certificados SSL para los balanceadores de cargas, consulta las siguientes guías:

Varios certificados SSL

Puedes configurar hasta la cantidad máxima de certificados SSL por HTTPS o proxy SSL de destino. Usa varios certificados SSL cuando entregues desde varios dominios mediante la misma dirección IP y el mismo puerto de balanceador de cargas, y usa un certificado SSL diferente para cada dominio.

Cuando especificas más de un certificado SSL, el primer certificado de la lista de certificados SSL se considera el principal asociado con el proxy de destino.

Cuando un cliente envía una solicitud, el balanceador de cargas usa el nombre de host de SNI que especificó el cliente a fin de seleccionar el certificado que se usará para negociar la conexión SSL.

Siempre que sea posible, el balanceador de cargas selecciona un certificado cuyo nombre común (CN) o nombre alternativo de la entidad (SAN) coincida con el nombre de host de SNI que especificó el cliente. RSA y ECDSA son tipos de firmas digitales, y el software del cliente debe poder usarlas.

Si no se puede seleccionar ninguno de los certificados disponibles, o si el cliente no especifica un nombre de host de SNI, el balanceador de cargas negocia SSL mediante el certificado principal (el primer certificado de la lista).

Varios certificados SSL (haz clic para ampliar)
Varios certificados SSL (haz clic para ampliar)

Encriptación del balanceador de cargas a los backends

Para el balanceo de cargas de HTTP(S), de proxy TCP y de proxy SSL, Google encripta de forma automática el tráfico entre Google Front Ends (GFE) y los backends que residen en Google Cloud.

Además de esta encriptación a nivel de red, puedes usar un protocolo seguro como protocolo de servicio de backend. Los protocolos seguros incluyen SSL, HTTPS o HTTP/2 (mediante TLS). Puedes usarlos para los balanceadores de cargas basados en GFE y el balanceo de cargas de HTTP(S) interno y Traffic Director.

Cuando un balanceador de cargas se conecta a los backends mediante un protocolo de servicio de backend seguro, el GFE es el cliente SSL o HTTPS. De manera similar, cuando un proxy del cliente configurado con Traffic Director se conecta a los backends mediante un protocolo de servicio de backend seguro, el proxy es el cliente SSL o HTTPS.

Se recomienda un protocolo seguro que permita conectarse a instancias de backend en los siguientes casos:

  • Cuando necesites una conexión encriptada y que se pueda auditar desde el balanceador de cargas (o Traffic Director) hacia las instancias de backend.

  • Cuando el balanceador de cargas se conecta a una instancia de backend que está fuera de Google Cloud (a través de un NEG de Internet) La comunicación con un backend de NEG de Internet puede transitar la Internet pública. Cuando el balanceador de cargas se conecta a un NEG de Internet, el certificado firmado por Public CA debe cumplir con los requisitos de validación.

Para usar un protocolo seguro entre el balanceador de cargas y los backends, ten en cuenta los siguientes requisitos:

  • Los servicios de backend del balanceador de cargas deben usar el protocolo SSL (TLS), HTTPS o HTTP/2.

  • El software de la instancia de backend debe entregar el tráfico mediante el mismo protocolo que el servicio de backend. Por ejemplo, si el servicio de backend usa HTTPS, asegúrate de configurar las instancias de backend para que usen HTTPS. Si usas el protocolo HTTP/2, los backends deben usar TLS. Para obtener instrucciones de configuración, consulta la documentación del software de la instancia de backend.

  • Debes instalar claves privadas y certificados en las instancias de backend. No es necesario que estos certificados coincidan con el certificado SSL del balanceador de cargas. Para obtener instrucciones de instalación, consulta la documentación del software de la instancia de backend.

  • El software que se ejecuta en las instancias de backend debe operar como un servidor SSL o HTTPS. Para obtener instrucciones de configuración, consulta la documentación del software de la instancia de backend.

Ten en cuenta esta información cuando uses grupos de instancias o backends de NEG zonales:

  • Cuando un GFE inicia una sesión de TLS para backends, el GFE no usa la extensión de indicación del nombre del servidor (SNI).

  • Cuando un GFE se conecta a backends que están dentro de Google Cloud, el GFE acepta cualquier certificado que presenten los backends. Los GFE no realizan la validación del certificado. Por ejemplo, el certificado se considera válido incluso en las siguientes circunstancias:

    • El certificado está autofirmado.
    • El certificado está firmado por una autoridad certificada (CA) desconocida.
    • El certificado caducó o aún no es válido.
    • Los atributos CN y subjectAlternativeName no coinciden con un encabezado Host ni con un registro PTR de DNS.
Para obtener información adicional sobre la encriptación de Google, consulta Encriptación en tránsito en Google Cloud.

Balanceadores de cargas, certificados SSL y proxies de destino

Un recurso de certificado SSL de Google Cloud contiene una clave privada y el certificado SSL.

Los proxies de destino representan la conexión lógica entre el frontend de un balanceador de cargas y el servicio de backend (en el caso de los balanceadores de cargas del proxy SSL) o el mapa de URL (en el caso de los balanceadores de cargas de HTTPS).

En el siguiente diagrama, se muestra cómo el proxy de destino y sus certificados SSL asociados se ajustan a la arquitectura del balanceo de cargas.

Proxy de destino, certificado SSL y otros componentes del balanceador de cargas (haz clic para ampliar)
Proxy de destino, certificado SSL y otros componentes del balanceador de cargas (haz clic para ampliar)

Alcance de los certificados SSL

Google Cloud tiene dos alcances para los recursos de certificados SSL: regional y global.

Tipo de balanceador de cargas Alcance del recurso de certificado SSL Referencia de gcloud Referencia de API
Balanceadores de cargas HTTPS internos Regional gcloud compute ssl-certificates --region regionSslCertificates
Balanceadores de cargas HTTPS externos Global gcloud compute ssl-certificates --global sslCertificates
Balanceadores de cargas de proxy SSL Global gcloud compute ssl-certificates --global sslCertificates

Proxies de destino

Los certificados SSL se asocian con los siguientes tipos de proxies de destino:

Tipo de balanceador de cargas Tipo de proxy de destino Referencia de gcloud Referencia de API
Balanceadores de cargas HTTPS internos Regional gcloud compute target-https-proxies --region regionTargetHttpsProxies
Balanceadores de cargas HTTPS externos Global gcloud compute target-https-proxies --global targetHttpsProxies
Balanceadores de cargas de proxy SSL Global gcloud compute target-ssl-proxies --global targetSslProxies

Limitaciones

  • Se admite una cantidad limitada de certificados SSL para cada proxy de destino. Para obtener más información, consulta el límite de certificados SSL por proxy SSL o HTTPS de destino.

  • Se admite una cantidad limitada de dominios para cada certificado administrado por Google. Para obtener más información, consulta el límite de dominios por certificado SSL administrado por Google.

  • Cuando usas certificados administrados por Google con balanceo de cargas del proxy SSL, la regla de reenvío del balanceador de cargas debe usar el puerto TCP 443 para que el certificado administrado por Google se renueve de manera automática.

  • Los balanceadores de cargas de Google Cloud no admiten la autenticación basada en certificados de cliente (TLS mutua, mTLS).

  • En los certificados SSL administrados por Google, no se admite el uso de comodines.

Próximos pasos