SEC08-BP01 Implementar o gerenciamento seguro de chaves
O gerenciamento seguro de chaves inclui o armazenamento, a rotação, o controle de acesso e o monitoramento do material essencial necessário para proteger os dados em repouso para sua workload.
Resultado desejado: um mecanismo de gerenciamento de chaves escalável, repetível e automatizado. O mecanismo impõe o acesso de privilégio mínimo ao material de chave e fornece o equilíbrio correto entre disponibilidade, confidencialidade e integridade das chaves. Você monitora o acesso às chaves e, se a rotação do material de chave for necessária, você as alterna usando um processo automatizado. Você não permite que o material de chave seja acessado por operadores humanos.
Práticas comuns que devem ser evitadas:
-
Acesso humano a material de chave não criptografado.
-
Criação de algoritmos criptográficos personalizados.
-
Permissões excessivamente amplas para acessar materiais importantes.
Benefícios de implementar esta prática recomendada: ao estabelecer um mecanismo seguro de gerenciamento de chaves para sua workload, você pode ajudar a proteger seu conteúdo contra acesso não autorizado. Além disso, você pode estar sujeito a requisitos regulatórios para criptografar seus dados. Uma solução eficaz de gerenciamento de chaves pode fornecer mecanismos técnicos alinhados a essas regulamentações para proteger o material das chaves.
Nível de risco exposto se esta prática recomendada não for estabelecida: Alto
Orientação para implementação
A criptografia de dados em repouso é um controle de segurança fundamental. Para implementar esse controle, a workload precisa de um mecanismo para armazenar e gerenciar com segurança o material de chave usado para criptografar os dados em repouso.
A AWS oferece o AWS Key Management Service (AWS KMS) para fornecer armazenamento durável, seguro e redundante para chaves do AWS KMS. Muitos serviços da AWS se integram ao AWS KMS
Ao implantar workloads usando uma estratégia de várias contas, mantenha as chaves do AWS KMS na mesma conta da workload que as utiliza. Esse modelo distribuído deixa a responsabilidade pelo gerenciamento das chaves do AWS KMS com sua equipe. Em outros casos de uso, a organização pode optar por armazenar as chaves do AWS KMS em uma conta centralizada. Essa estrutura centralizada requer políticas adicionais para permitir o acesso entre contas necessário para que a conta da workload acesse as chaves armazenadas na conta centralizada, mas pode ser mais aplicável em casos de uso em que uma única chave é compartilhada entre várias Contas da AWS.
Independentemente de onde o material de chave esteja armazenado, você deve controlar rigorosamente o acesso à chave por meio de políticas de chave e políticas do IAM. Políticas de chave são a principal forma de controlar o acesso a uma chave do AWS KMS. Além disso, concessões à chave do AWS KMS podem fornecer acesso a serviços da AWS para criptografar e descriptografar dados em seu nome. Revise as orientações para controle de acesso às chaves do AWS KMS.
Monitore o uso de chaves de criptografia para detectar padrões de acesso incomuns. As operações realizadas usando chaves gerenciadas pela AWS e chaves gerenciadas pelo cliente armazenadas no AWS KMS podem ser registradas no AWS CloudTrail e devem ser revisadas periodicamente. Atenção especial ao monitoramento dos eventos de destruição de chaves. Para mitigar a destruição acidental ou maliciosa de material de chave, os eventos de destruição da chave não excluem o material da chave imediatamente. Tentativas de excluir chaves no AWS KMS estão sujeitas a um período de espera cujo padrão é 30 dias, com um mínimo de 7 dias, o que dá aos administradores tempo para revisar essas ações e reverter a solicitação, se necessário.
A maioria dos serviços da AWS usam o AWS KMS de forma transparente para você. Seu único requisito é decidir se quer usar uma chave gerenciada pela AWS ou gerenciada pelo cliente. Se a workload exigir o uso direto do AWS KMS para criptografar ou descriptografar dados, use a criptografia envelopada para proteger os dados. O SDK de criptografia da AWS pode fornecer primitivas de criptografia do lado do cliente às suas aplicações para implementar a criptografia envelopada e integrar com o AWS KMS.
Etapas de implementação
-
Determine as opções apropriadas de gerenciamento de chaves (gerenciadas pela AWS ou gerenciadas pelo cliente) para a chave.
-
Para facilitar o uso, a AWS oferece, para a maioria dos serviços, chaves pertencentes à AWS e gerenciadas pela AWS que fornecem capacidade de criptografia em repouso sem a necessidade de gerenciar materiais ou políticas de chaves.
-
Ao usar chaves gerenciadas pelo cliente, considere o armazenamento de chaves padrão para fornecer o melhor equilíbrio entre agilidade, segurança, soberania de dados e disponibilidade. Outros casos de uso podem exigir o uso de armazenamentos de chaves personalizadas com o AWS CloudHSM
ou o repositório de chaves externo.
-
-
Analise a lista de serviços que você está usando para sua workload para entender como o AWS KMS se integra ao serviço. Por exemplo, as instâncias do EC2 podem usar volumes criptografados do EBS, verificando se os snapshots do Amazon EBS criados com base nesses volumes também são criptografados usando uma chave gerenciada pelo cliente e mitigando a divulgação acidental de dados de snapshots não criptografados.
-
Para obter informações detalhadas sobre as opções de criptografia oferecidas por um serviço da AWS, consulte o tópico Criptografia em repouso no manual do usuário ou no Guia do desenvolvedor do serviço.
-
Implemente o AWS KMS: o AWS KMS simplifica a criação e o gerenciamento de chaves e o controle do uso da criptografia em uma ampla variedade de serviços da AWS e em suas aplicações.
-
Reserve tempo para analisar as práticas recomendadas para controle de acesso às suas chaves do AWS KMS.
-
Considere o SDK de criptografia da AWS: use a integração do SDK de criptografia da AWS com o AWS KMS quando sua aplicação precisar criptografar dados do lado do cliente.
-
Habilite o IAM Access Analyzer para revisar e notificar automaticamente se houver políticas de chaves do AWS KMS excessivamente amplas.
-
Considere usar verificações de políticas personalizadas para verificar se uma atualização da política de recursos não concede acesso público às chaves KMS.
-
-
Habilite o Security Hub para receber notificações se houver políticas de chaves configuradas incorretamente, chaves agendadas para exclusão ou chaves sem a rotação automática ativada.
-
Determine o nível de registro em log apropriado para suas chaves do AWS KMS. Como as chamadas para o AWS KMS, incluindo eventos somente para leitura, são registradas em log, os logs do CloudTrail associados ao AWS KMS podem se tornar volumosos.
-
Algumas organizações preferem registrar a atividade de log do AWS KMS em uma trilha separada. Para obter mais detalhes, consulte a seção Registrar em log as chamadas de API do AWS KMS com o CloudTrail do Guia do desenvolvedor do AWS KMS.
-
Recursos
Documentos relacionados:
Vídeos relacionados:
Exemplos relacionados: