Visão geral dos certificados SSL

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:

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 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)

    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

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 Gerenciado 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.

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.

Você pode simular o processo que os balanceadores de carga do proxy do Google Cloud usam para selecionar um certificado para enviar a um cliente da seguinte maneira. No seu modelo, comece com todos os certificados SSL que foram configurados no proxy HTTPS ou SSL de destino, independentemente do método de configuração.

  1. O balanceador de carga seleciona um único candidato a certificado:

    • Se o proxy de destino do balanceador de carga fizer referência a apenas um recurso de certificado SSL do Compute Engine, ou se o proxy de destino do balanceador de carga referencia um mapa do Gerenciador de certificados com apenas uma entrada de certificado, o balanceador de carga usará apenas um certificado 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 do balanceador de carga fizer referência a dois ou mais recursos de certificado SSL do Compute Engine ou se o proxy de destino do balanceador de carga fizer referência a um mapa do Gerenciador de certificados com duas ou mais entradas de certificado, o balanceador de carga usará o seguinte 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 seja dogs.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 como cats.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.
  2. 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 e notValidAfter 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

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