SEC09-BP01 Implementar o gerenciamento seguro de chaves e certificados
Os certificados Transport Layer Security (TLS) são usados para proteger as comunicações de rede e estabelecer a identidade de sites, recursos e workloads na Internet, bem como em redes privadas.
Resultado desejado: um sistema seguro de gerenciamento de certificados que pode provisionar, implantar, armazenar e renovar certificados em uma infraestrutura de chave pública (PKI). Um mecanismo seguro de gerenciamento de chaves e certificados evita que o material da chave privada do certificado seja divulgado e renova automaticamente o certificado periodicamente. Ele também se integra a outros serviços para fornecer comunicações de rede seguras e identidade para os recursos da máquina na workload. O material da chave nunca deve estar acessível para identidades humanas.
Práticas comuns que devem ser evitadas:
-
Executar etapas manuais durante os processos de implantação ou renovação de certificados.
-
Não prestar a devida atenção à hierarquia da autoridade de certificação (CA) ao criar uma CA privada.
-
Usar certificados autoassinados para recursos públicos.
Benefícios de implementar esta prática recomendada:
-
Simplificar o gerenciamento de certificados por meio de implantação e renovação automatizadas.
-
Incentivar a criptografia de dados em trânsito usando certificados TLS.
-
Aumentar a segurança e a auditabilidade das ações de certificação realizadas pela autoridade de certificação.
-
Organizar as tarefas de gerenciamento em diferentes camadas da hierarquia da CA.
Nível de risco exposto se esta prática recomendada não for estabelecida: Alto
Orientação para implementação
As workloads modernas fazem uso extensivo de comunicações de rede criptografadas usando protocolos de PKI, como TLS. O gerenciamento de certificados PKI pode ser complexo, mas o provisionamento, a implantação e a renovação automatizados de certificados podem reduzir o atrito associado ao gerenciamento deles.
A AWS oferece dois serviços para gerenciar certificados de PKI de uso geral: AWS Certificate Manager e AWS Private Certificate Authority (AWS Private CA). O ACM é o principal serviço usado pelos clientes para provisionar, gerenciar e implantar certificados para uso em workloads públicas e privadas da AWS. O ACM emite certificados privados usando o AWS Private CA e se integra a muitos outros serviços gerenciados pela AWS para fornecer certificados TLS seguros para workloads. O ACM também pode emitir certificados publicamente confiáveis do Amazon Trust Services
A AWS Private CA permite estabelecer a própria autoridade de certificação raiz ou subordinada e emitir certificados TLS por meio de uma API. É possível usar esses tipos de certificado em cenários em que você controla e gerencia a cadeia de confiança do lado do cliente da conexão TLS. Além dos casos de uso do TLS, a AWS Private CA pode ser usada para emitir certificados para pods do Kubernetes, atestados de produtos de dispositivos Matter, assinatura de código e outros casos de uso com um modelo personalizado. Também é possível usar o IAM Roles Anywhere para fornecer credenciais do IAM temporárias para workloads on-premises que receberam certificados X.509 assinados pela CA privada.
Além do ACM e AWS Private CA, o AWS IoT Core fornece suporte especializado para provisionamento, gerenciamento e implantação de certificados PKI em dispositivos de IoT. O AWS IoT Core fornece mecanismos especializados para integrar dispositivos de IoT em sua infraestrutura de chave pública em escala.
Alguns serviços da AWS, como o Amazon API Gateway e o Elastic Load Balancing, oferecem recursos próprios para usar certificados para proteger conexões de aplicações. Por exemplo, tanto o API Gateway quanto o Application Load Balancer (ALB) oferecem suporte a TLS mútuo (mTLS) usando certificados de cliente que você cria e exporta usando o AWS Management Console, a CLI ou as APIs.
Considerações para estabelecer uma hierarquia de CA privada
Quando é necessário estabelecer uma CA privada, é importante tomar cuidado especial para projetar adequadamente a hierarquia da CA com antecedência. É prática recomendada implantar cada nível de sua hierarquia de CA em Contas da AWS separadas ao criar uma hierarquia de CA privada. Essa etapa intencional reduz a área de superfície de cada nível na hierarquia da CA, simplificando a descoberta de anomalias nos dados de log do CloudTrail e reduzindo o escopo de acesso ou impacto se houver acesso não autorizado a uma das contas. A CA raiz deve residir em uma própria conta separada e deve ser usada somente para emitir um ou mais certificados de CA intermediários.
Depois, crie uma ou mais CAs intermediárias em contas separadas da conta da CA raiz para emitir certificados para usuários finais, dispositivos ou outras workloads. Por fim, emita certificados da CA raiz para as CAs intermediárias, que, por sua vez, emitirão certificados para os usuários finais ou dispositivos. Para obter mais informações sobre como planejar a implantação de CA e projetar a hierarquia de CA, incluindo planejamento de resiliência, replicação entre regiões, compartilhamento de CAs na organização e muito mais, consulte Planejar sua implantação da AWS Private CA.
Etapas de implementação
-
Determine os serviços da AWS relevantes e necessários para seu caso de uso:
-
Muitos casos de uso podem aproveitar a infraestrutura de chave pública da AWS existente usando o AWS Certificate Manager. O ACM pode ser usado para implantar certificados TLS para servidores Web, balanceadores de carga ou outros usos para certificados publicamente confiáveis.
-
Considere o AWS Private CA quando precisar estabelecer a própria hierarquia de autoridade de certificação privada ou precisar acessar certificados exportáveis. O ACM pode então ser usado para emitir vários tipos de certificados de entidade final utilizando a AWS Private CA.
-
Para casos de uso em que os certificados devem ser provisionados em grande escala para dispositivos incorporados de Internet das Coisas (IoT), considere usar o AWS IoT Core.
-
Considere usar a funcionalidade nativa do mTLS em serviços como Amazon API Gateway ou Application Load Balancer.
-
-
Implemente a renovação automática do certificado sempre que possível:
-
Use a renovação gerenciada pelo ACM para certificados emitidos pelo ACM junto com serviços gerenciados da AWS integrados.
-
-
Estabeleça trilhas de auditoria e registro em log:
-
Habilite os Logs do CloudTrail para monitorar o acesso às contas que detêm autoridades de certificação. Considere configurar a validação da integridade do arquivo de log no CloudTrail para verificar a autenticidade dos dados de log.
-
Gere e revise periodicamente relatórios de auditoria que listam os certificados que sua CA privada emitiu e revogou. Esses relatórios podem ser exportados para um bucket do S3.
-
Ao implantar uma CA privada, você também precisará estabelecer um bucket do S3 para armazenar a lista de revogação de certificados (CRL). Para obter orientação sobre como configurar esse bucket do S3 com base nos requisitos da workload, consulte Planejar uma lista de revogação de certificados (CRL).
-
Recursos
Práticas recomendadas relacionadas:
Documentos relacionados:
Vídeos relacionados:
Exemplos relacionados:
-
Workshop de gerenciamento de dispositivos IoT
(incluindo provisionamento de dispositivos)
Ferramentas relacionadas: