Criptografe automaticamente volumes novos e existentes do Amazon EBS - 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á.

Criptografe automaticamente volumes novos e existentes do Amazon EBS

Criado por Tony DeMarco (AWS) e Josh Joy (AWS)

Repositório de código: https://github.com/aws-samples/ aws-system-manager-automation - unencrypted-to-encrypted-resources /tree/main/ebs

Ambiente: produção

Tecnologias: armazenamento e backup; segurança, identidade, conformidade; gerenciamento e governança

Serviços da AWS: AWS Config; Amazon EBS; AWS KMS; AWS Organizations; AWS Systems Manager

Resumo

A criptografia de volumes do Amazon Elastic Block Store (Amazon EBS) é importante para a estratégia de proteção de dados de uma organização. É uma etapa importante no estabelecimento de um ambiente bem arquitetado. Embora não haja uma maneira direta de criptografar um volume ou um snapshot não criptografado existente, é possível criptografá-los criando um volume ou um snapshot. Para obter mais informações, consulte Criptografar recursos do EBS na documentação do Amazon EC2. Esse padrão fornece controles preventivos e de detecção para criptografar seus volumes do EBS, tanto novos quanto existentes. Nesse padrão, você define as configurações da conta, cria processos automatizados de remediação e implementa controles de acesso.

Pré-requisitos e limitações

Pré-requisitos

  • Uma conta ativa da Amazon Web Services (AWS)

  • AWS Command Line Interface (AWS CLI) instalado e configurado em macOS, Linux ou Windows

  • jq, instalado e configurado em macOS, Linux ou Windows

  • As permissões do AWS Identity and Access Management (IAM) são provisionadas para ter acesso de leitura e gravação à AWS, CloudFormation Amazon Elastic Compute Cloud (Amazon EC2), AWS Systems Manager, AWS Config e AWS Key Management Service (AWS KMS)

  • O AWS Organizations está configurado com todos os atributos habilitados, um requisito para políticas de controle de serviços

  • O AWS Config está habilitado nas contas de destino

Limitações

  • Não deve haver regras do AWS Config denominadas encrypted-volumes em sua conta de destino da AWS. Essa solução implanta uma regra com esse nome. Regras preexistentes com esse nome podem causar falhas na implantação e resultar em cobranças desnecessárias relacionadas ao processamento da mesma regra mais de uma vez.

  • Essa solução criptografa todos os volumes do EBS com a mesma chave do AWS KMS.

  • Se você habilitar a criptografia de volumes do EBS para a conta, essa configuração será específica da região. Se você habilitá-lo para uma região da AWS, não poderá desabilitá-lo para volumes ou snapshots individuais nessa região. Para obter mais informações, consulte Criptografia por padrão na documentação do Amazon EC2.

  • Ao corrigir volumes do EBS existentes e não criptografados, certifique-se de que a instância do EC2 não esteja em uso. Essa automação desativa a instância para separar o volume não criptografado e anexar o volume criptografado. Um tempo de inatividade ocorre enquanto a remediação está em andamento. Se essa for uma parte essencial da infraestrutura da sua organização, certifique-se de que as configurações manuais ou automáticas de alta disponibilidade estejam em vigor para não afetar a disponibilidade de nenhum aplicativo em execução na instância. Recomendamos que você corrija os recursos essenciais somente durante as janelas de manutenção padrão.

Arquitetura

Fluxo de trabalho de automação

Diagrama de arquitetura de alto nível mostrando o processo e os serviços de automação
  1. O AWS Config detecta um volume não criptografado do EBS.

  2. Um administrador usa o AWS Config para enviar um comando de remediação ao Systems Manager.

  3. A automação do Systems Manager cria um snapshot (instantâneo) do volume EBS não criptografado.

  4. A automação do Systems Manager usa o AWS KMS para criar uma cópia criptografada do snapshot.

  5. A automação do Systems Manager faz o seguinte:

    1. Interrompe a instância do EC2 afetada se ela estiver em execução

    2. Anexa a nova cópia criptografada do volume à instância do EC2

    3. Retorna a instância do EC2 ao seu estado original

Ferramentas

Serviços da AWS

  • AWS CLI: a AWS Command Line Interface (AWS CLI) fornece acesso direto às interfaces públicas de programação de aplicações (APIS) dos serviços da AWS. Você pode explorar os recursos de um serviço com a AWS CLI e desenvolver scripts de shell para gerenciar seus recursos. Além dos comandos equivalentes à API de baixo nível, vários serviços da AWS fornecem personalizações para a AWS CLI. As personalizações podem incluir comandos de nível mais elevado que simplificam o uso de um serviço com uma API complexa.

  • AWS CloudFormation — CloudFormation A AWS é um serviço que ajuda você a modelar e configurar seus recursos da AWS. Você cria um modelo que descreve todos os recursos da AWS que você deseja (como instâncias do Amazon EC2) e CloudFormation provisiona e configura esses recursos para você.

  • AWS Config: o AWS Config oferece uma exibição detalhada da configuração dos recursos da AWS em sua conta da AWS. Isso inclui como os recursos estão relacionados um com o outro e como eles foram configurados no passado, de modo que você possa ver como os relacionamentos e as configurações foram alterados ao longo do tempo.

  • Amazon EC2: o Amazon Elastic Compute Cloud (Amazon EC2) é um serviço web que fornece capacidade de computação redimensionável que você usa para criar e host seus sistemas de software.

  • AWS KMS: o AWS Key Management Service (AWS KMS) é um serviço de criptografia e gerenciamento de chave com escalabilidade para a nuvem. As chaves e funcionalidades do AWS KMS são usadas por outros serviços da AWS e você pode usá-las para proteger dados em seu ambiente da AWS.

  • AWS Organizations: o AWS Organizations é um serviço de gerenciamento de contas que permite consolidar várias contas da AWS em uma organização que você cria e gerencia centralmente.

  • AWS Systems Manager Automation: o Systems Manager Automation simplifica tarefas comuns de manutenção e implantação para instâncias do Amazon EC2 e outros recursos da AWS.

Outros serviços

  • jq: o jq é um processador JSON de linha de comando leve e flexível. Você usa essa ferramenta para extrair informações importantes da saída da AWS CLI.

Código

Épicos

TarefaDescriçãoHabilidades necessárias

Baixe scripts e CloudFormation modelos.

Baixe o script de shell, o arquivo JSON e os CloudFormation modelos do repositório de chaves KMS do cliente para corrigir GitHub automaticamente volumes do EBS não criptografados.

Administrador AWS, Geral AWS

Identifique o administrador da chave do AWS KMS.

  1. Faça login no Console de Gerenciamento da AWS e abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. Identifique um usuário ou um perfil para ser o administrador da chave do AWS KMS. Se um novo usuário ou perfil precisar ser criado para essa finalidade, crie-o agora. Para obter mais informações, consulte Identidades do IAM na documentação do IAM. Essa automação cria uma nova chave do AWS KMS.

  3. Uma vez identificado, copie o nome do recurso da Amazon (ARN) do usuário ou do perfil. Para obter mais informações, consulte ARNs do IAM na documentação do IAM. Você usa esse ARN na próxima etapa.

Administrador AWS, Geral AWS

Implante o modelo Stack1 CloudFormation .

  1. Abra o CloudFormation console da AWS em https://console.aws.amazon.com/cloudformation/.

  2. Em CloudFormation, implante o Stack1.yaml modelo. Observe os seguintes detalhes de implantação:

    • Dê à pilha um nome claro e descritivo. Anote o nome da pilha, porque você precisará desse valor na próxima etapa.

    • Cole o ARN do administrador da chave no único campo de parâmetro no Stack1. Esse usuário ou perfil se torna o administrador da chave do AWS KMS criada pela pilha.

Para obter mais informações sobre a implantação de um CloudFormation modelo, consulte Como trabalhar com CloudFormation modelos da AWS na CloudFormation documentação.

Administrador AWS, Geral AWS

Implante o modelo Stack2 CloudFormation .

Em CloudFormation, implante o Stack2.yaml modelo. Observe os seguintes detalhes de implantação:

  • Dê à pilha um nome claro e descritivo.

  • No único parâmetro do Stack2, insira o nome da pilha que você criou na etapa anterior. Isso permite que o Stack2 faça referência ao novo perfil e chave do AWS KMS implantados pela pilha na etapa anterior.

Administrador AWS, Geral AWS

Crie um volume não criptografado para testes.

Crie uma instância do EC2 com um volume não criptografado do EBS. Para obter instruções, consulte Criar um volume do Amazon EBS na documentação do Amazon EC2. O tipo de instância não importa e o acesso à instância não é necessário. Você pode criar uma instância t2.micro para permanecer no nível gratuito e não precisa criar um par de chaves.

Administrador AWS, Geral AWS

Teste a regra do AWS Config.

  1. Abra o console do AWS Config em https://console.aws.amazon.com/config/. Na página Regras, selecione a regra encrypted-volumes (volumes criptografados).

  2. Confirme se sua nova instância de teste não criptografada aparece na lista de recursos não compatíveis. Se o volume não aparecer imediatamente, aguarde mais alguns minutos e atualize os resultados. A regra do AWS Config detecta as alterações nos recursos logo após a criação da instância e do volume.

  3. Selecione o recurso e, em seguida, selecione Remediar.

Você pode visualizar o progresso e o status da remediação no Systems Manager da seguinte forma:

  1. Abra o console do AWS Systems Manager em https://console.aws.amazon.com/systems-manager/.

  2. No painel de navegação à esquerda, escolha Automation.

  3. Selecione o link ID de execução para ver as etapas e o status. 

Administrador AWS, Geral AWS

Configure contas adicionais ou regiões da AWS.

Conforme necessário para seu caso de uso, repita esse épico para qualquer conta adicional ou região da AWS.

Administrador AWS, Geral AWS
TarefaDescriçãoHabilidades necessárias

Execute o script de habilitação.

  1. Em um shell bash, use o comando cd para navegar até o repositório clonado.

  2. Insira o comando a seguir para executar o script enable-ebs-encryption-for-account.

    ./Bash/enable-ebs-encryption-for-account.sh
Administrador AWS, Geral AWS, bash

Confirme se as configurações estão atualizadas.

  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No lado direito da tela, em Configurações, escolha Proteção e segurança de dados.

  3. Na seção Criptografia do EBS, confirme se a opção Sempre criptografar novos volumes do EBS está ativada e se a chave de criptografia padrão está definida como o ARN que você especificou anteriormente.

    Nota: Se a configuração Sempre criptografar novos volumes do EBS estiver desativada ou a chave ainda estiver definida como alias/aws/ebs, confirme se você está conectado à mesma conta e região da AWS em que executou o script de shell e verifique se há mensagens de erro no shell.

Administrador AWS, Geral AWS

Configure contas adicionais ou regiões da AWS.

Conforme necessário para seu caso de uso, repita esse épico para qualquer conta adicional ou região da AWS.

Administrador AWS, Geral AWS
TarefaDescriçãoHabilidades necessárias

Crie uma política de controle de serviço.

  1. Abra o console do AWS Organizations em https://console.aws.amazon.com/organizations/v2/.

  2. Crie uma nova política de controle de serviço. Para obter mais informações, consulte Criar uma política de controle de serviço na documentação do AWS Organizations.

  3. Adicione o conteúdo de DenyUnencryptedEC2.json à política e salve-o. Você baixou esse arquivo JSON do GitHub repositório no primeiro épico.

  4. Anexe essa política à raiz da organização ou a qualquer unidade organizacional (UO) necessária. Para obter mais informações, consulte Anexar e desanexar políticas de controle de serviço na documentação do AWS Organizations.

Administrador AWS, Geral AWS

Recursos relacionados

Documentação do serviço AWS

Outros recursos