Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Verifique a versão de registro de acesso, HTTPS e TLS em uma CloudFront distribuição da Amazon - Recomendações da AWS

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á.

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á.

Verifique a versão de registro de acesso, HTTPS e TLS em uma CloudFront distribuição da Amazon

Criado por SaiJeevan Devireddy (AWS) e Bijesh Bal (AWS)

Resumo

Esse padrão verifica uma CloudFront distribuição da Amazon para garantir que ela use HTTPS, use o Transport Layer Security (TLS) versão 1.2 ou posterior e tenha o registro de acesso ativado. CloudFront é um serviço fornecido pela Amazon Web Services (AWS) que acelera a distribuição de seu conteúdo web estático e dinâmico, como .html, .css, .js e arquivos de imagem, para seus usuários. CloudFront entrega seu conteúdo por meio de uma rede mundial de data centers chamados de pontos de presença. Quando um usuário solicita o conteúdo com o qual você está servindo CloudFront, a solicitação é encaminhada para o ponto de presença que fornece a menor latência (atraso de tempo), para que o conteúdo seja entregue com o melhor desempenho possível.

Esse padrão fornece uma função do AWS Lambda que é iniciada quando o Amazon CloudWatch Events detecta a chamada de CloudFront API CreateDistribution, CreateDistributionWithTagsou. UpdateDistribution A lógica personalizada na função Lambda avalia todas as CloudFront distribuições que foram criadas ou atualizadas na conta da AWS. Ele envia uma notificação de violação usando o Amazon Simple Notification Service (Amazon SNS) se detectar as seguintes violações:

  • Verificações globais:

    • O certificado personalizado não usa TLS versão 1.2

    • O registro em log está desativado para distribuição

  • Verificações de origem:

    • A origem não está configurada com TLS versão 1.2

    • A comunicação com a origem é permitida em um protocolo diferente de HTTPS

  • Verificações de comportamento:

    • A comunicação de comportamento padrão é permitida em um protocolo diferente de HTTPS

    • A comunicação de comportamento personalizada é permitida em um protocolo diferente de HTTPS

Pré-requisitos e limitações

Pré-requisitos

  • Uma conta AWS ativa

  • Um endereço de e-mail no qual você deseja receber as notificações de violação

Limitações

  • Esse controle de segurança não verifica as distribuições existentes do Cloudfront, a menos que uma atualização tenha sido feita na distribuição.

  • CloudFront é considerado um serviço global e não está vinculado a uma região específica da AWS. No entanto, CloudWatch os registros de APIs do Amazon Logs e do AWS Cloudtrail para serviços globais ocorrem na região Leste dos EUA (Norte da Virgínia) (us-east-1). Portanto, esse formulário de controle de segurança CloudFront deve ser implantado e mantido emus-east-1. Essa implantação única monitora todas as distribuições de CloudFront. Não implante o controle de segurança em nenhuma outra região da AWS. (A implantação em outras regiões resultará em uma falha no início dos CloudWatch Eventos e da função Lambda e na ausência de notificações do SNS.)

  • Essa solução passou por testes extensivos com distribuições de conteúdo CloudFront da web. Ela não abrange distribuições de fluxo do protocolo de mensagens em tempo real (RTMP).

Arquitetura

Pilha de tecnologias de destino

  • Função do Lambda

  • Tópico do SNS

  • EventBridge Regra da Amazon

Arquitetura de destino

Workflow diagram showing user interaction with Serviços da AWS for distribution and notification.

Automação e escala

  • Se você estiver usando o AWS Organizations, poderá usar o AWS Cloudformation StackSets para implantar o modelo anexado em várias contas que você deseja monitorar.

Ferramentas

Serviços da AWS

  • AWS CloudFormation — CloudFormation é um serviço que ajuda você a modelar e configurar recursos da AWS usando a infraestrutura como código.

  • Amazon EventBridge — EventBridge fornece um fluxo de dados em tempo real de seus próprios aplicativos, aplicativos de software como serviço (SaaS) e serviços da AWS, roteando esses dados para destinos como funções Lambda.

  • AWS Lambda: o Lambda é compatível com a execução de código sem provisionar ou gerenciar servidores.

  • Amazon S3: o Amazon Simple Storage Service (Amazon S3) é um serviço de armazenamento de objetos altamente escalável que pode ser usado para uma ampla variedade de soluções de armazenamento, incluindo sites, aplicativos móveis, backups e data lakes.

  • Amazon SNS: o Amazon SNS coordena e gerencia a entrega ou o envio de mensagens entre publicadores e clientes, incluindo servidores da Web e endereços de e-mail. Os assinantes recebem todas as mensagens publicadas nos tópicos para os quais eles se inscrevem, e todos os assinantes em um tópico recebem as mesmas mensagens.

Código

O código em anexo inclui:

  • Um arquivo .zip que contém o código do Lambda (index.py)

  • Um CloudFormation modelo (arquivo.yml) que você executa para implantar o código Lambda

Épicos

TarefaDescriçãoHabilidades necessárias
Criar o bucket do S3 para o código do Lambda.

No console do Amazon S3, crie um bucket do S3 com um nome exclusivo que não contenha barras iniciais. Um nome de bucket do S3 é globalmente exclusivo, e o namespace é compartilhado por todas as contas da AWS. Seu bucket do S3 deve estar na região em que você planeja implantar o código do Lambda.

Arquiteto de nuvem
Carregar o código do Lambda para o bucket do S3.

Faça upload do código do Lambda (arquivo cloudfront_ssl_log_lambda.zip) fornecido na seção Anexos para o bucket do S3 que você criou na etapa anterior.

Arquiteto de nuvem

Fazer o upload do controle de segurança

TarefaDescriçãoHabilidades necessárias
Criar o bucket do S3 para o código do Lambda.

No console do Amazon S3, crie um bucket do S3 com um nome exclusivo que não contenha barras iniciais. Um nome de bucket do S3 é globalmente exclusivo, e o namespace é compartilhado por todas as contas da AWS. Seu bucket do S3 deve estar na região em que você planeja implantar o código do Lambda.

Arquiteto de nuvem
Carregar o código do Lambda para o bucket do S3.

Faça upload do código do Lambda (arquivo cloudfront_ssl_log_lambda.zip) fornecido na seção Anexos para o bucket do S3 que você criou na etapa anterior.

Arquiteto de nuvem
TarefaDescriçãoHabilidades necessárias
Implante o CloudFormation modelo.

No CloudFormation console da AWS, na mesma região da AWS do bucket do S3, implante o CloudFormation modelo (cloudfront-ssl-logging.yml) fornecido na seção Anexos. 

Arquiteto de nuvem
Especifique o nome do bucket do S3.

Para o parâmetro do bucket do S3, especifique o nome do bucket do S3 que você criou no primeiro épico.

Arquiteto de nuvem
Especifique o nome da chave do Amazon S3 para o arquivo do Lambda.

Para o parâmetro Chave do S3, especifique a localização do arquivo .zip do código do Lambda no Amazon S3 em seu bucket do S3. Não inclua barras iniciais (por exemplo, você pode inserir lambda.zip ou controls/lambda.zip).

Arquiteto de nuvem
Fornecer um endereço de e-mail de notificação.

Para o parâmetro do e-mail de notificação, forneça um endereço de e-mail no qual você gostaria de receber as notificações de violação.

Arquiteto de nuvem
Definir o nível de registro em log.

Para o parâmetro Nível do registro em log do Lambda, defina o nível de registro em log para sua função do Lambda. Escolha um dos seguintes valores: 

  • INFO para obter mensagens informativas detalhadas sobre o progresso do aplicativo.

  • ERROR para obter informações sobre eventos de erro que ainda podem permitir que o aplicativo continue em execução.

  • AVISO para obter informações sobre situações potencialmente prejudiciais.

Arquiteto de nuvem

Implante o CloudFormation modelo

TarefaDescriçãoHabilidades necessárias
Implante o CloudFormation modelo.

No CloudFormation console da AWS, na mesma região da AWS do bucket do S3, implante o CloudFormation modelo (cloudfront-ssl-logging.yml) fornecido na seção Anexos. 

Arquiteto de nuvem
Especifique o nome do bucket do S3.

Para o parâmetro do bucket do S3, especifique o nome do bucket do S3 que você criou no primeiro épico.

Arquiteto de nuvem
Especifique o nome da chave do Amazon S3 para o arquivo do Lambda.

Para o parâmetro Chave do S3, especifique a localização do arquivo .zip do código do Lambda no Amazon S3 em seu bucket do S3. Não inclua barras iniciais (por exemplo, você pode inserir lambda.zip ou controls/lambda.zip).

Arquiteto de nuvem
Fornecer um endereço de e-mail de notificação.

Para o parâmetro do e-mail de notificação, forneça um endereço de e-mail no qual você gostaria de receber as notificações de violação.

Arquiteto de nuvem
Definir o nível de registro em log.

Para o parâmetro Nível do registro em log do Lambda, defina o nível de registro em log para sua função do Lambda. Escolha um dos seguintes valores: 

  • INFO para obter mensagens informativas detalhadas sobre o progresso do aplicativo.

  • ERROR para obter informações sobre eventos de erro que ainda podem permitir que o aplicativo continue em execução.

  • AVISO para obter informações sobre situações potencialmente prejudiciais.

Arquiteto de nuvem
TarefaDescriçãoHabilidades necessárias
Confirmar a assinatura.

Quando o CloudFormation modelo é implantado com sucesso, um novo tópico do SNS é criado e uma mensagem de assinatura é enviada para o endereço de e-mail que você forneceu. Você deve confirmar essa assinatura de e-mail para receber notificações de violação.

Arquiteto de nuvem

Confirmar a assinatura

TarefaDescriçãoHabilidades necessárias
Confirmar a assinatura.

Quando o CloudFormation modelo é implantado com sucesso, um novo tópico do SNS é criado e uma mensagem de assinatura é enviada para o endereço de e-mail que você forneceu. Você deve confirmar essa assinatura de e-mail para receber notificações de violação.

Arquiteto de nuvem

Anexos

Para acessar o conteúdo adicional associado a este documento, descompacte o seguinte arquivo: attachment.zip

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.