O SSL/TLS é o protocolo criptográfico mais usado na Internet. Tecnicamente, o TLS é o sucessor do SSL, embora os termos às vezes sejam usados de forma intercambiável, 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. Um balanceador de carga de aplicativo ou um balanceador de carga de rede de proxy que usa SSL exige pelo menos uma chave privada e um certificado SSL.
Métodos de configuração de certificado
OGoogle Cloud oferece três métodos de configuração de certificado para balanceadores de carga de aplicativo que usam proxies HTTPS de destino e balanceadores de carga de rede que usam proxies SSL de destino.
O proxy de destino faz referência a certificados SSL do Compute Engine: com esse método, o proxy de destino do balanceador de carga pode referenciar até 15 recursos de certificado SSL do Compute Engine. Cada recurso de certificado SSL do Compute Engine contém a chave privada, o certificado correspondente e, opcionalmente, certificados de AC.
O proxy de destino faz referência a um mapa de certificado do Gerenciador de certificados: com esse método, o proxy de destino do balanceador de carga faz referência a um único mapa de certificado. O mapa de certificado oferece suporte a milhares de entradas por padrão e pode ser escalonado para milhões de entradas. Cada entrada contém chaves privadas e dados de certificados.
O proxy de destino faz referência aos certificados do Certificate Manager diretamente: com esse método, o proxy de destino do balanceador de carga pode referenciar até 100 certificados do Certificate Manager.
Suporte ao balanceador de carga
A tabela a seguir mostra quais métodos de configuração de certificado são compatíveis com cada balanceador de carga.
Balanceador de carga | Método de configuração do certificado: referências do proxy de destino... | |||
---|---|---|---|---|
Certificados SSL do Compute Engine | Um mapa de certificado do Gerenciador de certificados | Certificados do gerenciador de certificados diretamente | ||
Balanceadores de carga de aplicativo (proxies HTTPS de destino) | ||||
Balanceador de carga de aplicativo externo global | Suporta
certificados
globais autogerenciados gerenciados pelo Google |
Autogerenciado Gerenciado pelo Google |
||
Balanceador de carga de aplicativo clássico | Suporta
certificados
globais autogerenciados gerenciados pelo Google |
Autogerenciado Gerenciado pelo Google |
||
Balanceador de carga de aplicativo externo regional | Suporta
certificados
regionais autogerenciados gerenciados pelo Google |
Autogerenciado Gerenciado pelo Google |
||
Balanceador de carga de aplicativo interno regional | Suporta
certificados
regionais autogerenciados gerenciados pelo Google |
Autogerenciado Gerenciado pelo Google |
||
Balanceador de carga de aplicativo interno entre regiões |
Autogerenciado Gerenciado pelo Google |
|||
Balanceadores de carga de rede proxy (proxies SSL de destino) | ||||
Balanceador de carga de rede de proxy externo global | Suporta
certificados
globais autogerenciados gerenciados pelo Google |
Autogerenciado Gerenciado pelo Google |
||
Balanceador de carga de rede de proxy clássico | Suporta
certificados
globais autogerenciados gerenciados pelo Google |
Autogerenciado Gerenciado pelo Google |
Regras do método de configuração
OGoogle Cloud aplica as seguintes regras do método de configuração de certificado:
Para balanceadores de carga compatíveis com certificados SSL do Compute Engine e mapas de certificados do Certificate Manager: o proxy de destino do balanceador de carga pode referenciar simultaneamente um mapa de certificados e um ou mais certificados SSL do Compute Engine. No entanto, nesse caso, todos os certificados SSL do Compute Engine são ignorados, e apenas os certificados do mapa de certificados são usados pelo balanceador de carga.
Para balanceadores de carga compatíveis com certificados SSL do Compute Engine e certificados do Gerenciador de certificados anexados diretamente: o proxy de destino do balanceador de carga só pode ser configurado para referenciar até 15 certificados SSL do Compute Engine ou até 100 certificados do Gerenciador de certificados, não uma combinação dos dois.
Tipos de certificado
Google Cloud é compatível com certificados autogerenciados e gerenciados pelo Google.
Certificados SSL autogerenciados
Os certificados SSL autogerenciados são conseguidos, provisionados e renovados por você. Os certificados autogerenciados podem ser de 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)
É possível criar certificados SSL autogerenciados usando:
Recursos de certificado SSL do Compute Engine: para mais informações, consulte Usar certificados SSL autogerenciados.
Gerenciador de certificados: para mais informações, consulte:
Certificados SSL gerenciados pelo Google
Os certificados SSL gerenciados pelo Google são aqueles que Google Cloud são recebidos, gerenciados e renovados 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.
Os certificados gerenciados pelo Google que usam caracteres curinga só são aceitos pelo Gerenciador de certificados quando usam autorização de DNS.
É possível criar certificados SSL gerenciados pelo Google usando:
- Recursos de certificado SSL do Compute Engine: apenas os recursos
sslCertificates
globais do Compute Engine são compatíveis com certificados SSL gerenciados pelo Google.regionSslCertificates
não são compatíveis. Para mais informações, consulte Usar certificados SSL gerenciados pelo Google. - Gerenciador de certificados: para mais informações, consulte a Visão geral da implantação.
Vários certificados SSL
Um balanceador de carga de aplicativo ou proxy do Network Load Balancer pode hospedar dois ou mais certificados SSL simultaneamente quando o proxy de destino é configurado usando um método de configuração de certificado compatível. Como prática recomendada, use o Gerenciador de certificados quando vários certificados SSL forem necessários.
Para balanceadores de carga compatíveis com certificados SSL do Compute Engine: o proxy de destino do balanceador de carga pode referenciar até 15 certificados SSL do Compute Engine. O primeiro recurso de certificado SSL do Compute Engine referenciado é o certificado padrão (principal) do proxy de destino.
Para balanceadores de carga compatíveis com um mapa de certificado do Gerenciador de certificados: o proxy de destino do balanceador de carga faz referência a um único mapa de certificado. O mapa de certificados oferece suporte a milhares de entradas. É possível configurar qual entrada de certificado é o certificado padrão (principal) para o mapa de certificado.
Para balanceadores de carga compatíveis com a referência direta a certificados do Gerenciador de certificados: o proxy de destino do balanceador de carga pode referenciar até 100 certificados do Gerenciador de certificados. O primeiro recurso de certificado SSL do gerenciador de certificados referenciado é o certificado padrão (principal) do proxy de destino.
Veja mais informações em:
Próprios de destino e certificados SSL na documentação de balanceamento de carga.
Cotas e limites de recursos na documentação do Gerenciador de certificados.
Processo de seleção de certificado
O processo de seleção de certificado a seguir se aplica a balanceadores de carga cujos proxies de destino fazem referência a vários certificados SSL do Compute Engine ou a vários certificados do Gerenciador de certificados.
O processo de seleção de certificado é diferente se o proxy de destino de um balanceador de carga faz referência a um mapa de certificado do Gerenciador de certificados. Para detalhes sobre o processo de seleção de certificado de um mapa de certificado, consulte Lógica de seleção de certificado na documentação do Gerenciador de certificados.
Depois que um cliente se conecta ao balanceador de carga, 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) 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.
Se o proxy de destino do balanceador de carga referenciar apenas um certificado, esse certificado será usado, e o valor do nome do host SNI enviado pelo cliente não será relevante.
Se o proxy de destino do balanceador de carga referenciar dois ou mais certificados, o balanceador de carga vai usar o seguinte processo para selecionar um único certificado:
Se o cliente não enviar nenhum nome de host SNI no
ClientHello
, o balanceador de carga usará o primeiro certificado na lista de certificados.Se o cliente enviar um nome de host SNI que não corresponda a nenhum nome comum de certificado (CN) e não corresponda a nenhum nome alternativo de certificado (SAN), o balanceador de carga usará o primeiro certificado na lista de certificados.
Em todas as outras situações: o balanceador de carga seleciona um certificado usando o seguinte processo de correspondência:
A correspondência é feita por um sufixo 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 RSA.
Para ilustrar o método correspondente, considere um proxy de destino que referencia os dois certificados a seguir:
Certificado A
- CN:
cats.pets.example.com
- SANs:
cats.pets.example.com
,*.pets.example.com
,*.example.com
- CN:
Certificado B
- CN:
dogs.pets.example.com
- SANs:
dogs.pets.example.com
,*.pets.example.com
,*.example.com
- CN:
Agora considere os seguintes cenários:
- Se o nome do host SNI enviado pelo cliente for
cats.pets.example.com
, o balanceador de carga vai usar o Certificado A. - Se o nome de host SNI enviado pelo cliente for
ferrets.pets.example.com
, não haverá correspondência exata. Portanto, o balanceador de carga selecionará um dos dois certificados A ou B, porque ambos incluem*.pets.example.com
na lista de SANs. Não é possível controlar qual certificado é selecionado nessa situação.
- Se o nome do host SNI enviado pelo cliente for
Depois que um certificado é selecionado, o balanceador de carga envia esse certificado ao cliente somente se o certificado selecionado usar um algoritmo de chave pública compatível com uma cifra enviada pelo cliente no
ClientHello
. A negociação de TLS falha 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 selecionado pelo balanceador de carga.
Preços
O uso de balanceadores de carga Google Cloud gera 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
Artigo Criptografia em trânsito no Google Cloud (em inglês)
Faça um teste
Se você começou a usar o Google Cloudagora, 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