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á.
Use o Network Firewall para capturar os nomes de domínio DNS da Indicação de Nome do Servidor (SNI) para tráfego de saída
Criado por Kirankumar Chandrashekar (AWS)
Ambiente: PoC ou piloto | Tecnologias: segurança, identidade, conformidade; rede; aplicativos móveis e web | Workload: todas as outras workloads |
Serviços da AWS: AWS Lambda; Firewall de Rede da AWS; Amazon VPC; Amazon Logs CloudWatch |
Resumo
Esse padrão mostra como usar o Network Firewall da Amazon Web Services (AWS) para coletar os nomes de domínio DNS fornecidos pela Indicação de Nome do Servidor (SNI) no cabeçalho HTTPS do seu tráfego de rede de saída. O Network Firewall é um serviço gerenciado que facilita a implantação de proteções de rede críticas para a Amazon Virtual Private Cloud (Amazon VPC), incluindo a capacidade de proteger o tráfego de saída com um firewall que bloqueia pacotes que não atendem a determinados requisitos de segurança. Proteger o tráfego de saída para nomes de domínio DNS específicos é chamado de filtragem de saída, que é a prática de monitorar e potencialmente restringir o fluxo de informações de saída de uma rede para outra.
Depois de capturar os dados do SNI que passam pelo Network Firewall, você pode usar o Amazon CloudWatch Logs e o AWS Lambda para publicar os dados em um tópico do Amazon Simple Notification Service (Amazon SNS) que gera notificações por e-mail. As notificações por e-mail incluem o nome do servidor e outras informações relevantes da SNI. Além disso, você pode usar a saída desse padrão para permitir ou restringir o tráfego de saída por nome de domínio na SNI usando regras de firewall. Para obter mais informações, consulte Trabalhar com grupos de regras com estado no AWS Network Firewall na documentação do Network Firewall.
Pré-requisitos e limitações
Pré-requisitos
Uma conta AWS ativa
AWS Command Line Interface (AWS CLI) versão 2, instalada e configurada em Linux, macOS ou Windows
Network Firewall, instalado e configurado na Amazon VPC e em uso para inspecionar o tráfego de saída
Observação: o Network Firewall pode usar qualquer uma das seguintes configurações de VPC:
Arquitetura
O diagrama a seguir mostra como usar o Firewall de Rede para coletar dados SNI do tráfego de rede de saída e, em seguida, publicar esses dados em um tópico do SNS usando Logs CloudWatch e Lambda.
![Fluxo de trabalho entre Network Firewall, CloudWatch Logs, Lambda e Amazon SNS.](images/pattern-img/9eb1e9e3-f459-4ea3-8e6d-60fec6b7ea98/images/1094b5f6-33e3-42bc-8fb8-7409b5b826b0.png)
O diagrama mostra o seguinte fluxo de trabalho:
O Network Firewall coleta nomes de domínio dos dados da SNI no cabeçalho HTTPS do tráfego de saída da rede.
CloudWatch O Logs monitora os dados do SNI e invoca uma função Lambda sempre que o tráfego de saída da rede passa pelo Network Firewall.
A função Lambda lê os dados SNI capturados pelo CloudWatch Logs e depois publica esses dados em um tópico do SNS.
O tópico SNS envia uma notificação por e-mail que inclui os dados da SNI.
Automação e escala
Você pode usar CloudFormation a AWS para criar esse padrão usando a infraestrutura como código.
Pilha de tecnologia
CloudWatch Registros da Amazon
Amazon SNS
Amazon VPC
AWS Lambda
AWS Network Firewall
Ferramentas
Serviços da AWS
Amazon CloudWatch Logs — Você pode usar o Amazon CloudWatch Logs para monitorar, armazenar e acessar seus arquivos de log das instâncias do Amazon Elastic Compute Cloud (Amazon EC2), da AWS, do CloudTrail Amazon Route 53 e de outras fontes.
Amazon SNS: o Amazon Simple Notification Service (Amazon SNS) é um serviço gerenciado que fornece entrega de mensagens de publicadores para assinantes (também conhecido como produtores e consumidores).
Amazon VPC: a Amazon Virtual Private Cloud (Amazon VPC) provisiona uma seção logicamente isolada da Nuvem AWS, em que é possível executar recursos da AWS em uma rede virtual que você definiu. Essa rede virtual se assemelha a uma rede tradicional que você operaria no seu datacenter, com os benefícios de usar a infraestrutura dimensionável da AWS.
AWS Lambda: o AWS Lambda é um serviço de computação com tecnologia que pode ser usado para executar código sem provisionamento ou gerenciamento de servidores.
AWS Network Firewall: o AWS Network Firewall é um serviço gerenciado que facilita a implantação de proteções de rede essenciais para todas as suas Amazon VPCs.
Épicos
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Crie um grupo de CloudWatch registros. |
Para obter mais informações, consulte Trabalhando com grupos e fluxos de registros na CloudWatch documentação. | Administrador de nuvem |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Criar um tópico do SNS. | Para criar um tópico do SNS, siga as instruções na documentação do Amazon SNS. | Administrador de nuvem |
Inscreva um endpoint em um tópico do SNS. | Para inscrever um endereço de e-mail como endpoint para o tópico do SNS que você criou, siga as instruções na documentação do Amazon SNS. Em Protocolo, escolha E-mail/e-mail-JSON. Observação: você também pode escolher um endpoint diferente com base em seus requisitos. | Administrador de nuvem |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Habilitar o registro em log de firewall. |
Para obter mais informações sobre o uso de CloudWatch Logs como destino de log para o Network Firewall, consulte Amazon CloudWatch Logs na documentação do Network Firewall. | Administrador de nuvem |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Crie uma regra com estado. |
| Administrador de nuvem |
Associe a regra de estado ao Network Firewall. |
| Administrador de nuvem |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Crie o código da função do Lambda. | Em um ambiente de desenvolvimento integrado (IDE) que pode ler o evento CloudWatch Logs do Network Firewall para tráfego de saída, cole o seguinte código do Python 3 e
Esse exemplo de código analisa o conteúdo dos CloudWatch registros e captura o nome do servidor fornecido pelo SNI no cabeçalho HTTPS. | Desenvolvedor de aplicativos |
Criar a função do Lambda. | Para criar a função do Lambda, siga as instruções na documentação do Lambda e escolha Python 3.9 para Runtime. | Administrador de nuvem |
Adicionar o código à função do Lambda. | Para adicionar seu código Python à função do Lambda que você criou anteriormente, siga as instruções na documentação do Lambda. | Administrador de nuvem |
Adicione CloudWatch registros como um gatilho à função Lambda. |
Para obter mais informações, consulte Como usar o Lambda com CloudWatch registros na documentação do Lambda. | Administrador de nuvem |
Adicione permissões de publicação do SNS. | Adicione a permissão sns:Publish à função de execução do Lambda, para que o Lambda possa fazer chamadas de API para publicar mensagens no SNS.
| Administrador de nuvem |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Envie tráfego por meio do Network Firewall. |
Em seguida, verifique o registro de alertas do Firewall de Rede na Amazon CloudWatch seguindo as instruções na CloudWatch documentação da Amazon. O log de alerta mostra a seguinte saída:
| Engenheiro de testes |