Ao configurar um listener HTTPS para um Application Load Balancer (ALB), uma política de segurança TLS especifica as versões do protocolo TLS e os cipher suites compatíveis para negociação com os clientes. O ALB oferece várias políticas predefinidas comuns. Para requisitos de segurança específicos, você pode usar uma política personalizada.
Como funciona
Um ALB usa uma política de segurança TLS para definir as versões do protocolo TLS e os cipher suites compatíveis para negociação TLS. Durante o processo de handshake, o cliente envia uma mensagem Client Hello listando as versões do protocolo TLS e os cipher suites que ele suporta. O ALB avalia essa lista em relação à política, seleciona uma combinação mutuamente compatível e responde com um Server Hello. A combinação selecionada determina então o método para a troca de chaves e a geração da chave de sessão.
Políticas padrão
Os padrões de segurança e conformidade podem exigir políticas de segurança TLS específicas para ALB. Expanda a tabela abaixo para visualizar as versões TLS e os cipher suites compatíveis com cada política padrão e selecione aquela que atende às suas necessidades. Se as políticas padrão não atenderem aos seus requisitos, você pode criar uma política personalizada.
-
A política
tls_cipher_policy_1_0_to_1_3é compatível apenas com instâncias ALB Extensible Edition. -
Para aplicações voltadas para a internet sem requisitos especiais de compatibilidade, recomendamos a política
tls_cipher_policy_1_2ou uma mais restritiva.
Console
Acesse a página TLS Security Policies no console do ALB. A guia Default Policy exibe os detalhes de cada política.
API
Chame a operação ListSystemSecurityPolicies para consultar as políticas padrão.
Políticas personalizadas
As políticas personalizadas são compatíveis apenas com instâncias ALB Standard e WAF-enabled, não com instâncias Basic ou Extensible Edition.
Criar uma política personalizada
Console
-
Acesse a página TLS Security Policies no ALB Console e selecione a região onde sua instância ALB está implantada.
-
Clique em Create Custom Policy, configure os seguintes parâmetros e clique em Create.
-
Minimum Version: Para garantir a segurança, recomendamos selecionar TLS 1.2 or Later a menos que sua aplicação tenha requisitos específicos de compatibilidade.
-
Enable TLS 1.3: Para garantir segurança e eficiência de rede, recomendamos habilitar esta opção se for compatível com sua aplicação.
-
Cipher Suite: Os cipher suites selecionados devem ser compatíveis com a versão do protocolo TLS.
-
-
Após criar a política, você pode selecioná-la ao configurar uma política de segurança TLS para um listener.
API
Chame CreateSecurityPolicy para criar uma política personalizada. Observe que a política personalizada deve estar na mesma região que a instância ALB.
Para usar um certificado de algoritmo SM para criptografia HTTPS, selecione o cipher suite de algoritmo SM (ECC-SM2-WITH-SM4-SM3) ao criar uma política personalizada. Para mais informações, consulte Configure SM-based HTTPS on ALB for secure communication.
Atualizar protocolos TLS e cipher suites
Console
-
Acesse a página TLS Security Policies no ALB Console e selecione a região da política personalizada.
-
Localize a política personalizada desejada, clique em Modify na coluna Actions e, em seguida, atualize as versões do protocolo TLS e os cipher suites na caixa de diálogo Modify TLS Security Policy.
API
Chame UpdateSecurityPolicyAttribute para atualizar os atributos de uma política personalizada.
Copiar uma política personalizada para outra região
Console
-
Acesse a página TLS Security Policies no ALB Console e selecione a região da política personalizada.
-
Localize a política personalizada desejada, clique em Replicate to Other Regions na coluna Actions, selecione a região de destino e clique em OK.
API
Chame ListSecurityPolicies para obter os parâmetros TLSVersions e Ciphers da política personalizada de origem. Em seguida, chame CreateSecurityPolicy e passe esses valores de parâmetro para criar uma nova política na região de destino.
Excluir uma política personalizada
Para excluir uma política personalizada associada a um listener, você deve primeiro alterar a política de segurança TLS do listener ou excluir o listener.
Console
-
Acesse a página TLS Security Policies no ALB Console e selecione a região da política personalizada.
-
Localize a política personalizada desejada, clique em Delete na coluna Actions e, em seguida, clique em OK.
API
Chame DeleteSecurityPolicy para excluir uma política personalizada.
Configurar uma política de segurança TLS para um listener
As instâncias ALB Extensible Edition suportam apenas a política padrão tls_cipher_policy_1_0_to_1_3.
Console
-
Ao criar um listener HTTPS, selecione uma TLS Security Policy na guia Configure SSL Certificate. Ao criar rapidamente um listener HTTPS, selecione uma TLS Security Policy na caixa de diálogo Quick Create Listener.
-
Para modificar uma política de segurança TLS, acesse a guia Listener na página de detalhes da instância e clique no ID do listener HTTPS de destino. Em Listener Details, modifique a TLS Security Policy na área SSL Certificate.
API
Ao chamar CreateListener ou UpdateListenerAttribute, defina o parâmetro SecurityPolicyId com o ID da política de segurança TLS.
-
Chame ListSystemSecurityPolicies para consultar o
SecurityPolicyIdde uma política padrão. -
Chame ListSecurityPolicies para consultar o
SecurityPolicyIdde uma política personalizada.
Faturamento
As políticas de segurança TLS são gratuitas, mas você está sujeito ao faturamento da própria instância ALB.
Ambiente de produção
-
Segurança do tráfego de backend: Para segurança de ponta a ponta, implante sua instância ALB e os servidores de backend na mesma VPC e use grupos de segurança para controlar rigorosamente o acesso.
-
Versão do protocolo TLS: Se sua aplicação não tiver requisitos especiais de compatibilidade, use TLS 1.2 e TLS 1.3.
-
Rollback: Se você encontrar problemas após modificar uma política de segurança TLS, poderá reverter imediatamente as alterações modificando a configuração do listener. Realize essas alterações durante períodos de baixo tráfego.
-
Algoritmo de troca de chaves: Se sua aplicação não tiver requisitos especiais de compatibilidade, evite usar os seguintes cipher suites de troca de chaves RSA em um ambiente de produção:
AES128-GCM-SHA256,AES256-GCM-SHA384,AES128-SHA256,AES256-SHA256,AES128-SHA,AES256-SHAeDES-CBC3-SHA. Esses cipher suites não oferecem suporte a sigilo de encaminhamento perfeito (PFS) e são vulneráveis a ataques de canal lateral. Priorize cipher suites que utilizem ECDHE ou DHE.
Solução de problemas de avisos "não seguro"
Após configurar uma política de segurança TLS de nível elevado, como tls_cipher_policy_1_2_strict_with_1_3, o navegador de um cliente ainda pode exibir um aviso "Não Seguro" ou "Conexão Insegura" ao acessar seu site. Investigue as seguintes causas potenciais.
-
O cliente ou navegador é incompatível com a versão TLS selecionada: Alguns navegadores ou sistemas operacionais mais antigos não oferecem suporte ao TLS 1.2 ou versões posteriores. Essa incompatibilidade faz com que o handshake falhe e aciona um aviso de segurança. Para descartar problemas de compatibilidade do cliente, teste com a versão mais recente de um navegador convencional como Chrome ou Firefox. O suporte ao TLS 1.3 pode variar entre versões do Safari no macOS; mude para o Chrome para verificar a conexão.
-
O certificado está expirado ou o nome de domínio não corresponde: Uma política de segurança TLS controla apenas a negociação de versões de protocolo e cipher suites; ela não afeta a validade do certificado. Se o certificado estiver expirado ou o nome de domínio no certificado não corresponder ao nome de domínio que você está acessando, o navegador também exibirá um aviso de segurança. Verifique se o certificado vinculado ao listener ALB é válido e se seu campo CN ou SAN abrange o nome de domínio sendo acessado.
-
O cliente armazenou em cache informações antigas de conexão TLS: Um navegador pode armazenar em cache informações de sessão de uma conexão anterior que usou um protocolo TLS mais antigo, fazendo com que o status de segurança antigo seja exibido temporariamente. Para verificar a nova configuração, limpe o cache do navegador e o estado SSL e recarregue a página, ou abra a página no modo anônimo.
-
Use uma ferramenta online para verificar o resultado real da negociação: Use uma ferramenta online como SSL Labs (
https://www.ssllabs.com/ssltest/) para escanear o nome de domínio do seu site. Você poderá visualizar as versões reais do protocolo TLS, os cipher suites e a cadeia de certificados que o ALB suporta e confirmar que a política foi aplicada corretamente.
Mapeamento de cipher suites TLS
A tabela a seguir mapeia cipher suites nos formatos OpenSSL, padrão IANA e notação hexadecimal.