Detecção de instâncias de banco de dados do Amazon RDS e do Aurora com certificados CA prestes a expirar - 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á.

Detecção de instâncias de banco de dados do Amazon RDS e do Aurora com certificados CA prestes a expirar

Stephen DiCato e Eugene Shifer, Amazon Web Services

Resumo

Como prática recomendada de segurança, é aconselhável criptografar os dados em trânsito entre os servidores de aplicação e os bancos de dados relacionais. Você pode usar SSL ou TLS para criptografar a conexão com uma instância ou com um cluster de banco de dados. Esses protocolos auxiliam na manutenção da confidencialidade, integridade e autenticidade entre uma aplicação e um banco de dados. O banco de dados usa um certificado de servidor, emitido por uma autoridade de certificação (CA) e é empregado para realizar a verificação da identidade do servidor. O SSL ou o TLS verifica a autenticidade do certificado validando a assinatura digital e garantindo que ele ainda seja válido.

No Console de gerenciamento da AWS, o Amazon Relational Database Service (Amazon RDS) e o 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 RDS e 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

  • Para implantação em uma única 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 CSPM 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.

    • Habilite o CSPM do Security Hub com integração AWS Organizations .

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

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

Limitações

  • Se você estiver implantando em uma conta individual que não tem o CSPM do 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 nem um CSPM do Security Hub, você deve fazer login nas contas individuais dos membros para ver as descobertas. AWS Config

  • 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 verificar a disponibilidade de uma região, consulte Cotas e endpoints de serviços e clique no link correspondente ao serviço desejado.

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 CSPM do Security Hub estiver ativado, você poderá visualizar os resultados no CSPM do Security Hub AWS Config ou no Security Hub. Se o CSPM do Security Hub não estiver habilitado, 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 CSPM recebe todas as AWS Config descobertas.

  4. Você pode ver as descobertas no Security Hub CSPM 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 CSPM do 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 organização da AWS.

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 permissões do IAM 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 CSPM.

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

  7. Você pode ver as descobertas no CSPM do 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 Hub CSPMfornece 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 Detectar instâncias do Amazon RDS com certificados CA expirados.

Práticas recomendadas

Recomendamos que você siga as práticas recomendadas indicadas nos seguintes recursos:

Épicos

TarefaDescriptionHabilidades necessárias

Determine a 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 da aplicação e usuário geral da AWS

Clonar o repositório.

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

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. Acesse o diretório principal do repositório clonado.

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

  3. No recurso CertExpirationCheckLambdaFunction, confirme se a versão do Python é compatível com suas Regiões da AWS de destino. Por padrão, esta 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
TarefaDescriptionHabilidades necessárias

Implante o CloudFormation modelo.

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

Desenvolvedor de aplicações, administrador da AWS e usuário geral da AWS

Verificar a implantação.

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

Administrador da AWS, proprietário do aplicativo
TarefaDescriptionHabilidades necessárias

Veja as conclusões da AWS Config regra.

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

  1. Abra o console CSPM do Security Hub.

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

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

    • Status de conformidade deve ser FAILED

    • Título deve ser rds-has-expiring-ca

  4. Escolha Aplicar.

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

  1. Abra o console CSPM 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. Escolha Aplicar.

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

    • Título deve ser rds-has-expiring-ca

    • Status de conformidade deve ser FAILED

  6. Escolha Criar insight.

  7. Insira um Nome do insight e 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.

Administrador da AWS, administrador de sistemas da AWS, administrador da 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 Delete a stack set na documentação do CfCT.

Recursos relacionados