SSL/TLS es el protocolo criptográfico más utilizado en Internet. Técnicamente, TLS es el sucesor de SSL, aunque a veces los términos se usan indistintamente, como en este documento.
La seguridad de la capa de transporte (TLS) se usa para encriptar información mientras se envía a través de una red, lo que proporciona privacidad entre un cliente y un servidor o un balanceador de cargas. Un balanceador de cargas de aplicaciones o un balanceador de cargas de red de proxy que usa SSL requiere, al menos, una clave privada y un certificado SSL.
Métodos de configuración de certificados
Google Cloud ofrece tres métodos de configuración de certificados para los balanceadores de cargas de aplicaciones que usan proxies HTTPS de destino y los balanceadores de cargas de red de proxy que usan proxies SSL de destino.
El proxy de destino hace referencia a los certificados SSL de Compute Engine: Con este método, el proxy de destino del balanceador de cargas puede hacer referencia a hasta 15 recursos de certificados SSL de Compute Engine. Cada recurso de certificado SSL de Compute Engine contiene la clave privada, el certificado correspondiente y, de forma opcional, los certificados de la AC.
El proxy de destino hace referencia a un mapa de certificados del Administrador de certificados: Con este método, el proxy de destino del balanceador de cargas hace referencia a un solo mapa de certificados. De forma predeterminada, el mapa de certificados admite miles de entradas y se puede escalar a millones de entradas. Cada entrada contiene datos de la clave privada y el certificado.
El proxy de destino hace referencia directamente a los certificados del Administrador de certificados: Con este método, el proxy de destino del balanceador de cargas puede hacer referencia a hasta 100 certificados del Administrador de certificados.
Compatibilidad con el balanceador de cargas
En la siguiente tabla, se muestran los métodos de configuración de certificados que admite cada balanceador de cargas.
Balanceador de cargas | Método de configuración del certificado: El proxy de destino hace referencia a… | |||
---|---|---|---|---|
Certificados SSL de Compute Engine | Un mapa de certificados del Administrador de certificados | Certificados del Administrador de certificados directamente | ||
Balanceadores de cargas de aplicaciones (proxies HTTPS de destino) | ||||
Balanceador de cargas de aplicaciones externo global | Admite certificados globales autoadministrados administrados por Google |
Administrada por el usuario Administrada por Google |
||
Balanceador de cargas de aplicaciones clásico | Admite certificados globales autoadministrados administrados por Google |
Administrada por el usuario Administrada por Google |
||
Balanceador de cargas de aplicaciones externo regional | Admite certificados regionales autoadministrados administrados por Google |
Administrada por el usuario Administrada por Google |
||
Balanceador de cargas de aplicaciones interno regional | Admite certificados regionales autoadministrados administrados por Google |
Administrada por el usuario Administrada por Google |
||
Balanceador de cargas de aplicaciones interno entre regiones |
Administrada por el usuario Administrada por Google |
|||
Balanceadores de cargas de red de proxy (proxies SSL de destino) | ||||
Balanceador de cargas de red del proxy externo global | Admite certificados globales autoadministrados administrados por Google |
Administrada por el usuario Administrada por Google |
||
Balanceador de cargas de red del proxy clásico | Admite certificados globales autoadministrados administrados por Google |
Administrada por el usuario Administrada por Google |
Reglas del método de configuración
Google Cloud aplica las siguientes reglas de métodos de configuración de certificados:
Para los balanceadores de cargas que admiten tanto los certificados SSL de Compute Engine como los mapas de certificados del Administrador de certificados: El proxy de destino del balanceador de cargas puede hacer referencia simultáneamente a un mapa de certificados y a uno o más certificados SSL de Compute Engine. Sin embargo, en ese caso, se ignoran todos los certificados SSL de Compute Engine, y el balanceador de cargas solo usa los certificados del mapa de certificados.
En el caso de los balanceadores de cargas que admiten tanto los certificados SSL de Compute Engine como los certificados del Administrador de certificados adjuntos directamente, el proxy de destino del balanceador de cargas solo se puede configurar para hacer referencia a un máximo de 15 certificados SSL de Compute Engine o hasta 100 certificados del Administrador de certificados, no una combinación de ambos.
Tipos de certificados
Google Cloud admite certificados autoadministrados y administrados por Google.
Certificados SSL autoadministrados
Los certificados SSL autoadministrados son certificados que obtienes, aprovisionas y renuevas tú mismo. Los certificados autoadministrados pueden ser de cualquiera de estos tipos de certificado de clave pública:
- Validación de dominio (DV)
- Validación de organización (OV)
- Validación extendida (EV)
Puedes crear certificados SSL autoadministrados con las siguientes opciones:
Recursos de certificados SSL de Compute Engine: Para obtener más información, consulta Usa certificados SSL autoadministrados.
Administrador de certificados: Para obtener más información, consulta Descripción general de la implementación en la documentación del Administrador de certificados.
Certificados SSL administrados por Google
Los certificados SSL administrados por Google son certificados que Google Cloud obtiene, administra y renueva automáticamente. Los certificados administrados por Google son siempre certificados de validación de dominio (DV). No demuestran la identidad de una organización o de un individuo asociados con el certificado.
El Administrador de certificados solo admite los certificados administrados por Google que usan comodines cuando se usa la autorización de DNS.
Puedes crear certificados SSL administrados por Google con las siguientes opciones:
- Recursos de certificados SSL de Compute Engine: Solo los recursos globales de
sslCertificates
de Compute Engine admiten certificados SSL administrados por Google; los recursos deregionSslCertificates
no los admiten. Los certificados SSL de Compute Engine globales solo admiten certificados administrados por Google que son de confianza pública. Para obtener más información, consulta Usa certificados SSL administrados por Google. - Administrador de certificados: Los certificados del Administrador de certificados (tanto globales como regionales) admiten certificados administrados por Google de confianza pública y certificados administrados por Google de confianza privada. Para obtener más información, consulta Certificados en la documentación del Administrador de certificados.
Tipos de claves admitidos
Los balanceadores de cargas admiten certificados que usan claves privadas de diferentes tipos de claves. En la siguiente tabla, se muestra la compatibilidad con los tipos de claves según si los certificados son globales o regionales, y si son autoadministrados o administrados por Google.
Tipo de certificado SSL arrow_forward Tipo de clave arrow_downward |
Certificados SSL de Compute Engine | Certificados SSL del Administrador de certificados | ||||
---|---|---|---|---|---|---|
Global | Regional | Global y regional | ||||
Administración automática | Administrada por Google y de confianza pública | Administración automática | Administración automática | Administrada por Google y de confianza pública | Administrado por Google y de confianza privada | |
RSA-2048 | ||||||
RSA-3072 | ||||||
RSA-4096 | ||||||
ECDSA P-256 | ||||||
ECDSA P-384 |
Múltiples certificados SSL
Un balanceador de cargas de aplicaciones o un balanceador de cargas de red de proxy pueden alojar dos o más certificados SSL de forma simultánea cuando su proxy de destino se configura con un método de configuración de certificados compatible. Como práctica recomendada, usa el Administrador de certificados cuando se necesiten varios certificados SSL.
Para los balanceadores de cargas que admiten certificados SSL de Compute Engine: El proxy de destino del balanceador de cargas puede hacer referencia a un máximo de 15 certificados SSL de Compute Engine. El primer recurso de certificado SSL de Compute Engine al que se hace referencia es el certificado predeterminado (principal) para el proxy de destino.
Para los balanceadores de cargas que admiten un mapa de certificados del Administrador de certificados: El proxy de destino del balanceador de cargas hace referencia a un solo mapa de certificados. El mapa de certificados admite miles de entradas. Puedes configurar la entrada de certificado que será el certificado predeterminado (principal) del mapa de certificados.
Para los balanceadores de cargas que admiten la referencia directa a los certificados del Administrador de certificados: El proxy de destino del balanceador de cargas puede hacer referencia a hasta 100 certificados del Administrador de certificados. El primer recurso de certificado SSL del Administrador de certificados al que se hace referencia es el certificado predeterminado (principal) para el proxy de destino.
Para obtener más información, consulte:
Proxies de destino y Certificados SSL en la documentación del balanceo de cargas
Cuotas y límites de recursos en la documentación del Administrador de certificados
Proceso de selección de certificados
El siguiente proceso de selección de certificados se aplica a los balanceadores de cargas cuyos proxies de destino hacen referencia a varios certificados SSL de Compute Engine o a varios certificados del administrador de certificados.
El proceso de selección de certificados es diferente si un proxy de destino de un balanceador de cargas hace referencia a un mapa de certificados de Certificate Manager. Para obtener detalles sobre el proceso de selección de certificados de un mapa de certificados, consulta Lógica de selección de certificados en la documentación del Administrador de certificados.
Después de que un cliente se conecta al balanceador de cargas, el cliente y el balanceador de cargas negocian una sesión de TLS. Durante la negociación de sesión de TLS, el cliente envía al balanceador de cargas una lista de algoritmos de cifrado de TLS que admite (en ClientHello
). El balanceador de cargas selecciona un certificado cuyo algoritmo de clave pública sea compatible con el cliente. El cliente también puede enviar un nombre de host de indicación del nombre del servidor (SNI) al balanceador de cargas como parte de esta negociación. Los datos de nombre de host de SNI a veces se usan para ayudar al balanceador de cargas a elegir qué certificado debe enviar al cliente.
Si el proxy de destino del balanceador de cargas hace referencia a un solo certificado, se usa ese certificado y el valor del nombre de host de SNI que envía el cliente no es relevante.
Si el proxy de destino del balanceador de cargas hace referencia a dos o más certificados, el balanceador de cargas usa el siguiente proceso para seleccionar un solo certificado:
Si el cliente no envió ningún nombre de host de SNI en su
ClientHello
, el balanceador de cargas usa el primer certificado de su lista de certificados.Si el cliente envía un nombre de host de SNI que no coincide con ningún nombre común de certificado (CN) y que no coincide con ningún nombre alternativo del sujeto de certificado (SAN), el balanceador de cargas usa el primer certificado de su lista de certificados.
En todas las demás situaciones, el balanceador de cargas selecciona un certificado con el siguiente proceso de coincidencia:
La coincidencia se aplica con el sufijo más largo en relación con los atributos de nombre común (CN) y de nombre de sujeto alternativo (SAN), con preferencia para los certificados de ECDSA en lugar de los RSA.
Para ilustrar el método de coincidencia, considera un proxy de destino que haga referencia a los siguientes dos certificados:
Certificado A
- CN:
cats.pets.example.com
- SAN:
cats.pets.example.com
,*.pets.example.com
,*.example.com
- CN:
Certificado B
- CN:
dogs.pets.example.com
- SAN:
dogs.pets.example.com
,*.pets.example.com
,*.example.com
- CN:
Ahora, considera las siguientes situaciones:
- Si el nombre de host de SNI que envía el cliente es
cats.pets.example.com
, el balanceador de cargas usa el certificado A. - Si el nombre de host de SNI que envió el cliente es
ferrets.pets.example.com
, no hay una coincidencia exacta, por lo que el balanceador de cargas selecciona cualquiera de los certificados A o B, ya que ambos incluyen*.pets.example.com
en su lista de SAN. No puedes controlar qué certificado se selecciona en esta situación.
- Si el nombre de host de SNI que envía el cliente es
Después de seleccionar un certificado, el balanceador de cargas se lo envía al cliente solo si el certificado seleccionado usa un algoritmo de clave pública que es compatible con un algoritmo de cifrado que el cliente envió en
ClientHello
. La negociación de TLS falla si el cliente no admite un conjunto de algoritmos de cifrado que incluya el algoritmo de clave pública (ECDSA o RSA) del certificado que seleccionó el balanceador de cargas.
Precios
Generas cargos por las herramientas de redes cuando usas Google Cloud balanceadores de cargas. Para obtener más información, consulta Todos los precios de herramientas de redes. Para obtener más información sobre los precios del Administrador de certificados, consulta Precios en la documentación del Administrador de certificados. No se aplican cargos adicionales por usar recursos de certificados SSL de Compute Engine.
¿Qué sigue?
Pruébalo tú mismo
Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
Comenzar gratis