Políticas de SSL para protocolos SSL e TLS

Neste documento, o termo SSL refere-se aos protocolos SSL (Secure Sockets Layer) e TLS (Transport Layer Security). As informações neste documento aplicam-se a ligações TLS através do protocolo de transporte TCP, que pode usar qualquer versão suportada do TLS. Para balanceadores de carga que usam ligações HTTP/3, o protocolo de transporte subjacente é o QUIC, que usa exclusivamente o TLS 1.3.

As políticas de SSL especificam o conjunto de funcionalidades SSL que os Trusted Cloud by S3NS equilibradores de carga usam quando negociam SSL com os clientes. Por exemplo, pode usar uma política SSL para definir a versão mínima do TLS e as funcionalidades que todos os clientes têm de suportar para enviar tráfego para o seu equilibrador de carga.

Os seguintes balanceadores de carga suportam políticas de SSL regionais:

  • Balanceador de carga de aplicações externo regional
  • Balanceador de carga de aplicações interno regional

Por predefinição, estes balanceadores de carga usam um conjunto de funcionalidades SSL que oferecem uma boa segurança e uma ampla compatibilidade. Algumas aplicações requerem mais controlo sobre as versões e as cifras SSL usadas para as respetivas ligações HTTPS ou SSL. Pode definir políticas de SSL para especificar o conjunto de funcionalidades de SSL que o seu equilibrador de carga usa quando negoceia SSL com os clientes.

O exemplo seguinte mostra como as ligações dos clientes são estabelecidas e terminadas num equilibrador de carga.

Ligações de clientes em balanceadores de carga de aplicações externos ou balanceadores de carga de rede de proxy externos.
Ligações de clientes em balanceadores de carga de aplicações externos ou balanceadores de carga de rede de proxy externos (clique para aumentar).

Pode usar uma política SSL para configurar a versão mínima do TLS e as funcionalidades SSL ativadas no equilibrador de carga. As políticas de SSL afetam as ligações entre os clientes e o equilibrador de carga (ligação 1 na ilustração). As políticas SSL não afetam as ligações entre o balanceador de carga e os back-ends (ligação 2).

Definir uma política SSL

Para definir uma política SSL, especifica uma versão mínima do TLS e um perfil. O perfil seleciona um conjunto de funcionalidades SSL a ativar no equilibrador de carga.

Três perfis pré-configurados geridos pela Google permitem-lhe especificar o nível de compatibilidade adequado para a sua aplicação. Os três perfis pré-configurados são os seguintes:

  • COMPATÍVEL. Permite que o conjunto mais amplo de clientes, incluindo clientes que suportam apenas funcionalidades SSL desatualizadas, negociem o SSL com o equilibrador de carga.
  • MODERNO. Suporta um vasto conjunto de funcionalidades SSL, o que permite aos clientes modernos negociar SSL.
  • RESTRITO. Suporta um conjunto reduzido de funcionalidades SSL, destinado a cumprir requisitos de conformidade mais rigorosos.

Um quarto perfil PERSONALIZADO permite-lhe selecionar as funcionalidades SSL individualmente.

A política SSL também especifica a versão mínima do protocolo TLS que os clientes podem usar para estabelecer uma ligação.

Tenha em atenção que um perfil pode restringir indiretamente as versões do TLS que o equilibrador de carga pode negociar. Por exemplo, as cifras ativadas no perfil RESTRITO só são suportadas pelo TLS 1.2. Por conseguinte, a escolha do perfil RESTRITO impede efetivamente que os clientes usem o TLS 1.0 e 1.1, mesmo que a versão mínima do TLS da política SSL o permita.

Se não escolher um dos três perfis pré-configurados nem criar uma política SSL personalizada, o seu equilibrador de carga usa a política SSL predefinida. A política SSL predefinida é equivalente a uma política SSL que usa o perfil COMPATÍVEL com uma versão mínima do TLS de TLS 1.0.

Pode anexar uma política SSL a mais do que um proxy de destino. Não pode configurar mais do que uma política SSL para um proxy de destino específico. As alterações feitas às políticas de SSL não alteram nem interrompem as associações existentes do equilibrador de carga.

O Cloud Load Balancing não suporta as versões 3.0 ou anteriores do SSL. A tabela seguinte descreve o suporte de funcionalidades para cada versão do TLS/SSL.

Versão de TLS/SSL Suporte de funcionalidades
TLS 1.0, 1.1 ou 1.2 As definições nas políticas SSL controlam os conjuntos de cifras aplicados às ligações de clientes.
TLS 1.3 As definições nas políticas de SSL não controlam a seleção de cifras. O TLS 1.3 suporta apenas as cifras TLS_AES_128_GCM_SHA256, TLS_AES_256_GCM_SHA384 e TLS_CHACHA20_POLY1305_SHA256.
SSL 3.0 ou anterior Não aplicável. Não suportado pelo Cloud Load Balancing.

Durante cada handshake TLS, o cliente indica a versão do protocolo TLS mais elevada que suporta. O servidor é obrigatório para selecionar a versão de protocolo mais elevada suportada pelo cliente e pelo servidor e permitida pela configuração do servidor. Por exemplo, se um equilibrador de carga estiver configurado com uma versão mínima do TLS de 1.2, um handshake com um cliente moderno que suporte o TLS 1.3 seleciona o TLS 1.3. Um handshake com um cliente anterior que suporta apenas o TLS 1.2 usa o TLS 1.2. Um handshake com um cliente ainda mais antigo que suporta apenas o TLS 1.1 falha.

A tabela seguinte indica as funcionalidades da política de SSL disponíveis para cada perfil pré-configurado. Todas as funcionalidades controlam se podem ser usadas suites de cifragem específicas e aplicam-se apenas a ligações que usam a versão 1.2 ou anterior do TLS, e não a ligações que usam o TLS 1.3.

Valor da IANA Funcionalidade No perfil COMPATIBLE No perfil MODERN No perfil RESTRITO
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

Atualizações de funcionalidades

Reservamo-nos o direito de atualizar o conjunto de funcionalidades ativadas nos perfis COMPATÍVEL, MODERNO e RESTRITO, bem como as funcionalidades configuráveis num perfil PERSONALIZADO. Fazemos isto à medida que removemos o suporte para capacidades SSL mais antigas e adicionamos suporte para capacidades mais recentes.

Quando adicionamos funcionalidades que melhoram as capacidades de SSL, podemos ativá-las imediatamente nos perfis COMPATIBLE, MODERN e RESTRICTED para que as políticas de SSL que selecionam esses perfis possam usar as novas funcionalidades. No entanto, se a sua política selecionar o perfil PERSONALIZADO, tem de modificar as definições da política para usar as funcionalidades adicionadas.

Limitações

  • A desativação de versões ou cifras SSL específicas pode impedir que alguns clientes mais antigos se liguem ao seu proxy através de HTTPS ou SSL. A desativação de uma seleção suficientemente ampla de cifras no perfil PERSONALIZADO pode resultar na impossibilidade de os clientes negociarem HTTPS.

  • Um certificado SSL associado ao seu equilibrador 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 deve ativar cifras compatíveis com a assinatura digital usada pelos certificados do equilibrador de carga.

  • As funcionalidades que controlam os conjuntos de cifras aplicam-se apenas a ligações de cliente que usam a versão 1.2 e anteriores do TLS. Não controlam a seleção de cifras em ligações que usam TLS 1.3.

O que se segue?