Configuração de um TLS mútuo em um 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á.

Configuração de um TLS mútuo em um Application Load Balancer

Para usar o modo de passagem mútua de TLS, você só precisa configurar o ouvinte para aceitar certificados de clientes. Ao usar a passagem de TLS mútuo, o Application Load Balancer envia toda a cadeia de certificados do cliente para o destino usando cabeçalhos HTTP, o que permite implementar a lógica correspondente de autenticação e autorização na aplicação. Para obter mais informações, consulte Criar um receptor HTTPS para seu Application Load Balancer.

Ao usar o TLS mútuo no modo de verificação, o Application Load Balancer executa a autenticação de certificado de cliente X.509 para clientes quando um balanceador de carga negocia conexões TLS.

Para utilizar o modo de verificação de TLS mútuo, faça o seguinte:

  • Crie um recurso de armazenamento confiável.

  • Faça upload do seu pacote de autoridade de certificação (CA) e, opcionalmente, das listas de revogação.

  • Anexe o armazenamento confiável ao receptor que está configurado para verificar os certificados do cliente.

Use os procedimentos a seguir para configurar o modo de verificação mútua de TLS em seu Application Load Balancer.

Criar um armazenamento confiável

Se você adicionar um armazenamento confiável ao criar um balanceador de carga ou ouvinte, o armazenamento confiável será automaticamente associado ao novo ouvinte. Caso contrário, você mesmo deverá associá-lo a um ouvinte.

Pré-requisitos
  • Para criar um armazenamento confiável, você deve ter um pacote de certificados da sua autoridade de certificação (CA).

Console

O exemplo a seguir cria um armazenamento confiável usando a parte Trust Store do console. Como alternativa, você pode criar o armazenamento confiável ao criar um ouvinte HTTP.

Para criar uma loja confiável
  1. Abra o EC2 console da Amazon em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, escolha Armazenamentos confiáveis.

  3. Escolha Criar repositório confiável.

  4. Configuração do armazenamento confiável

    1. Em Nome da loja confiável, insira um nome para sua loja confiável.

    2. Para o pacote de autoridade de certificação, insira o caminho do Amazon S3 para o pacote de certificados ca a ser usado.

    3. (Opcional) Use a versão do objeto para selecionar uma versão anterior do pacote de certificados ca. Caso contrário, a versão atual será usada.

  5. (Opcional) Para revogações, você pode adicionar uma lista de revogação de certificados ao seu armazenamento confiável.

    1. Escolha Adicionar nova CRL e insira a localização da lista de revogação de certificados no Amazon S3.

    2. (Opcional) Use a Versão do objeto para selecionar uma versão anterior da lista de revogação de certificados. Caso contrário, a versão atual será usada.

  6. (Opcional) Expanda as tags da Trust Store e insira até 50 tags para sua loja confiável.

  7. Escolha Criar repositório confiável.

AWS CLI
Para criar uma loja confiável

Use o comando create-trust-store.

aws elbv2 create-trust-store \ --name my-trust-store \ --ca-certificates-bundle-s3-bucket amzn-s3-demo-bucket \ --ca-certificates-bundle-s3-key certificates/ca-bundle.pem
CloudFormation
Para criar uma loja confiável

Defina um recurso do tipo AWS::ElasticLoadBalancingV2::TrustStore.

Resources: myTrustStore: Type: 'AWS::ElasticLoadBalancingV2::TrustStore' Properties: Name: my-trust-store CaCertificatesBundleS3Bucket: amzn-s3-demo-bucket CaCertificatesBundleS3Key: certificates/ca-bundle.pem

Associar um armazenamento confiável

Depois de criar um armazenamento confiável, você deve associá-lo a um receptor antes que o Application Load Balancer possa começar a usá-lo. Você pode ter somente um armazenamento confiável associado a cada um dos receptores seguros, mas um armazenamento confiável pode ser associado a vários receptores.

Console

Você pode associar um armazenamento confiável a um ouvinte existente, conforme mostrado no procedimento a seguir. Como alternativa, você pode associar um armazenamento confiável ao criar um ouvinte HTTPS. Para obter mais informações, consulte Criar um ouvinte HTTPS.

Para associar um repositório fiduciário
  1. Abra o EC2 console da Amazon em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, selecione Balanceador de carga.

  3. Selecione o load balancer.

  4. Na guia Receptores e regras, escolha o link na coluna Protocol:Port para abrir a página de detalhes do receptor seguro.

  5. Na guia Segurança, escolha Editar configurações de receptor seguro.

  6. Se o TLS mútuo não estiver habilitado, selecione Autenticação mútua (mTLS) em Tratamento de certificados do cliente e escolha Verificar com armazenamento confiável.

  7. Em Trust store, escolha o trust store.

  8. Escolha Salvar alterações.

AWS CLI
Para associar um repositório fiduciário

Use o comando modify-listener.

aws elbv2 modify-listener \ --listener-arn listener-arn \ --mutual-authentication "Mode=verify,TrustStoreArn=trust-store-arn"
CloudFormation
Para associar um repositório fiduciário

Atualize o AWS::ElasticLoadBalancingV2::Listenerrecurso.

Resources: myHTTPSListener: Type: 'AWS::ElasticLoadBalancingV2::Listener' Properties: LoadBalancerArn: !Ref myLoadBalancer Protocol: HTTPS Port: 443 DefaultActions: - Type: "forward" TargetGroupArn: !Ref myTargetGroup SslPolicy: ELBSecurityPolicy-TLS13-1-2-2021-06 Certificates: - CertificateArn: certificate-arn MutualAuthentication: - Mode: verify TrustStoreArn: trust-store-arn

Substituir um pacote de certificados de CA

O pacote de certificados da CA é um componente obrigatório do armazenamento confiável. É uma coleção de certificados raiz e intermediários confiáveis que foram validados por uma autoridade de certificação. Esses certificados validados garantem que o cliente possa confiar que o certificado apresentado pertence ao balanceador de carga.

Um armazenamento confiável pode conter somente um pacote de certificados de CA por vez, mas você pode substituir o pacote de certificados de CA a qualquer momento após a criação do armazenamento confiável.

Console
Para substituir um pacote de certificados CA
  1. Abra o EC2 console da Amazon em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, escolha Armazenamentos confiáveis.

  3. Selecione o repositório confiável.

  4. Escolha Ações, Substitua o pacote CA.

  5. Na página Substituir pacote de CA, em Pacote de autoridade de certificação, insira a localização do Amazon S3 do pacote de CA desejado.

  6. (Opcional) Use a Versão do objeto para selecionar uma versão anterior da lista de revogação de certificados. Caso contrário, a versão atual será usada.

  7. Selecione Substituir pacote de CA.

AWS CLI
Para substituir um pacote de certificados CA

Use o comando modify-trust-store.

aws elbv2 modify-trust-store \ --trust-store-arn trust-store-arn \ --ca-certificates-bundle-s3-bucket amzn-s3-demo-bucket-new \ --ca-certificates-bundle-s3-key certificates/new-ca-bundle-pem
CloudFormation
Para atualizar o pacote de certificados CA

Defina um recurso do tipo AWS::ElasticLoadBalancingV2::TrustStore.

Resources: myTrustStore: Type: 'AWS::ElasticLoadBalancingV2::TrustStore' Properties: Name: my-trust-store CaCertificatesBundleS3Bucket: amzn-s3-demo-bucket-new CaCertificatesBundleS3Key: certificates/new-ca-bundle.pem

Adicionar uma lista de revogação de certificados

Opcionalmente, você pode criar uma lista de revogação de certificados para um armazenamento confiável. As listas de revogação são divulgadas pelas autoridades de certificação e contêm dados de certificados que foram revogados. Os Application Load Balancers só oferecem suporte a listas de revogação de certificados no formato PEM.

Quando uma lista de revogação de certificados é adicionada a um armazenamento confiável, ela recebe um ID de revogação. O IDs aumento de revogação para cada lista de revogação adicionada ao repositório fiduciário, e elas não podem ser alteradas.

Os Application Load Balancers não podem revogar certificados que tenham um número de série negativo em uma lista de revogação de certificados.

Console
Para adicionar uma lista de revogação
  1. Abra o EC2 console da Amazon em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, escolha Armazenamentos confiáveis.

  3. Selecione o armazenamento confiável para exibir a página de detalhes.

  4. Na guia Listas de revogação de certificados, selecione Ações, Adicionar lista de revogação.

  5. Na página Adicionar lista de revogação, em Lista de revogação de certificados, insira a localização do Amazon S3 da lista de revogação de certificados desejada

  6. (Opcional) Use a Versão do objeto para selecionar uma versão anterior da lista de revogação de certificados. Caso contrário, a versão atual será usada.

  7. Selecione Adicionar lista de revogação

AWS CLI
Para adicionar uma lista de revogação

Use o comando add-trust-store-revocations.

aws elbv2 add-trust-store-revocations \ --trust-store-arn trust-store-arn \ --revocation-contents "S3Bucket=amzn-s3-demo-bucket,S3Key=crl/revoked-list.crl,RevocationType=CRL"
CloudFormation
Para adicionar uma lista de revogação

Defina um recurso do tipo AWS::ElasticLoadBalancingV2::TrustStoreRevogação.

Resources: myRevocationContents: Type: 'AWS:ElasticLoadBalancingV2::TrustStoreRevocation' Properties: TrustStoreArn: !Ref myTrustStore RevocationContents: - RevocationType: CRL S3Bucket: amzn-s3-demo-bucket S3Key: crl/revoked-list.crl

Excluir uma lista de revogação de certificados

Quando você não precisar mais de uma lista de revogação de certificados, poderá excluí-la. Quando você exclui uma lista de revogação de certificados de um repositório confiável, sua ID de revogação também é excluída e não é reutilizada durante toda a vida útil do armazenamento confiável.

Console
Para excluir uma lista de revogação
  1. Abra o EC2 console da Amazon em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, escolha Armazenamentos confiáveis.

  3. Selecione o repositório confiável.

  4. Na guia Listas de revogação de certificados, escolha Ações, Excluir lista de revogação.

  5. Quando a confirmação for solicitada, insira confirm.

  6. Escolha Excluir.

AWS CLI
Para excluir uma lista de revogação

Use o comando remove-trust-store-revocations.

aws elbv2 remove-trust-store-revocations \ --trust-store-arn trust-store-arn \ --revocation-ids id-1 id-2 id-3

Excluir um armazenamento confiável

Quando não precisar mais usar um armazenamento confiável, poderá excluí-lo. Você não pode excluir um repositório confiável associado a um ouvinte.

Console
Para excluir um repositório confiável
  1. Abra o EC2 console da Amazon em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, escolha Armazenamentos confiáveis.

  3. Selecione o repositório confiável.

  4. Escolha Excluir.

  5. Quando a confirmação for solicitada, insira confirm e selecione Excluir.

AWS CLI
Para excluir um repositório confiável

Use o comando delete-trust-store.

aws elbv2 delete-trust-store \ --trust-store-arn trust-store-arn