Detecte instâncias de banco de dados Amazon RDS e Aurora que têm certificados CA expirados - 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á.

Detecte instâncias de banco de dados Amazon RDS e Aurora que têm certificados CA expirados

Criado por Stephen DiCato (AWS) e Eugene Shifer () AWS

Repositório de códigos: detecte RDS instâncias da Amazon com certificados CA expirados

Ambiente: produção

Tecnologias: Segurança, identidade, conformidade CloudNative; Infraestrutura

AWSserviços: Amazon Aurora; AWS Config; Amazon; Security Hub RDS AWS

Resumo

Como prática recomendada de segurança, é recomendável criptografar dados em trânsito entre servidores de aplicativos e bancos de dados relacionais. Você pode usar SSL ou TLS criptografar uma conexão com uma instância ou cluster de banco de dados (DB). Esses protocolos ajudam a fornecer confidencialidade, integridade e autenticidade entre um aplicativo e um banco de dados. O banco de dados usa um certificado de servidor, que é emitido por uma autoridade de certificação (CA) e é usado para realizar a verificação da identidade do servidor. SSLou TLS verifica a autenticidade do certificado validando sua assinatura digital e garantindo que ela não tenha expirado.

No AWS Management Console, o Amazon Relational Database Service (Amazon) e o RDS Amazon Aurora fornecem notificações sobre instâncias de banco de dados que exigem atualizações de certificados. No entanto, para verificar essas notificações, você deve fazer login em cada uma delas Conta da AWS e navegar até o console de serviço em cada uma Região da AWS. Essa tarefa se torna mais complexa se você precisar avaliar a validade do certificado em muitos Contas da AWS que são gerenciados como uma organização em AWS Organizations.

Ao provisionar a infraestrutura como código (IaC) fornecida nesse padrão, você pode detectar certificados de CA expirados para todas as instâncias de banco de dados Amazon e RDS Aurora em sua organização. Conta da AWS AWS O AWS CloudFormationmodelo fornece uma AWS Config regra, uma AWS Lambda função e as permissões necessárias. Você pode implantá-lo em uma única conta como uma pilha ou implantá-lo em toda a AWS organização como um conjunto de pilhas.

Pré-requisitos e limitações

Pré-requisitos

  • Um ativo Conta da AWS

  • Se você estiver implantando em um único Conta da AWS:

    • Certifique-se de ter permissões para criar CloudFormation pilhas.

    • Ative AWS Config na conta de destino.

    • (Opcional) Ative AWS Security Hub na conta de destino.

  • Se você estiver implantando em uma AWS organização:

    • Certifique-se de ter permissões para criar conjuntos de CloudFormation pilhas.

    • Ative o Security Hub com AWS Organizations integração.

    • Ative AWS Config nas contas em que você está implantando essa solução.

    • Designe um Conta da AWS para ser o administrador delegado do Security Hub AWS Config e do Security Hub.

Limitações

  • Se você estiver implantando em uma conta individual que não tem o Security Hub ativado, você pode usar AWS Config para avaliar as descobertas.

  • Se você estiver implantando em uma organização que não tem um administrador delegado para AWS Config o Security Hub, você deve fazer login nas contas individuais dos membros para ver as descobertas.

  • Se você usa AWS Control Tower para gerenciar e governar as contas em sua organização, implante o IaC nesse padrão usando Personalizações para AWS Control Tower (cFct). O uso do CloudFormation console criará um desvio de configuração a partir das AWS Control Tower grades de proteção e exigirá que você inscreva novamente as unidades organizacionais () OUs ou as contas gerenciadas.

  • Alguns Serviços da AWS não estão disponíveis em todos Regiões da AWS. Para ver a disponibilidade da região, consulte a página de endpoints e cotas do serviço e escolha o link para o serviço.

Arquitetura

Implantação em um indivíduo Conta da AWS

O diagrama de arquitetura a seguir mostra a implantação dos AWS recursos em um único Conta da AWS. Ele é implementado usando um CloudFormation modelo diretamente no CloudFormation console. Se o Security Hub estiver ativado, você poderá visualizar os resultados em um AWS Config ou no Security Hub. Se o Security Hub não estiver ativado, você poderá visualizar os resultados somente no AWS Config console.

Implantação do CloudFormation modelo fornecido em uma única conta.

O diagrama mostra as seguintes etapas:

  1. Você cria uma CloudFormation pilha. Isso implanta uma função Lambda e AWS Config uma regra. Tanto a regra quanto a função são configuradas com as permissões AWS Identity and Access Management (IAM) necessárias para publicar avaliações de recursos AWS Config e registros.

  2. A AWS Config regra opera no modo de avaliação de detetive e é executada a cada 24 horas.

  3. O Security Hub recebe todas as AWS Config descobertas.

  4. Você pode ver as descobertas no Security Hub ou no AWS Config, dependendo da configuração da conta.

Implantação em uma organização AWS

O diagrama a seguir mostra a avaliação da expiração do certificado em várias contas gerenciadas por meio de AWS Organizations AWS Control Tower e. Você implanta o CloudFormation modelo por meio do cFct. Os resultados da avaliação são centralizados no Security Hub na conta do administrador delegado. O AWS CodePipeline fluxo de trabalho descrito no diagrama mostra as etapas em segundo plano que ocorrem durante a implantação do cFCT.

Implantação do CloudFormation modelo fornecido em várias contas em uma AWS organização.

O diagrama mostra as seguintes etapas:

  1. Dependendo da configuração do cFCT, na conta de gerenciamento, você envia o IaC para um AWS CodeCommit repositório ou carrega um arquivo compactado (ZIP) do IaC em um bucket do Amazon Simple Storage Service (Amazon S3).

  2. O pipeline cFct descompacta o arquivo, executa as verificações cfn-nag (GitHub) e o implanta como um conjunto de pilhas. CloudFormation

  3. Dependendo da configuração especificada no arquivo de manifesto cFct, CloudFormation StackSets implanta pilhas em contas individuais ou especificadas. OUs Isso implanta uma função Lambda e AWS Config uma regra nas contas de destino. Tanto a regra quanto a função são configuradas com as IAM permissões necessárias para publicar avaliações de recursos AWS Config e registros.

  4. A AWS Config regra opera no modo de avaliação de detetive e é executada a cada 24 horas.

  5. AWS Config encaminha todas as descobertas para o Security Hub.

  6. As descobertas do Security Hub são agregadas na conta do administrador delegado.

  7. Você pode ver as descobertas no Security Hub na conta de administrador delegado.

Ferramentas

Serviços da AWS

  • AWS CloudFormationajuda você a configurar AWS recursos, provisioná-los de forma rápida e consistente e gerenciá-los em todo o ciclo de vida em todas Contas da AWS as regiões.

  • AWS Configfornece uma visão detalhada dos recursos em seu computador Conta da AWS e de como eles estão configurados. Ajuda a identificar como os recursos estão relacionados entre si e como suas configurações foram alteradas ao longo do tempo. Uma AWS Config regra define suas configurações ideais para um recurso e AWS Config pode avaliar se seus AWS recursos estão em conformidade com as condições em suas regras.

  • AWS Control Towerajuda você a configurar e administrar um ambiente AWS com várias contas, seguindo as melhores práticas prescritivas. O Customizations for AWS Control Tower (cFct) ajuda você a personalizar sua AWS Control Tower landing zone e a se manter alinhado com as melhores práticas. AWS As personalizações são implementadas com CloudFormation modelos e políticas de controle de serviços ()SCPs.

  • O AWS Lambda é um serviço de computação que ajuda a executar código sem exigir provisionamento ou gerenciamento de servidores. Ele executa o código somente quando necessário e dimensiona automaticamente, assim, você paga apenas pelo tempo de computação usado.

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

  • AWS Security Hubfornece uma visão abrangente do seu estado de segurança em AWS. Também ajuda você a verificar seu AWS ambiente de acordo com os padrões e as melhores práticas do setor de segurança.

Outras ferramentas

  • Python é uma linguagem de programação de computador de uso geral.

Repositório de código

O código desse padrão está disponível no repositório GitHub Detect Amazon RDS instances with CA certificates expirando.

Práticas recomendadas

Recomendamos que você siga as melhores práticas dos seguintes recursos:

Épicos

TarefaDescriçãoHabilidades necessárias

Determine sua estratégia de implantação.

Analise a solução e o código para determinar como você os implantará em seu AWS ambiente. Determine se você fará a implantação em uma única conta ou AWS organização.

Proprietário do aplicativo, geral AWS

Clonar o repositório.

Digite o comando a seguir para clonar o repositório Detect Amazon RDS instances with CA certificates expirando.

git clone https://github.com/aws-samples/config-rds-ca-expiry.git
Desenvolvedor do aplicativo, proprietário do aplicativo

Valide a versão do Python.

  1. Navegue até o diretório de nível superior no repositório clonado.

    cd config-rds-ca-expiry
  2. Abra config-rds-ca-expiry.yaml.

  3. No CertExpirationCheckLambdaFunction recurso, confirme se a versão do Python é compatível com seu destino. Regiões da AWS Por padrão, essa função usa o Python 3.12. Para obter mais informações, consulte AWS Lambda adiciona suporte ao Python 3.12. Se necessário, atualize a versão do Python.

  4. Salve e feche config-rds-ca-expiry.yaml.

Desenvolvedor do aplicativo, proprietário do aplicativo
TarefaDescriçãoHabilidades necessárias

Implante o CloudFormation modelo.

Implante o CloudFormation modelo em seu AWS ambiente. Execute um destes procedimentos:

Desenvolvedor de aplicativos, AWS administrador, geral AWS

Verificar a implantação.

No CloudFormation console, verifique se a pilha ou o conjunto de pilhas foi implantado com êxito.

AWSadministrador, proprietário do aplicativo
TarefaDescriçãoHabilidades necessárias

Veja as conclusões da AWS Config regra.

No Security Hub, faça o seguinte para ver uma lista de descobertas individuais:

  1. Abra o console do Security Hub.

  2. No painel de navegação, selecione Descobertas.

  3. Na caixa Adicionar filtros, adicione os seguintes filtros:

    • O status de conformidade é FAILED

    • O título é rds-has-expiring-ca

  4. Selecione Apply (Aplicar).

No Security Hub, faça o seguinte para ver uma lista do total de descobertas agrupadas por Conta da AWS:

  1. Abra o console do Security Hub.

  2. No painel de navegação, escolha Insights.

  3. Escolha Criar insight.

  4. Para selecionar o atributo de agrupamento do insight:

    1. Escolha a caixa de pesquisa para exibir as opções de filtro.

    2. Escolha Agrupar por.

    3. Selecione AwsAccountId.

    4. Selecione Apply (Aplicar).

  5. Na caixa Adicionar filtros, adicione os seguintes filtros:

    • O título é rds-has-expiring-ca

    • O status de conformidade é FAILED

  6. Escolha Criar insight.

  7. Insira um nome do Insight e, em seguida, escolha Criar insight.

Em AWS Config, para ver uma lista de descobertas, siga as instruções em Exibindo informações de conformidade e resultados da avaliação na AWS Config documentação.

AWSadministrador, administrador AWS de sistemas, administrador de nuvem

Solução de problemas

ProblemaSolução

CloudFormation falha na criação ou exclusão do conjunto de pilhas

Quando AWS Control Tower implantado, ele impõe as proteções necessárias e assume o controle sobre agregadores e regras. AWS Config Isso inclui evitar quaisquer alterações diretas. CloudFormation Para implantar ou remover adequadamente esse CloudFormation modelo, incluindo todos os recursos associados, você deve usar o cFct.

O cFct falha ao excluir o modelo CloudFormation

Se o CloudFormation modelo persistir mesmo depois de fazer as alterações necessárias no arquivo de manifesto e remover os arquivos de modelo, confirme se o arquivo de manifesto contém o enable_stack_set_deletion parâmetro e se o valor está definido como. false Para obter mais informações, consulte Excluir um conjunto de pilhas na documentação do cFct.

Recursos relacionados