Monitore pares de chaves de EC2 instância usando AWS Config - 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á.

Monitore pares de chaves de EC2 instância usando AWS Config

Criado por Wassim Benhallam (AWS), Sergio Bilbao Lopez () e Vikrant Telkar () AWS AWS

Ambiente: produção

Tecnologias: segurança, identidade, conformidade

AWSserviços: AmazonSNS; AWS Config; Lambda AWS

Resumo

Ao iniciar uma instância do Amazon Elastic Compute Cloud (AmazonEC2) na Amazon Web Services (AWS) Cloud, a melhor prática é criar ou usar um par de chaves existente para se conectar à instância. O par de chaves, que consiste em uma chave pública armazenada na instância e uma chave privada fornecida ao usuário, permite acesso seguro à instância por meio do Secure Shell (SSH) e evita o uso de senhas. No entanto, às vezes, os usuários podem iniciar instâncias inadvertidamente sem anexar um par de chaves. Como os pares de chaves só podem ser atribuídos durante a execução de uma instância, é importante identificar e sinalizar rapidamente como não compatíveis todas as instâncias lançadas sem pares de chaves. Isso é particularmente útil quando se trabalha em contas ou ambientes que exigem o uso de pares de chaves para acesso de instância.

Esse padrão descreve como criar uma regra personalizada no AWS Config para monitorar pares de chaves de EC2 instância. Quando as instâncias são identificadas como não compatíveis, um alerta é enviado usando as notificações do Amazon Simple Notification Service SNS (Amazon) iniciadas por meio de um evento da Amazon EventBridge .

Pré-requisitos e limitações

Pré-requisitos

  • Uma AWS conta ativa

  • AWSConfig ativado para a AWS região que você deseja monitorar e configurado para registrar todos os recursos AWS

Limitações

  • Essa solução é específica para a região. Todos os recursos devem ser criados na mesma AWS região.

Arquitetura

Pilha de tecnologias de destino

  • AWSConfig

  • Amazon EventBridge

  • AWSLambda

  • Amazon SNS

Arquitetura de destino

Diagram showing Serviços da AWS interaction: Config, Custom rule, Lambda, EventBridge, SNS, and Email notification.
  1. AWSConfig inicia a regra.

  2. A regra invoca a função Lambda para avaliar a conformidade das instâncias. EC2

  3. A função Lambda envia o estado de conformidade atualizado para o ConfigAWS.

  4. AWSConfig envia um evento para. EventBridge

  5. EventBridge publica notificações de alteração de conformidade em um SNS tópico.

  6. A Amazon SNS envia um alerta por e-mail.

Automação e escala

A solução pode monitorar qualquer número de EC2 instâncias em uma região.

Ferramentas

Ferramentas

  • AWSConfig — O AWS Config é um serviço que permite avaliar, auditar e avaliar as configurações de seus recursos. AWS AWSO Config monitora e registra continuamente suas configurações de AWS recursos e permite automatizar a avaliação das configurações gravadas em relação às configurações desejadas.

  • Amazon EventBridge — EventBridge A Amazon é um serviço de ônibus de eventos sem servidor para conectar seus aplicativos com dados de várias fontes.

  • AWSLambda — O AWS Lambda é um serviço de computação sem servidor que suporta a execução de código sem provisionar ou gerenciar servidores, criar uma lógica de escalabilidade de cluster com reconhecimento de carga de trabalho, manter integrações de eventos ou gerenciar tempos de execução.

  • Amazon SNS — O Amazon Simple Notification Service (AmazonSNS) é um serviço de mensagens totalmente gerenciado para comunicação application-to-application (A2A) e application-to-person (A2P).

Código

O código da função do Lambda segue anexo. 

Épicos

TarefaDescriçãoHabilidades necessárias
Crie uma função AWS Identity and Access Management (IAM) para o Lambda.

No AWS Management Console, escolha e IAM, em seguida, crie a função, usando o Lambda como entidade confiável e adicionando as permissões AmazonEventBridgeFullAccess e. AWSConfigRulesExecutionRole Para obter mais informações, consulte a AWSdocumentação.

DevOps
Criar e implantar as funções do Lambda.
  1. No console Lambda, crie uma função usando o Author from scratch, com o Python 3.6 como tempo de execução e a função criada anteriormente. IAM Anote o nome do recurso da Amazon (ARN).

  2. Na guia Código, escolha lambda_function.py e cole o código que está anexado a esse padrão. 

  3. Para salvar suas alterações, selecione Implementar

DevOps
TarefaDescriçãoHabilidades necessárias
Adicione uma regra de AWS Config personalizada.

No console AWS Config, adicione uma regra personalizada usando as seguintes configurações:

  • ARN— A ARN da função Lambda criada anteriormente

  • Tipo de trigger: alterações da configuração

  • Escopo das mudanças: recursos

  • Tipo de recurso — EC2 instância da Amazon

Para obter mais informações, consulte a AWSdocumentação.

DevOps
TarefaDescriçãoHabilidades necessárias
Crie o SNS tópico e a assinatura.

No SNS console da Amazon, crie um tópico usando Standard como o tipo e, em seguida, crie uma assinatura usando E-mail como protocolo.

Quando você o receber o e-mail de confirmação, escolha o link para confirmar a assinatura.

Para obter mais informações, consulte a AWSdocumentação.

DevOps
Crie uma EventBridge regra para iniciar as SNS notificações da Amazon.

No EventBridge console, crie uma regra usando as seguintes configurações:

  • Nome do serviço — AWS Config

  • Tipo de evento: alteração de conformidade das regras de configuração

  • Tipo de mensagem — Tipos de mensagem específicos, ComplianceChangeNotification

  • Nome específico da regra — O nome da sua regra AWS Config criada anteriormente

  • Alvo — SNS tópico, seu tópico criado anteriormente

Para obter mais informações, consulte a AWSdocumentação.

DevOps
TarefaDescriçãoHabilidades necessárias
Crie EC2 instâncias.

Crie duas EC2 instâncias de qualquer tipo e anexe um par de chaves e crie uma EC2 instância sem um par de chaves.

DevOps
Verificar a regra.
  1. No console AWS Config, na página Regras, selecione sua regra.

  2. Para ver EC2 instâncias compatíveis e não compatíveis, altere Recursos no escopo para Todos. Verifique se duas instâncias estão listadas como compatíveis e se uma instância está listada como não compatível. 

  3. Aguarde para receber uma notificação SNS por e-mail da Amazon sobre o estado de conformidade das EC2 instâncias. 

DevOps

Anexos

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