O SSL/TLS é o protocolo criptográfico mais usado na Internet. Tecnicamente, o TLS é o sucessor do SSL, embora os termos sejam usados como sinônimos, como neste documento.
O Transport Layer Security (TLS) é usado para criptografar informações enquanto elas são enviadas por uma rede, oferecendo privacidade entre um cliente e um servidor ou balanceador de carga. Os balanceadores de carga do proxy do Google Cloud com regras de encaminhamento que fazem referência a um proxy HTTPS ou SSL de destino exigem uma chave privada e um certificado SSL como parte da configuração do proxy de destino do balanceador de carga.
Métodos de configuração de certificado
O Google Cloud oferece dois métodos para configurar certificados SSL para balanceadores de carga HTTP(S) e de proxy SSL. Os dois métodos são compatíveis com certificados SSL autogerenciados e gerenciados pelo Google.
Recurso de certificado SSL do Compute Engine: com esse método, o proxy de destino para um balanceador de carga de aplicativo externo global, o balanceador de carga de aplicativo clássico, o balanceador de carga de rede de proxy externo, o balanceador de carga de aplicativo externo regional ou o balanceador de carga interno do aplicativo está configurado para fazer referência a um recurso de certificado SSL do Compute Engine. O recurso de certificado SSL contém a chave privada, o certificado correspondente e, opcionalmente, os certificados de CA. Esse método oferece suporte a todos os níveis de serviço de rede que são compatíveis com o balanceador de carga.
Gerenciador de certificados: com esse método, o proxy de destino para um balanceador de carga de aplicativo externo global, um balanceador de carga de aplicativo clássico ou um balanceador de carga de rede de proxy externo é configurado para referenciar um mapa de certificados. O mapa de certificados contém uma ou mais entradas de certificado. Cada entrada de certificado faz referência a um único recurso de certificado do Gerenciador de certificados, e cada recurso de certificado contém uma chave privada e um certificado. Com o Gerenciador de certificados, um proxy HTTPS ou SSL de destino pode referenciar um mapa de certificados com milhares de entradas de certificado SSL. Esse método só está disponível quando o balanceador de carga usa o nível de serviço de rede Premium.
Para balanceadores de carga de aplicativo internos entre regiões, balanceadores de carga de aplicativo internos regionais e balanceadores de carga de aplicativo externos regionais, os certificados do Gerenciador de certificados são anexados ao proxy de destino. Os mapas de certificados não são compatíveis.
Para mais informações, consulte a seguinte documentação:
A tabela a seguir mostra os diferentes tipos de recursos de certificado que podem ser anexados a um proxy HTTPS de destino ou a um proxy SSL de destino dos balanceadores de carga de proxy do Google Cloud. Os certificados SSL do Compute Engine são anexados diretamente ao proxy de destino, enquanto os certificados SSL do Certificate Manager podem ser anexados diretamente ao proxy de destino ou por um mapa de certificados.
Balanceador de carga de proxy | Certificados SSL do Compute Engine | Certificados SSL do gerenciador de certificados | |
---|---|---|---|
Anexado ao proxy de destino por um mapa de certificado | Anexado diretamente ao proxy de destino | ||
Balanceador de carga de aplicativo externo global (com um proxy HTTPS) | |||
Balanceador de carga de aplicativo clássico (com um proxy HTTPS) | |||
Balanceador de carga de rede de proxy externo global (com um proxy SSL) | |||
Balanceador de carga de rede de proxy clássico (com um proxy SSL) | |||
Balanceador de carga de aplicativo interno entre regiões (com um proxy HTTPS) | |||
Balanceador de carga de aplicativo externo regional (com um proxy HTTPS) | |||
Balanceador de carga de aplicativo interno regional (com um proxy HTTPS) |
Tipos de certificado
É possível criar seus próprios certificados ou eles podem ser gerenciados pelo Google:Os certificados SSL autogerenciados são obtidos, provisionados e renovados por você. Os certificados autogerenciados podem ser qualquer um destes tipos de certificado de chave pública:
- Validação de domínio (DV, na sigla em inglês)
- Validação da organização (OV, na sigla em inglês)
- Validação estendida (EV, na sigla em inglês)
Para mais informações sobre certificados SSL autogerenciados do Compute Engine, consulte Usar certificados SSL autogerenciados.
Para mais informações sobre certificados SSL autogerenciados e o Gerenciador de certificados, consulte Fazer upload de um certificado autogerenciado na documentação do Gerenciador de certificados ou Implantar um certificado autogerenciado. certificado para ver um tutorial completo.
Os certificados SSL gerenciados pelo Google são aqueles que o Google Cloud recebe, gerencia e renova automaticamente. Os certificados gerenciados pelo Google são de validação de domínio (DV, na sigla em inglês). Eles não comprovam a identidade de uma organização ou indivíduo associado ao certificado e não são compatíveis com nomes comuns de caracteres curinga.
Para mais informações sobre certificados SSL do Compute Engine gerenciados pelo Google, consulte Usar certificados SSL gerenciados pelo Google.
O Gerenciador de certificados é compatível com certificados SSL gerenciados pelo Google usando autorização do balanceador de carga, autorização de DNS e integração com um Certificate Authority Service. Para mais informações sobre o Gerenciador de certificados SSL gerenciados pelo Google, consulte Visão geral da implantação na documentação do Gerenciador de certificados.
Certificados e balanceadores de carga do Google Cloud
As seções a seguir descrevem como cada balanceador de carga de aplicativo oferece suporte aos diferentes métodos de configuração de certificado.
Certificados SSL do Compute Engine
A tabela a seguir mostra quais balanceadores de carga do Google Cloud são compatíveis com certificados SSL do Compute Engine autogerenciados ou certificados SSL do Compute Engine gerenciados pelo Google ou ambos:
Suporte a certificado SSL do Compute Engine | ||
---|---|---|
Balanceador de carga | Autogerenciado | Gerenciada pelo Google |
Balanceador de carga de aplicativo externo global * | sslCertificates |
sslCertificates |
Balanceador de carga de aplicativo clássico * | sslCertificates |
sslCertificates |
Balanceador de carga de aplicativo externo regional † | regionSslCertificates |
|
Balanceador de carga de aplicativo interno regional † | regionSslCertificates |
|
Balanceador de carga de aplicativo interno entre regiões * | ||
Balanceador de carga de rede de proxy externo (com proxy SSL) ‡ | sslCertificates |
sslCertificates |
* O balanceador de carga de aplicativo externo global, o balanceador de carga de aplicativo interno entre regiões e o balanceador de carga de aplicativo clássico usam proxies HTTPS de destino global, mesmo quando um balanceador de carga clássico usa o nível Standard.
† Os balanceadores de carga de aplicativo externos e internos regionais usa proxies HTTPS de destino regional.
‡ O balanceador de carga de rede de proxy externo usa proxies SSL de destino global, mesmo no nível Standard.
Certificados SSL do gerenciador de certificados
A tabela a seguir mostra quais balanceadores de carga do Google Cloud são compatíveis com certificados autogerenciados do Gerenciador de certificados ou gerenciados pelo Google ou ambos.
Balanceador de carga | Certificado gerenciado pelo Google | Certificado autogerenciado | ||
---|---|---|---|---|
Autorização de DNS | Autorização do balanceador de carga | Certificate Authority Service (serviço de AC) | ||
Balanceador de carga de aplicativo externo global | info |
info |
info |
info |
Balanceador de carga de aplicativo clássico | info |
info |
info |
info |
Balanceador de carga de rede de proxy externo global | info |
info |
info |
info |
Balanceador de carga de aplicativo interno entre regiões | info |
info |
info |
|
Balanceador de carga de aplicativo externo regional | info |
info |
info |
|
Balanceador de carga de aplicativo interno regional | info |
info |
info |
Vários certificados SSL
É possível usar o mesmo proxy HTTPS ou SSL de destino para hospedar vários certificados. Isso é comum quando o balanceador de carga aceita vários nomes de domínio. É possível configurar uma única regra de encaminhamento (um único endereço IP e porta) para fazer referência a um proxy de destino comum ou várias regras de encaminhamento (diferentes endereços IP e portas) para fazer referência a um proxy de destino comum.
Vários recursos de certificado SSL do Compute Engine
Ao usar recursos de certificado SSL do Compute Engine, cada recurso de proxy de destino pode referenciar até um número máximo de certificados SSL não configuráveis por proxy de destino HTTPS ou SSL. Para mais informações, consulte Pools de destino e proxies de destino na documentação sobre cotas e limites de balanceamento de carga.
O primeiro recurso de certificado SSL do Compute Engine referenciado pelo proxy de destino de um balanceador de carga é considerado o certificado padrão (principal) do balanceador de carga.
Vários certificados SSL usando o Gerenciador de certificados
Ao usar o Gerenciador de certificados com um mapa de certificado em um balanceador de carga, cada recurso de proxy de destino referencia um único mapa de certificado. Um mapa de certificado faz referência a uma ou mais entradas de certificado e é possível configurar qual entrada de certificado é o certificado padrão (principal) para o mapa. O número de mapas, entradas e certificados do Gerenciador de certificados é uma cota configurável por projeto. Para mais informações, consulte Cotas de recursos na documentação do Gerenciador de certificados.
Se você estiver usando um balanceador de carga que ofereça suporte ao Gerenciador de certificados e precisar hospedar mais de alguns certificados SSL por proxy de destino, verifique se está usando o Gerenciador de certificados em vez do certificado SSL do Compute Engine recursos.
Método de seleção de certificado
Depois que um cliente se conecta a um balanceador de carga de proxy HTTP(S) ou SSL, o cliente e o balanceador de carga negociam uma sessão TLS. Durante a negociação da sessão TLS, o
cliente envia ao balanceador de carga uma lista de criptografias TLS compatíveis (no
ClientHello
). O balanceador de carga seleciona um certificado com o algoritmo de chave pública
compatível com o cliente. O cliente também pode enviar um nome de host de indicação de nome do servidor (SNI, na sigla em inglês) para o balanceador de carga como parte dessa negociação. Às vezes, os dados
do nome do host da SNI são usados para ajudar o balanceador de carga a escolher qual certificado
enviar ao cliente.
Os balanceadores de carga do proxy do Google Cloud seguem as etapas descritas nesta seção para selecionar um certificado e enviá-lo ao cliente. O termo "certificado SSL padrão (principal)", conforme usado nas etapas a seguir, se refere ao primeiro certificado SSL do Compute Engine referenciado pelo proxy de destino.
O balanceador de carga seleciona um único candidato a certificado:
Se o proxy de destino de um balanceador de carga referencia apenas um recurso de certificado SSL do Compute Engine, o balanceador de carga usa o único certificado configurado como candidato. O valor do nome do host SNI, se fornecido, não influencia o balanceador de carga. Prossiga para a etapa 2.
Se o proxy de destino de um balanceador de carga referencia dois ou mais recursos de certificado SSL do Compute Engine, o balanceador de carga usa o seguinte processo para selecionar um único candidato a certificado:
Se o cliente não enviar nenhum nome de host SNI no
ClientHello
, o balanceador de carga usará o certificado SSL padrão (principal) como o candidato ao certificado. Prossiga para a etapa 2.Se o cliente enviar um nome do host SNI que não corresponda a nenhum nome comum de certificado (CN, na sigla em inglês) e não corresponda a nenhum nome alternativo (SAN) do certificado, o balanceador de carga usará o certificado SSL padrão (principal) como{101. }candidato a certificado. Prossiga para a etapa 2.
O balanceador de carga seleciona um candidato a certificado que corresponde ao nome do host SNI enviado pelo cliente. A correspondência é feita por um prefixo mais longo nos atributos de certificado de nome comum (CN, na sigla em inglês) e nome alternativo do assunto (SAN, na sigla em inglês), com uma preferência por certificados ECDSA em vez de certificados RSA. Para ilustrar o método correspondente, considere um proxy de destino que referencie um certificado cuja CN seja
cats.pets.example.com
e outro certificado cuja CN sejadogs.pets.example.com
(em inglês). Além de incluir cada valor de CN em SANs, cada certificado inclui*.pets.example.com
e*.example.com
.- Se o nome do host de SNI fornecido for
cats.pets.example.com
, o balanceador de carga usará o certificado com CN comocats.pets.example.com
como candidato a certificado. Prossiga para a etapa 2. - Se o nome do host do SNI fornecido for
ferrets.pets.example.com
, o balanceador de carga usará um dos dois certificados como candidato, porque os dois certificados configurados têm SANs que incluem*.pets.example.com
. Nessa situação, não é possível controlar quais dos dois certificados se tornam candidatos ao certificado. Prossiga para a etapa 2.
- Se o nome do host de SNI fornecido for
O candidato ao certificado será enviado ao cliente se ele usar um algoritmo de chave pública compatível com uma das criptografias declaradas do cliente.
- A negociação de TLS pode falhar se o cliente não for compatível com um pacote de criptografia que inclua o algoritmo de chave pública (ECDSA ou RSA) do certificado.
- O balanceador de carga não usa os atributos
notValidBefore
enotValidAfter
do certificado como qualquer parte do método de seleção de candidato. Por exemplo, o balanceador de carga poderá exibir um certificado expirado se ele tiver sido selecionado como o candidato a certificado.
Preços
O uso de balanceadores de carga do Google Cloud pode gerar cobranças de rede. Para mais informações, consulte Todos os preços de rede. Para saber os preços do Gerenciador de certificados, consulte Preços na documentação do Gerenciador de certificados. Não há cobranças extras pelo uso de recursos de certificado SSL do Compute Engine.
A seguir
Para mais informações sobre certificados SSL do Compute Engine, consulte as seguintes páginas:
- Para mais informações sobre certificados SSL autogerenciados do Compute Engine, consulte Usar certificados SSL autogerenciados.
- Para mais informações sobre certificados SSL do Compute Engine gerenciados pelo Google, consulte Usar certificados SSL gerenciados pelo Google.
- Para saber mais sobre cotas e limites (incluindo tamanhos de chave compatíveis) para certificados SSL do Compute Engine, consulteCertificados SSL ePools e destinos de destino na documentação do balanceador de carga.
Para mais informações sobre o gerenciador de certificados, consulte as páginas a seguir:
- Visão geral do Gerenciador de certificados.
- Para mais informações sobre certificados SSL autogerenciados e o Gerenciador de certificados, consulte Fazer upload de um certificado autogerenciado na documentação do Gerenciador de certificados ou Implantar um certificado autogerenciado. certificado para ver um tutorial completo.
- Para mais informações sobre os certificados SSL gerenciados pelo Google e o Gerenciador de certificados, consulte Gerenciar certificados na documentação do Gerenciador de certificados.
- Para saber mais sobre cotas e limites para o Gerenciador de certificados, consulte Cotas de recursos na documentação do Gerenciador de certificados.
Para detalhes sobre como configurar certificados SSL para balanceadores de carga de proxy gerenciados pelo GKE, consulteEntrada do GKE para balanceamento de carga HTTP(S) ,a API GKE Gateway documentação e Balanceamento de carga nativo de contêiner por NEGs zonais independentes (em inglês).
Para mais detalhes sobre balanceadores de carga e criptografia em trânsito, consulte Criptografia para os back-ends e o artigo sobre Criptografia em trânsito no Google Cloud papel
Faça um teste
Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho dos nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
Comece a usar gratuitamente