Criar um listener HTTPS para seu Application Load Balancer - Elastic Load Balancing

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Criar um listener HTTPS para seu Application Load Balancer

Um listener é um processo que verifica se há solicitações de conexão. Você define um listener ao criar seu load balancer e você pode adicionar listeners ao seu load balancer a qualquer momento.

Você pode criar um listener HTTPS, que use conexões criptografadas (também conhecidas como SSL offload). Esse recurso permite criptografar tráfego entre o load balancer e os clientes que iniciam sessões SSL ou TLS.

As informações dessa página ajudam você a criar um listener HTTPS para o load balancer. Para adicionar um listener HTTPS ao seu load balancer, consulte Criar um listener HTTP para seu Application Load Balancer.

Certificados SSL

Para usar um listener HTTPS, você deve implantar pelo menos um certificado de servidor SSL/TLS no load balancer. O load balancer usa um certificado de servidor para encerrar a conexão front-end e descriptografa solicitações dos clientes antes de enviá-las aos destinos.

O load balancer requer certificados X.509 (certificados de servidor SSL/TLS). Os certificados são uma forma digital de identificação emitida por uma autoridade certificadora (CA). Um certificado contém informações de identificação, período de validade, chave pública, número de série e a assinatura digital do emissor.

Quando você cria um certificado para uso com seu load balancer, é necessário especificar um nome de domínio.

Recomendamos que você crie certificados para seu load balancer usandoAWS Certificate Manager(ACM). O ACM suporta certificados RSA com comprimentos de chave de 2048, 3072 e 4096 bits e todos os certificados ECDSA. O ACM se integra ao Elastic Load Balancing para que você possa implantar o certificado em seu balanceador de carga. Para obter mais informações, consulte o Manual do usuário do AWS Certificate Manager.

Como alternativa, você pode usar ferramentas de SSL/TLS para criar uma Certificate Signing Request (CSR, Solicitação de assinatura de certificado) e, em seguida, obter o CSR assinado por uma CA para produzir um certificado e importá-lo para o ACM ou fazer o upload do certificado para oAWS Identity and Access Management(IAM). Para obter mais informações sobre a importação de certificados para o ACM, consulteImportar certificadosnoAWS Certificate ManagerGuia do usuário do. Para obter mais informações sobre a upload de certificados no IAM, consulte Trabalhar com certificados de servidor no Manual do usuário do IAM.

Certificado padrão

Quando você cria um listener HTTPS, deve especificar exatamente um certificado. Esse certificado é conhecido como o certificado padrão. É possível substituir o certificado padrão depois de criar o listener HTTPS. Para obter mais informações, consulte Substituir o certificado padrão.

Se você especificar certificados adicionais em uma lista de certificados, o certificado padrão será usado somente se um cliente se conectar sem usar o protocolo Server Name Indication (SNI) para especificar um nome de host ou se não houver certificados correspondentes na lista de certificados.

Se você não especificar certificados adicionais, mas precisar hospedar vários aplicativos seguros por meio de um único load balancer, poderá usar um certificado curinga ou adicionar um Subject Alternative Name (SAN) para cada domínio adicional ao seu certificado.

Lista de certificados

Após criar um listener HTTPS, ele terá um certificado padrão e uma lista de certificados vazia. Você pode adicionar certificados à lista de certificados para o listener. O uso de uma lista de certificados permite que um load balancer ofereça suporte a vários domínios na mesma porta e forneça um certificado diferente para cada domínio. Para obter mais informações, consulte Adicionar certificados à lista de certificados.

O load balancer usa um algoritmo inteligente de seleção de certificado com suporte para SNI. Se o nome de host fornecido por um cliente corresponder a um único certificado na lista, o load balancer selecionará esse certificado. Se um nome de host fornecido por um cliente corresponder a vários certificados na lista, o load balancer selecionará o melhor certificado que o cliente puder comportar. A seleção do certificado se baseia nos critérios a seguir, na seguinte ordem:

  • Algoritmo de chave pública (prefira ECDSA em relação a RSA)

  • Algoritmo hashing (prefira SHA em relação a MD5)

  • Comprimento da chave (prefira o maior)

  • Período de validade

As entradas no log de acesso do load balancer indicam o hostname especificado pelo cliente e o certificado apresentado ao cliente. Para obter mais informações, consulte Entradas do log de acesso.

Renovação de certificado

Cada certificado vem com um período de validade. Você deve garantir que renovou ou substituiu os certificados do load balancer antes do fim do período de validade. Isso inclui o certificado padrão e os certificados em uma lista de certificados. Renovar ou substituir um certificado não afeta as solicitações em andamento recebidas por um nó do load balancer e são pendentes de roteamento para um destino íntegro. Depois de um certificado ser renovado, as novas solicitações usarão o certificado renovado. Depois de o certificado ser substituído, as novas solicitações usarão o novo certificado.

Você pode gerenciar a renovação e a substituição do certificado da seguinte forma:

  • Certificados fornecidos pelo AWS Certificate Manager e implantados no seu load balancer podem ser renovados automaticamente. O ACM tenta renovar os certificados antes que eles expirem. Para obter mais informações, consulte Renovação gerenciada no Manual do usuário do AWS Certificate Manager.

  • Se você tiver importado um certificado no ACM, deverá monitorar a data de validade do certificado e renová-lo antes que expire. Para obter mais informações, consulte Importar certificados no Manual do usuário do AWS Certificate Manager.

  • Se você tiver importado um certificado para o IAM, deverá criar um novo certificado, importá-lo para o ACM ou IAM, adicioná-lo ao load balancer e remover o certificado expirado do load balancer.

Políticas de segurança

O Elastic Load Balancing usa uma configuração de negociação com Secure Sockets Layer (SSL), conhecida como política de segurança, para negociar conexões SSL entre um cliente e o balanceador de carga. Uma política de segurança é uma combinação de cifras e protocolos. O protocolo estabelece uma conexão segura entre um cliente e um servidor, além de garantir que todos os dados passados entre o cliente e o load balancer sejam privados. A cifra é um algoritmo de criptografia que usa chaves de criptografia para criar uma mensagem codificada. Os protocolos usam várias cifras para criptografar dados pela Internet. Durante o processo de negociação de conexão, o cliente e o load balancer apresentam uma lista de cifras e protocolos que cada um suporta, em ordem de preferência. Por padrão, a primeira cifra na lista do servidor que corresponder a qualquer uma das cifras do cliente é selecionada para a conexão segura.

Os Application Load Balancers não comportam renegociação de SSL para conexões de cliente ou destino.

Ao criar um listener TLS, é necessário selecionar uma política de segurança. É possível atualizar a política de segurança conforme necessário. Para obter mais informações, consulte Atualizar a política de segurança.

Você pode escolher a política de segurança usada para conexões front-end. OELBSecurityPolicy-2016-08A política de segurança sempre é usada para conexões back-end. Os Application Load Balancers não comportam políticas de segurança personalizadas.

O Elastic Load Balancing fornece as seguintes políticas de segurança para Application Load Balancers:

  • ELBSecurityPolicy-2016-08 (padrão)

  • ELBSecurityPolicy-TLS-1-0-2015-04

  • ELBSecurityPolicy-TLS-1-1-2017-01

  • ELBSecurityPolicy-TLS-1-2-2017-01

  • ELBSecurityPolicy-TLS-1-2-Ext-2018-06

  • ELBSecurityPolicy-FS-2018-06

  • ELBSecurityPolicy-FS-1-1-2019-08

  • ELBSecurityPolicy-FS-1-2-2019-08

  • ELBSecurityPolicy-FS-1-2-Res-2019-08

  • ELBSecurityPolicy-2015-05 (idêntico a ELBSecurityPolicy-2016-08)

  • ELBSecurityPolicy-FS-1-2-Res-2020-10

Recomendamos a política ELBSecurityPolicy-2016-08 para compatibilidade. É possível usar uma das políticas ELBSecurityPolicy-FS se precisar de sigilo de encaminhamento (FS). Você pode usar uma das políticas ELBSecurityPolicy-TLS para atender aos requisitos de conformidade e padrões de segurança que exigem a desativação de determinadas versões do protocolo TLS ou para oferecer suporte a clientes herdados que exigem cifras desaprovadas. Somente uma pequena porcentagem dos clientes da Internet exigem TLS versão 1.0. Para visualizar a versão do protocolo TLS das solicitações para seu load balancer, habilite o log de acesso para o seu load balancer e examine os logs de acesso. Para obter mais informações, consulte Logs de acesso.

Políticas compatíveis com o FS

A tabela a seguir descreve a política padrão, ELBSecurityPolicy-2016-08, e as políticas ELBSecurityPolicy-FS. O ELBSecurityPolicy- foi removido dos nomes de política na linha de cabeçalho para que se ajustem ao espaço.

Políticas de segurança 
                                            ELBSecurityPolicy-2016-08
                                        
                                            ELBSecurityPolicy-FS-1-2-Res-2020-10
                                        
                                            ELBSecurityPolicy-FS-1-2-Res-2019-08
                                        
                                            ELBSecurityPolicy-FS-1-2-2019-08
                                        
                                            ELBSecurityPolicy-FS-1-1-2019-08
                                        
                                            ELBSecurityPolicy-FS-2018-06
Protocolos TLS

Protocol-TLSv1

Protocol-TLSv1.1

Protocol-TLSv1.2

Cifras TLS

ECDHE-ECDSA-AES128-GCM-SHA256

ECDHE-RSA-AES128-GCM-SHA256

ECDHE-ECDSA-AES128-SHA256

ECDHE-RSA-AES128-SHA256

ECDHE-ECDSA-AES128-SHA

ECDHE-RSA-AES128-SHA

ECDHE-ECDSA-AES256-GCM-SHA384

ECDHE-RSA-AES256-GCM-SHA384

ECDHE-ECDSA-AES256-SHA384

ECDHE-RSA-AES256-SHA384

ECDHE-RSA-AES256-SHA

ECDHE-ECDSA-AES256-SHA

AES128-GCM-SHA256

AES128-SHA256

AES128-SHA

AES256-GCM-SHA384

AES256-SHA256

AES256-SHA

Políticas de segurança TLS

A tabela a seguir descreve a política padrão, ELBSecurityPolicy-2016-08, e as políticas ELBSecurityPolicy-TLS. O ELBSecurityPolicy- foi removido dos nomes de política na linha de cabeçalho para que se ajustem ao espaço.

Políticas de segurança 
                                            ELBSecurityPolicy-2016-08
                                        
                                            ELBSecurityPolicy-TLS-1-2-Ext-2018-06
                                        
                                            ELBSecurityPolicy-TLS-1-2-2017-01
                                        
                                            ELBSecurityPolicy-TSL-1-1-2017-01
                                        
                                            ELBSecurityPolicy-TLS-1-0-2015-04
Protocolos TLS

Protocol-TLSv1

Protocol-TLSv1.1

Protocol-TLSv1.2

Cifras TLS

ECDHE-ECDSA-AES128-GCM-SHA256

ECDHE-RSA-AES128-GCM-SHA256

ECDHE-ECDSA-AES128-SHA256

ECDHE-RSA-AES128-SHA256

ECDHE-ECDSA-AES128-SHA

ECDHE-RSA-AES128-SHA

ECDHE-ECDSA-AES256-GCM-SHA384

ECDHE-RSA-AES256-GCM-SHA384

ECDHE-ECDSA-AES256-SHA384

ECDHE-RSA-AES256-SHA384

ECDHE-RSA-AES256-SHA

ECDHE-ECDSA-AES256-SHA

AES128-GCM-SHA256

AES128-SHA256

AES128-SHA

AES256-GCM-SHA384

AES256-SHA256

AES256-SHA

DES-CBC3-SHA

*Não use essa política a menos que você precise oferecer suporte a um cliente legado que exija a cifra DES-CBC3-SHA, que é uma cifra fraca.

Para exibir a configuração de uma política de segurança para Application Load Balancers usando aAWS CLI, use odescribe-ssl-policiescomando.

Adicionar um listener HTTPS

Você configura um listener com um protocolo e uma porta para as conexões de clientes com o load balancer, e um grupo de destino para a regra do listener padrão. Para obter mais informações, consulte Configuração do listener.

Pré-requisitos

  • Para adicionar uma ação de encaminhamento à regra do listener padrão, você deve especificar um grupo de destino disponível. Para obter mais informações, consulte Criar um grupo de destino.

  • Para criar um listener HTTPS, você deverá especificar um certificado e uma política de segurança. O load balancer usará o certificado para encerrar a conexão e descriptografar solicitações dos clientes antes de roteá-las aos destinos. O load balancer usa a política de segurança ao negociar conexões SSL com os clientes.

Adicionar um listener HTTPS usando o console

  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, em LOAD BALANCING (BALANCEAMENTO DE CARGA), escolha Load balancers (Balanceadores de carga).

  3. Selecione um load balancer e escolha Listeners, Add listener (Adicionar listener).

  4. para oProtocolo: porta, escolhaHTTPSe mantenha a porta padrão ou insira uma porta diferente.

  5. (Opcional) Para autenticar usuários, em Default actions (Ações padrão), escolha Add action (Adicionar ação), Authenticate (Autenticar) e forneça as informações solicitadas. Para salvar a ação, escolha o ícone de marca de seleção. Para obter mais informações, consulte Autenticar usuários usando um Application Load Balancer.

  6. Em Default actions (Ações padrão), siga um destes procedimentos:

    • Selecione Add action (Adicionar ação), Forward to (Encaminhar para) e, em seguida, selecione um grupo de destino.

    • Selecione Add action (Adicionar ação), Redirect to (Redirecionar para) e forneça o URL para o redirecionamento. Para obter mais informações, consulte Ações de redirecionamento.

    • Selecione Add action (Adicionar ação), Return fixed response (Retornar resposta fixa) e forneça um código de resposta e o texto da resposta opcional. Para obter mais informações, consulte Ações de resposta fixa.

    Para salvar a ação, escolha o ícone de marca de seleção.

  7. Em Security policy (Política de segurança), recomendamos que você mantenha a política de segurança padrão.

  8. Em Default SSL certificate (Certificado SSL padrão), execute uma das seguintes ações:

    • Se tiver criado ou importado um certificado usando o AWS Certificate Manager, escolha From ACM (Do ACM) e, em seguida, o certificado.

    • Se você tiver carregado um certificado usando o IAM, selecioneDo IAMe escolha o certificado.

  9. Escolha Save (Salvar).

  10. (Opcional) Para definir outras regras do listener que encaminhem solicitações com base em um padrão de caminho ou em um nome de host, consulte Adicionar uma regra.

  11. (Opcional) Para adicionar uma lista de certificados para usar com o protocolo SNI, consulte Adicionar certificados à lista de certificados.

Para adicionar um listener HTTPS usando a AWS CLI

Use o comando create-listener para criar o listener e a regra padrão, e o comando create-rule para definir as regras de listener adicionais.

Atualizar um listener HTTPS

Depois de criar um listener HTTPS, você pode substituir o certificado padrão, atualizar a lista de certificados ou substituir a política de segurança. Para obter mais informações, consulte Atualizar um listener HTTPS para seu Application Load Balancer.