

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
<a name="check-an-amazon-cloudfront-distribution-for-access-logging-https-and-tls-version"></a>

*SaiJeevan Devireddy e Bijesh Bal, Amazon Web Services*

## Resumo
<a name="check-an-amazon-cloudfront-distribution-for-access-logging-https-and-tls-version-summary"></a>

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](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateDistribution.html), [CreateDistributionWithTags](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateDistributionWithTags.html)ou. [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html) 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
<a name="check-an-amazon-cloudfront-distribution-for-access-logging-https-and-tls-version-prerequisites-and-limitations"></a>

**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 em`us-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
<a name="check-an-amazon-cloudfront-distribution-for-access-logging-https-and-tls-version-architecture"></a>

**Pilha de tecnologias de destino**
+ Função do Lambda
+ Tópico do SNS
+  EventBridge Regra da Amazon

**Arquitetura de destino**

![\[Workflow diagram showing Serviços da AWS for distribution creation, event processing, and email notification.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/1ae60f8f-3eaf-40f5-b01f-06e30e5604ce/images/e1521c48-99f6-4ec6-9e53-8713f3cf5776.png)


**Automação e escala**
+ Se você estiver usando o AWS Organizations, poderá usar o [AWS Cloudformation StackSets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html) para implantar o modelo anexado em várias contas que você deseja monitorar.

## Ferramentas
<a name="check-an-amazon-cloudfront-distribution-for-access-logging-https-and-tls-version-tools"></a>

**Serviços da AWS**
+ [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) — CloudFormation é um serviço que ajuda você a modelar e configurar recursos da AWS usando a infraestrutura como código.
+ [Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) — 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](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html): o Lambda é compatível com a execução de código sem provisionar ou gerenciar servidores.
+ [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/Welcome.html): 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](https://docs.aws.amazon.com/sns/latest/dg/welcome.html): 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
<a name="check-an-amazon-cloudfront-distribution-for-access-logging-https-and-tls-version-epics"></a>

### Fazer o upload do controle de segurança
<a name="upload-the-security-control"></a>


| Tarefa | Description | Habilidades 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\$1ssl\$1log\$1lambda.zip) fornecido na seção *Anexos* para o bucket do S3 que você criou na etapa anterior. | Arquiteto de nuvem | 

### Implante o CloudFormation modelo
<a name="deploy-the-cloudformation-template"></a>


| Tarefa | Description | Habilidades 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: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/check-an-amazon-cloudfront-distribution-for-access-logging-https-and-tls-version.html) | Arquiteto de nuvem | 

### Confirmar a assinatura
<a name="confirm-the-subscription"></a>


| Tarefa | Description | Habilidades 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 | 

## Recursos relacionados
<a name="check-an-amazon-cloudfront-distribution-for-access-logging-https-and-tls-version-related-resources"></a>
+ [ CloudFormation Informações da AWS](https://aws.amazon.com/cloudformation/)
+ [Criação de uma pilha no CloudFormation console da AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html) (CloudFormation documentação)
+ [CloudFront registro](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/logging.html) (CloudFront documentação)
+ [Informações sobre o Amazon S3](https://aws.amazon.com/s3/)
+ [Informações sobre o AWS Lambda](https://aws.amazon.com/lambda/)

## Anexos
<a name="attachments-1ae60f8f-3eaf-40f5-b01f-06e30e5604ce"></a>

Para acessar o conteúdo adicional associado a este documento, descompacte o seguinte arquivo:[ attachment.zip](samples/p-attach/1ae60f8f-3eaf-40f5-b01f-06e30e5604ce/attachments/attachment.zip)