Neste documento, o termo SSL se refere aos protocolos Secure Sockets Layer (SSL) e Transport Layer Security (TLS). As informações neste documento se aplicam a conexões TLS pelo protocolo de transporte TCP, que pode usar qualquer versão compatível do TLS. Para balanceadores de carga que usam HTTP/3, o protocolo de transporte subjacente é QUIC, que usa exclusivamente TLS 1.3.
As políticas de SSL são objetos de configuração Google Cloud que permitem controlar como os balanceadores de carga encerram as conexões TLS do cliente. Uma política de SSL está associada a um proxy HTTPS ou SSL de destino. Uma política de SSL especifica um perfil de recursos do TLS e uma versão mínima do TLS.
Cada perfil predefinido de uma política de SSL especifica um conjunto de recursos do TLS que o balanceador de carga está configurado para oferecer suporte. A versão mínima do TLS restringe ainda mais o balanceador de carga para usar apenas versões específicas do TLS. E, nos casos em que você precisa especificar o suporte para conjuntos de criptografia específicos usados pelo TLS 1.2 e versões anteriores, um perfil personalizado permite fazer isso. Cada política de SSL tem um escopo associado, global ou regional, dependendo do balanceador de carga.
Os seguintes balanceadores de carga dão suporte a políticas de SSL globais:
- Balanceador de carga de aplicativo externo global
- Balanceador de carga de aplicativo clássico
- Balanceador de carga de aplicativo interno entre regiões
- Balanceador de carga de rede de proxy externo global
- Balanceador de carga de rede de proxy clássico
Os seguintes balanceadores de carga dão suporte a políticas de SSL regionais:
- Balanceador de carga de aplicativo externo regional
- Balanceador de carga de aplicativo interno regional
Associar uma política de SSL a um proxy HTTPS ou SSL de destino é opcional. Cada proxy HTTPS ou SSL de destino pode ser associado a apenas uma política de SSL. É possível associar a mesma política de SSL a vários proxies HTTPS ou SSL de destino, desde que a política e o proxy de destino usem escopos idênticos. As mudanças feitas nas políticas de SSL não alteram nem interrompem as conexões atuais do balanceador de carga.
O exemplo a seguir mostra como as conexões de clientes são estabelecidas e encerradas em um balanceador de carga.
É possível usar uma política de SSL para configurar a versão mínima do TLS e os recursos SSL ativados no balanceador de carga. As políticas de SSL afetam as conexões entre os clientes e o balanceador de carga (Connection-1 na figura). As políticas de SSL não afetam as conexões entre o balanceador de carga e os back-ends (Connection-2 na figura).
Criar uma política de SSL
Ao criar uma política de SSL, você especifica as seguintes informações:
- um perfil, que especifica um conjunto de recursos do TLS que o balanceador de carga está configurado para oferecer suporte; e
- uma versão mínima do TLS, que restringe ainda mais o balanceador de carga para usar apenas versões específicas do TLS.
Ao se conectar ao balanceador de carga, os clientes anunciam as versões do protocolo TLS, os conjuntos de criptografia e outros recursos de TLS que podem oferecer suporte. Durante o handshake TLS, o balanceador de carga escolhe a versão mais recente do protocolo TLS compatível com ele e o cliente, além de outros parâmetros TLS (incluindo um pacote de criptografia) para a conexão. O handshake de TLS falha se o balanceador de carga e o cliente não forem compatíveis com versões do TLS, pacotes de criptografia e outros recursos sobrepostos.
Perfis predefinidos
Google Cloud oferece os seguintes perfis predefinidos.
COMPATIBLE. Compatível com o conjunto mais amplo de clientes, incluindo aqueles que só podem usar versões e recursos anteriores do TLS.MODERN. Compatível com um amplo conjunto de cifras TLS, permitindo que clientes modernos negociem TLS.RESTRICTED. Compatível com um conjunto reduzido de criptografias TLS. O perfilRESTRICTEDfoi criado para atender a requisitos de compliance mais rigorosos.FIPS_202205. Compatível com um conjunto de recursos de TLS destinados a atender à conformidade com o FIPS 140-3.
Perfil personalizado
Os perfis COMPATIBLE, MODERN e RESTRICTED diferem no conjunto de
conjuntos de criptografia que oferecem suporte quando o balanceador de carga negocia o TLS 1.2 e versões
anteriores. A tabela na seção Pacotes de criptografia para TLS 1.2 e versões anteriores mostra essas diferenças.
Também é possível criar um perfil CUSTOM e especificar individualmente os conjuntos de criptografia
que o balanceador de carga oferece suporte para TLS 1.2 e versões anteriores. Isso não afeta a forma como o balanceador de carga negocia o TLS 1.3.
Comportamento quando nenhuma política de SSL é especificada
Se você não associar uma política de SSL a um proxy HTTPS ou SSL de destino, o balanceador de carga vai operar como se você tivesse associado uma política de SSL com as seguintes configurações:
- o perfil
COMPATIBLEselecionado; - a versão mínima de TLS definida como 1.0
Suporte para versões do TLS
Um perfil pode restringir indiretamente as versões de TLS que o balanceador de carga pode negociar. Por exemplo, os conjuntos de criptografia ativados no perfil
RESTRICTED não incluem conjuntos de criptografia compatíveis com
TLS 1.0 ou 1.1. Portanto, escolher o perfil RESTRICTED proíbe que os clientes usem o TLS 1.0 e 1.1, mesmo que a versão mínima de TLS da política de SSL esteja definida como 1.0 ou 1.1.
O Cloud Load Balancing não é compatível com versões SSL 3.0 ou anteriores. A tabela a seguir descreve o suporte aos recursos em cada versão de TLS/SSL.
| Versão de TLS/SSL | Suporte a recursos |
|---|---|
| TLS 1.3 |
Todos os perfis, exceto o
O perfil
|
| TLS 1.2 e versões anteriores | O perfil usado pela política de SSL controla quais conjuntos de criptografia são usados com o TLS 1.2 e versões anteriores. |
| SSL 3.0 ou anterior | Não é compatível com balanceadores de carga que usam políticas de SSL. |
Pacotes de criptografia para TLS 1.2 e versões anteriores
A tabela a seguir mostra os conjuntos de criptografia para TLS 1.2 e versões anteriores incluídos em cada perfil predefinido. Ao criar uma política de SSL que usa o perfil CUSTOM, é possível selecionar esses conjuntos de criptografia individualmente. As políticas de SSL
que usam o perfil CUSTOM precisam incluir pelo menos um pacote de criptografia da
lista a seguir.
| Valor de IANA | Recurso | COMPATIBLE |
MODERN |
RESTRICTED |
FIPS_202205 |
|---|---|---|---|---|---|
0xCCA9 |
TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 |
||||
0xCCA8 |
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 |
||||
0xC02B |
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 |
||||
0xC02F |
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 |
||||
0xC02C |
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 |
||||
0xC030 |
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 |
||||
0xC009 |
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA |
||||
0xC013 |
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA |
||||
0xC00A |
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA |
||||
0xC014 |
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA |
||||
0x009C |
TLS_RSA_WITH_AES_128_GCM_SHA256 |
||||
0x009D |
TLS_RSA_WITH_AES_256_GCM_SHA384 |
||||
0x002F |
TLS_RSA_WITH_AES_128_CBC_SHA |
||||
0x0035 |
TLS_RSA_WITH_AES_256_CBC_SHA |
||||
0x000A |
TLS_RSA_WITH_3DES_EDE_CBC_SHA |
Detalhes do perfil FIPS_202205
O perfil FIPS_202205 restringe o balanceador de carga a usar um conjunto de recursos de TLS que devem ser compatíveis com o padrão FIPS 140-3.
Quando uma política de SSL usa esse perfil, o balanceador de carga
é compatível com TLS 1.2 ou 1.3, com as seguintes restrições:
Se a conexão TLS usar o TLS 1.2, somente os seguintes conjuntos de criptografia serão permitidos:
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
Se a conexão TLS usar o TLS 1.3, apenas os seguintes conjuntos de criptografia serão permitidos:
TLS_AES_128_GCM_SHA256TLS_AES_256_GCM_SHA384
Somente
P-256ouP-384são permitidos para contrato de chave.Somente as seguintes assinaturas digitais de certificado do balanceador de carga são permitidas:
- PKCS#1/PSS com
SHA-256,SHA-384ouSHA-512 - ECDSA com
P-256ouP-384eSHA-256ouSHA-384
- PKCS#1/PSS com
Atualizações de recursos
Reservamo-nos o direito de atualizar o conjunto de recursos ativados nos perfis COMPATIBLE, MODERN e RESTRICTED, bem como quais recursos são configuráveis em um perfil CUSTOM. Fazemos isso à medida que deixamos de oferecer suporte para recursos TLS mais antigos e adicionamos suporte aos mais novos.
Quando adicionamos recursos que melhoram as capacidades do TLS, podemos ativá-los
imediatamente nos perfis COMPATIBLE, MODERN e RESTRICTED para que as políticas de SSL
que selecionam esses perfis possam usar os recursos adicionados. No entanto, se sua política selecionar o perfil CUSTOM, você precisará modificar as configurações da política para usar os recursos adicionados.
Limitações
A desativação de versões ou criptografias específicas do SSL pode impedir que alguns clientes mais antigos se conectem ao seu proxy com HTTPS ou SSL. Desativar uma seleção suficientemente ampla de criptografias no perfil
CUSTOMpode impedir todos os clientes de negociar o HTTPS.Um certificado SSL associado ao seu balanceador de carga usa uma assinatura digital ECDSA ou RSA. Os perfis predefinidos são compatíveis com ambos os tipos de assinaturas de certificados. Um perfil personalizado precisa permitir criptografias compatíveis com a assinatura digital usada pelos certificados do balanceador de carga.
A seguir
- Para detalhes sobre como criar, modificar ou excluir uma política SSL, consulte esta página.
- Para configurar um certificado SSL, consulte Visão geral dos certificados SSL.