Habilitar a TLS mútua para distribuições do CloudFront - Amazon CloudFront

Habilitar a TLS mútua para distribuições do CloudFront

Pré-requisitos e requisitos

O modo de verificação mútua de TLS do CloudFront exige que todos os clientes apresentem certificados válidos durante o handshake do TLS e rejeita conexões sem certificados válidos. Antes de habilitar a TLS mútua em uma distribuição do CloudFront, você deve:

  • Criar um armazenamento confiável com certificados de sua autoridade de certificação.

  • Associar o ID do armazenamento confiável à distribuição do CloudFront.

  • Garantir que todos os comportamentos de cache da distribuição usem uma política de protocolo de visualizador somente HTTPS.

  • Verificar se sua distribuição está usando HTTP/2, que é a configuração padrão (não é possível usar HTTP/3 com mTLS de visualizador).

nota

A autenticação TLS mútua requer conexões HTTPS entre visualizadores e o CloudFront. Não é possível habilitar a mTLS em uma distribuição com qualquer comportamento de cache que permita conexões HTTP.

Habilitar a TLS mútua (console)

Para novas distribuições

Não é possível configurar a mTLS de visualizador no processo de criação de uma distribuição no console do CloudFront. Primeiro, crie a distribuição usando qualquer meio (console, CLI e API) e, em seguida, edite as configurações da distribuição para habilitar a mTLS de visualizador de acordo com as instruções de distribuição abaixo.

Para distribuições existentes

  1. Faça login no Console de gerenciamento da AWS e abra o console do CloudFront em https://console.aws.amazon.com/cloudfront/v4/home.

  2. Na lista de distribuição, selecione a distribuição a ser modificada.

  3. A política de protocolo de visualizador deve estar definida como Redirecionar HTTP para HTTPS ou Somente HTTPS para todos os comportamentos de cache. (É possível escolher a guia Comportamentos de cache para visualizar e atualizar qualquer comportamento de cache com políticas de protocolo HTTP.)

  4. Escolha a guia Geral.

  5. Na seção Configurações, escolha Editar.

  6. Na seção Conectividade, encontre Autenticação mútua (mTLS) de visualizador.

  7. Ative a opção Habilitar autenticação mútua.

  8. Em Modo de validação de certificado de cliente, selecione Obrigatório (todos os clientes devem apresentar certificados) ou Opcional (os clientes podem apresentar certificados opcionalmente).

  9. Em Armazenamento confiável, selecione o armazenamento confiável criado anteriormente.

  10. (Opcional) Ative a opção Anunciar nomes de CA do armazenamento confiável se quiser que o CloudFront envie nomes de CA aos clientes durante o handshake do TLS.

  11. (Opcional) Ative a opção Ignorar a data de expiração do certificado se quiser permitir conexões com certificados expirados.

  12. Escolha Salvar alterações.

Habilitar a TLS mútua (AWS CLI)

Para novas distribuições

O seguinte exemplo mostra como criar um arquivo de configuração de distribuição (distribution-config.json) que inclua configurações de mTLS:

{ "CallerReference": "cli-example-1", "Origins": { "Quantity": 1, "Items": [ { "Id": "my-origin", "DomainName": "example.com", "CustomOriginConfig": { "HTTPPort": 80, "HTTPSPort": 443, "OriginProtocolPolicy": "https-only" } } ] }, "DefaultCacheBehavior": { "TargetOriginId": "my-origin", "ViewerProtocolPolicy": "https-only", "MinTTL": 0, "ForwardedValues": { "QueryString": false, "Cookies": { "Forward": "none" } } }, "ViewerCertificate": { "CloudFrontDefaultCertificate": true }, "ViewerMtlsConfig": { "Mode": "required", "TrustStoreConfig": { "TrustStoreId": {TRUST_STORE_ID}, "AdvertiseTrustStoreCaNames": true, "IgnoreCertificateExpiry": true } }, "Enabled": true }

Crie a distribuição com a mTLS habilitada usando o seguinte exemplo de comando:

aws cloudfront create-distribution --distribution-config file://distribution-config.json

Para distribuições existentes

Obtenha a configuração de distribuição atual usando o seguinte comando de exemplo:

aws cloudfront get-distribution-config --id E1A2B3C4D5E6F7 --output json > dist-config.json

Edite o arquivo para adicionar configurações de mTLS. Adicione a seguinte seção de exemplo à configuração da distribuição:

"ViewerMtlsConfig": { "Mode": "required", "TrustStoreConfig": { "TrustStoreId": {TRUST_STORE_ID}, "AdvertiseTrustStoreCaNames": true, "IgnoreCertificateExpiry": true } }

Remova o campo ETag do arquivo, mas salve o respectivo valor separadamente.

Obtenha a configuração com a nova configuração usando o seguinte comando de exemplo:

aws cloudfront update-distribution \ --id E1A2B3C4D5E6F7 \ --if-match YOUR-ETAG-VALUE \ --distribution-config file://dist-config.json

Políticas de protocolo de visualizador

Ao usar a TLS mútua, todos os comportamentos de cache da distribuição devem ser configurados com uma política de protocolo de visualização somente HTTPS:

  • Redirecionar HTTP para HTTPS: redireciona solicitações HTTP para HTTPS antes de realizar a validação do certificado.

  • Somente HTTPS: aceita somente solicitações HTTPS e executa a validação do certificado.

nota

Não é possível usar a política de protocolo de visualizador HTTP e HTTPS com TLS mútua, pois as conexões HTTP não podem realizar a validação do certificado.

Próximas etapas

Depois de habilitar o TLS de visualizador em uma distribuição do CloudFront, é possível associar as funções de conexão para implementar uma lógica personalizada de validação de certificados. As funções de conexão permitem estender os recursos integrados de autenticação mTLS com regras de validação personalizadas, verificação de revogação de certificados e registro em log. Para ver detalhes sobre como criar e associar funções de conexão, consulte Associar uma função de conexão do CloudFront.