Autenticação mútua com TLS o 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á.

Autenticação mútua com TLS o Application Load Balancer

A TLS autenticação mútua é uma variação da segurança da camada de transporte (TLS). O tradicional TLS estabelece comunicações seguras entre um servidor e o cliente, onde o servidor precisa fornecer sua identidade aos clientes. Com o MutualTLS, um balanceador de carga negocia a autenticação mútua entre o cliente e o servidor durante a negociação. TLS Ao usar o Mutual TLS com o Application Load Balancer, você simplifica o gerenciamento da autenticação e reduz a carga em seus aplicativos.

Ao usar o Mutual TLS com o Application Load Balancer, seu balanceador de carga pode gerenciar a autenticação do cliente para ajudar a garantir que somente clientes confiáveis se comuniquem com seus aplicativos de back-end. Quando você usa esse recurso, o Application Load Balancer autentica clientes com certificados de uma autoridade de certificação (CA) terceirizada ou usando o AWS Private Certificate Authority (PCA), opcionalmente, com verificações de revogação. O Application Load Balancer passa as informações do certificado do cliente para o back-end, que seus aplicativos podem usar para autorização. Ao usar o Mutual TLS no Application Load Balancer, você pode obter autenticação integrada, escalável e gerenciada para entidades baseadas em certificados, que usam bibliotecas estabelecidas.

O Mutual TLS for Application Load Balancers fornece as duas opções a seguir para validar seus certificados de cliente X.509v3:

Nota: Não há suporte para certificados de cliente X.509v1.

  • TLSPassagem mútua: quando você usa o modo de TLS passagem mútua, o Application Load Balancer envia toda a cadeia de certificados do cliente para o destino usando cabeçalhos. HTTP Em seguida, usando a cadeia de certificados do cliente, você pode implementar a autenticação do balanceador de carga correspondente e a lógica de autorização de destino em seu aplicativo.

  • TLSVerificação mútua: quando você usa o modo de TLS verificação mútua, 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 começar a usar o mutual TLS no Application Load Balancer usando o passthrough, você só precisa configurar o ouvinte para aceitar quaisquer certificados dos clientes. Para usar o mútuo TLS com a verificação, você deve fazer o seguinte:

  • Crie um novo 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 ouvinte que está configurado para verificar os certificados do cliente.

Para obter step-by-step os procedimentos para configurar o modo de TLS verificação mútua com seu Application Load Balancer, consulte. Configuração mútua TLS em um Application Load Balancer

Antes de começar a configurar o Mutual TLS em seu Application Load Balancer

Antes de começar a configurar o Mutual TLS em seu Application Load Balancer, esteja ciente do seguinte:

Cotas

Os Application Load Balancers incluem certos limites relacionados à quantidade de armazenamentos confiáveis, certificados de CA e listas de revogação de certificados em uso em sua conta. AWS

Para obter mais informações, consulte Cotas para seus balanceadores de carga de aplicativos.

Requisitos para certificados

Os Application Load Balancers oferecem suporte ao seguinte para certificados usados com TLS autenticação mútua:

  • Certificado suportado: X.509v3

  • Chaves públicas suportadas: RSA 2K — 8K ou ECDSA secp256r1, secp384r1, secp521r1

  • Algoritmos de assinatura suportados:SHA256, 384, 512 comRSA/, 384SHA256, 512 com EC/ SHA256 ,384.512 hash com - com RSASSA PSS MGF1

Pacotes de certificados CA

O seguinte se aplica aos pacotes de autoridade de certificação (CA):

  • Os Application Load Balancers carregam cada pacote de certificados de autoridade de certificação (CA) como um lote. Os Application Load Balancers não oferecem suporte ao upload de certificados individuais. Se precisar adicionar novos certificados, você deverá carregar o arquivo do pacote de certificados.

  • Para substituir um pacote de certificados CA, use o. ModifyTrustStoreAPI

Pedido de certificado para passagem

Quando você usa a TLS passagem mútua, o Application Load Balancer insere cabeçalhos para apresentar a cadeia de certificados do cliente aos destinos de back-end. A ordem de apresentação começa com os certificados da folha e termina com o certificado raiz.

Retomada da sessão

A retomada da sessão não é suportada ao usar os modos de TLS passagem mútua ou verificação com um Application Load Balancer.

HTTPcabeçalhos

Os Application Load Balancers usam X-Amzn-Mtls cabeçalhos para enviar informações do certificado quando negociam conexões de clientes usando o Mutual. TLS Para obter mais informações e exemplos de cabeçalhos, consulteHTTPcabeçalhos e mútuos TLS.

Arquivos de certificado CA

Os arquivos de certificado CA devem atender aos seguintes requisitos:

  • O arquivo do certificado deve usar o formato PEM (Privacy Enhanced Mail).

  • O conteúdo do certificado deve estar dentro dos -----END CERTIFICATE----- limites -----BEGIN CERTIFICATE----- e.

  • Os comentários devem ser precedidos por um # caractere e não devem conter nenhum - caractere.

  • Não pode haver nenhuma linha em branco.

Exemplo de certificado que não é aceito (inválido):

# comments Certificate: Data: Version: 3 (0x2) Serial Number: 01 Signature Algorithm: ecdsa-with-SHA384 Issuer: C=US, O=EXAMPLE, OU=EXAMPLE, CN=EXAMPLE Validity Not Before: Jan 11 23:57:57 2024 GMT Not After : Jan 10 00:57:57 2029 GMT Subject: C=US, O=EXAMPLE, OU=EXAMPLE, CN=EXAMPLE Subject Public Key Info: Public Key Algorithm: id-ecPublicKey Public-Key: (384 bit) pub: 00:01:02:03:04:05:06:07:08 ASN1 OID: secp384r1 NIST CURVE: P-384 X509v3 extensions: X509v3 Key Usage: critical Digital Signature, Key Encipherment, Certificate Sign, CRL Sign X509v3 Basic Constraints: critical CA:TRUE X509v3 Subject Key Identifier: 00:01:02:03:04:05:06:07:08 X509v3 Subject Alternative Name: URI:EXAMPLE.COM Signature Algorithm: ecdsa-with-SHA384 00:01:02:03:04:05:06:07:08 -----BEGIN CERTIFICATE----- Base64–encoded certificate -----END CERTIFICATE-----

Exemplos de certificados aceitos (válidos):

  1. Certificado único (PEM—codificado):

    # comments -----BEGIN CERTIFICATE----- Base64–encoded certificate -----END CERTIFICATE-----
  2. Vários certificados (PEM—codificados):

    # comments -----BEGIN CERTIFICATE----- Base64–encoded certificate -----END CERTIFICATE----- # comments -----BEGIN CERTIFICATE----- Base64–encoded certificate -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- Base64–encoded certificate -----END CERTIFICATE-----

HTTPcabeçalhos e mútuos TLS

Esta seção descreve HTTP os cabeçalhos que os Application Load Balancers usam para enviar informações de certificado ao negociar conexões com clientes usando o Mutual. TLS X-Amzn-MtlsOs cabeçalhos específicos que o Application Load Balancer usa dependem do modo TLS mútuo que você especificou: modo de passagem ou modo de verificação.

Para obter informações sobre outros HTTP cabeçalhos suportados pelos Application Load Balancers, consulte. HTTPcabeçalhos e balanceadores de carga de aplicativos

HTTPcabeçalho para o modo de passagem

Para mútuo TLS no modo de passagem, os Application Load Balancers usam o cabeçalho a seguir.

Esse cabeçalho contém o PEM formato URL codificado em -de toda a cadeia de certificados do cliente apresentada na conexão, com +=/ caracteres seguros.

Exemplo de conteúdo de cabeçalho:

X-Amzn-Mtls-Clientcert: -----BEGIN%20CERTIFICATE-----%0AMIID<...reduced...>do0g%3D%3D%0A-----END%20CERTIFICATE-----%0A-----BEGIN%20CERTIFICATE-----%0AMIID1<...reduced...>3eZlyKA%3D%3D%0A-----END%20CERTIFICATE-----%0A

HTTPcabeçalhos para o modo de verificação

Para mútuo TLS no modo de verificação, os Application Load Balancers usam os cabeçalhos a seguir.

Esse cabeçalho contém uma representação hexadecimal do número de série do certificado folha.

Exemplo de conteúdo de cabeçalho:

X-Amzn-Mtls-Clientcert-Serial-Number: 03A5B1

Esse cabeçalho contém uma representação em RFC2253 sequência do nome distinto (DN) do emissor.

Exemplo de conteúdo de cabeçalho:

X-Amzn-Mtls-Clientcert-Issuer: CN=rootcamtls.com,OU=rootCA,O=mTLS,L=Seattle,ST=Washington,C=US

Esse cabeçalho contém uma representação em RFC2253 sequência do nome distinto (DN) do assunto.

Exemplo de conteúdo de cabeçalho:

X-Amzn-Mtls-Clientcert-Subject: CN=client_.com,OU=client-3,O=mTLS,ST=Washington,C=US

Esse cabeçalho contém um formato ISO86 01 da notAfter data notBefore e.

Exemplo de conteúdo de cabeçalho:

X-Amzn-Mtls-Clientcert-Validity: NotBefore=2023-09-21T01:50:17Z;NotAfter=2024-09-20T01:50:17Z

Esse cabeçalho contém um PEM formato URL codificado em -do certificado folha, com +=/ caracteres seguros.

Exemplo de conteúdo de cabeçalho:

X-Amzn-Mtls-Clientcert-Leaf: -----BEGIN%20CERTIFICATE-----%0AMIIG<...reduced...>NmrUlw%0A-----END%20CERTIFICATE-----%0A

Registros de conexão para Application Load Balancers

O Elastic Load Balancing fornece registros de conexão que capturam atributos sobre as solicitações enviadas aos seus Application Load Balancers. Os registros de conexão contêm informações como o endereço IP e a porta do cliente, informações do certificado do cliente, resultados da conexão e TLS cifras que estão sendo usadas. Esses registros de conexão podem então ser usados para revisar padrões de solicitação e outras tendências.

Para saber mais sobre registros de conexão, consulte Registros de conexão para seu Application Load Balancer