Cabeçalhos mTLS de visualizador para políticas de cache e encaminhados à origem - Amazon CloudFront

Cabeçalhos mTLS de visualizador para políticas de cache e encaminhados à origem

Ao usar a autenticação TLS mútua, o CloudFront pode extrair informações dos certificados de cliente e encaminhá-las às origens como cabeçalhos HTTP. Isso permite que os servidores de origem acessem detalhes do certificado sem implementar a respectiva lógica de validação.

Os seguintes cabeçalhos estão disponíveis para a criação de comportamentos de cache:

Nome do cabeçalho Descrição Valor de exemplo
CloudFront-Viewer-Cert-Serial-Number Representação hexadecimal do número de série do certificado. 4a:3f:5c:92:d1:e8:7b:6c
CloudFront-Viewer-Cert-Issuer Representação de string RFC2253 do nome distinto (DN) do emissor. CN=rootcamtls.com,OU=rootCA,O=mTLS,L=Seattle,ST=Washington,C=US
CloudFront-Viewer-Cert-Subject Representação de string RFC2253 do nome distinto (DN) do assunto. CN=client_.com,OU=client-3,O=mTLS,ST=Washington,C=US
CloudFront-Viewer-Cert-Present Pode ser 1 (presente) ou 0 (não presente) para indicar se o certificado está ou não presente. Esse valor é sempre 1 no modo Obrigatório. 1
CloudFront-Viewer-Cert-Sha256 O hash SHA256 do certificado de cliente. 01fbf94fef5569753420c349f49adbfd80af5275377816e3ab1fb371b29cb586

Para solicitações à origem, além dos cabeçalhos acima disponíveis para comportamentos de cache dois cabeçalhos adicionais são fornecidos:

Nome do cabeçalho Descrição Valor de exemplo
CloudFront-Viewer-Cert-Validity Formato ISO8601 da data notBefore e notAfter. CloudFront-Viewer-Cert-Validity: NotBefore=2023-09-21T01:50:17Z;NotAfter=2024-09-20T01:50:17Z
CloudFront-Viewer-Cert-Pem Formato PEM codificado em URL do certificado de entidade final. CloudFront-Viewer-Cert-Pem: -----BEGIN%20CERTIFICATE-----%0AMIIG<...reduced...>NmrUlw%0A-----END%20CERTIFICATE-----%0A

Configurar o encaminhamento de cabeçalhos

Console

No modo de verificação, o CloudFront adiciona automaticamente os cabeçalhos CloudFront-Viewer-Cert-* a todas as solicitações de visualizador. Para encaminhar todos os cabeçalhos à origem:

  1. Na página principal “Listar distribuições”, selecione a distribuição com mTLS de visualizador habilitada e acesse a guia Comportamentos.

  2. Selecione o comportamento de cache e escolha Editar.

  3. Na seção Política de solicitação à origem, escolha Criar política ou selecione uma política existente

  4. Os seguintes cabeçalhos devem estar incluídos na política de solicitação à origem:

    • CloudFront-Viewer-Cert-Serial-Number

    • CloudFront-Viewer-Cert-Issuer

    • CloudFront-Viewer-Cert-Subject

    • CloudFront-Viewer-Cert-Present

    • CloudFront-Viewer-Cert-Sha256

    • CloudFront-Viewer-Cert-Validity

    • CloudFront-Viewer-Cert-Pem

  5. Escolha Criar (para novas políticas) ou Salvar alterações (para políticas existentes).

  6. Selecione a política em seu comportamento de cache e salve as alterações.

Usar a AWS CLI

O seguinte exemplo mostra como criar uma política de solicitação à origem que inclua cabeçalhos mTLS para o modo de verificação:

aws cloudfront create-origin-request-policy \ --origin-request-policy-config '{ "Name": "MTLSHeadersPolicy", "HeadersConfig": { "HeaderBehavior": "whitelist", "Headers": { "Quantity": 5, "Items": [ "CloudFront-Viewer-Cert-Serial-Number", "CloudFront-Viewer-Cert-Issuer", "CloudFront-Viewer-Cert-Subject", "CloudFront-Viewer-Cert-Validity", "CloudFront-Viewer-Cert-Pem" ] } }, "CookiesConfig": { "CookieBehavior": "none" }, "QueryStringsConfig": { "QueryStringBehavior": "none" } }'

Considerações sobre processamento de cabeçalhos

Ao trabalhar com cabeçalhos de certificados, considere estas práticas recomendadas:

  • Validação do cabeçalho: verifique os valores do cabeçalho do certificado em sua origem como uma medida de segurança adicional.

  • Limites de tamanho do cabeçalho: como os cabeçalhos de certificado PEM podem ser grandes, confirme se seu servidor de origem consegue processá-los.

  • Considerações sobre cache: o uso de cabeçalhos de certificado na chave de cache aumenta a fragmentação do cache.

  • Solicitações entre origens: se sua aplicação usar CORS, talvez seja necessário configurá-la para permitir os cabeçalhos do certificado.

Próximas etapas

Depois de configurar o encaminhamento de cabeçalhos, você pode implementar a verificação de revogação de certificados usando funções de conexão e o KeyValueStore do CloudFront. Para ver detalhes sobre a implementação de verificações de revogação, consulte Revogação usando a função de conexão e o KVS do CloudFront.