Segurança AWS: Domine o Secrets Manager em 2024!

O AWS Secrets Manager oferece uma maneira segura de guardar todas as suas credenciais, dados sensíveis, senhas e outras informações confidenciais.

Os ataques cibernéticos estão em ascensão global, buscando roubar informações confidenciais e recursos financeiros, causando sérios prejuízos às organizações.

Por essa razão, é fundamental utilizar serviços robustos como o Secrets Manager, que garantem a proteção dos seus dados.

Neste artigo, exploraremos o AWS Secrets Manager e como ele pode ser valioso para você.

Vamos começar!

O que é o AWS Secrets Manager?

O AWS Secrets Manager é uma ferramenta projetada para auxiliar os usuários no gerenciamento, rotação e recuperação de seus segredos, como senhas, chaves de API, credenciais de bancos de dados e aplicativos, entre outros, durante todo o seu ciclo de vida.

Um segredo, neste contexto, pode ser qualquer informação valiosa e confidencial sobre sua organização que você deseja armazenar com segurança. Isso pode incluir credenciais como nomes de usuário e senhas, tokens OAuth, credenciais da AWS, chaves SSH, chaves de criptografia, certificados e chaves privadas, e muito mais.

O principal objetivo do AWS Secrets Manager é administrar e proteger os dados usados para acessar recursos, serviços, aplicativos e sistemas de TI. Ele centraliza o armazenamento e o gerenciamento de segredos, permitindo o acesso facilitado por usuários autorizados sem a necessidade de códigos complexos.

O AWS Secrets Manager possibilita a rotação de segredos entre diversos serviços da AWS, como Redshift, RDS e DocumentDB. Isso assegura que todas as chaves e credenciais do banco de dados sejam atualizadas continuamente nesses serviços. Além disso, você pode realizar a rotação de segredos sob demanda ou de acordo com uma programação usando o console integrado, AWS SDK ou AWS CLI.

Adicionalmente, o AWS Secrets Manager proporciona um controle aprimorado dos dados e uma criptografia robusta para a proteção de dados. Ele também permite monitorar suas informações protegidas e auditá-las por meio de várias integrações disponíveis.

Seus principais usuários são grandes empresas, considerando o porte do negócio, e empresas de software, em relação ao tipo de indústria.

Gerenciador de Segredos da AWS: Funcionalidades

#1. Armazenamento e Gerenciamento de Segredos

Além de armazenar, você também pode gerenciar seus segredos de forma prática com o Secrets Manager. Para administrar dados na plataforma, você pode executar várias ações:

  • Criar um segredo e um banco de dados
  • Modificar um segredo
  • Localizar um segredo
  • Excluir um segredo que não é mais necessário
  • Restaurar um segredo perdido ou excluído
  • Replicar um segredo para outra região da AWS
  • Promover um segredo replicado para um segredo independente no AWS Secrets Manager

Você pode armazenar suas credenciais na plataforma após criar sua conta no Amazon Aurora, Amazon RDS, Amazon DocumentDB ou Amazon Redshift. Isso pode ser feito usando o console do Secrets Manager, AWS SDK ou AWS CLI.

#2. Segurança Reforçada

O AWS Secrets Manager emprega criptografia de alta segurança para proteger todos os seus segredos contra acessos não autorizados. Ele criptografa seus segredos usando chaves do AWS Key Management Service (KMS).

O Secrets Manager utiliza o AWS Identity and Access Management (IAM) para permitir que os usuários acessem seus segredos de maneira segura. Ele oferece controles de acesso e autenticação avançados.

  • A autenticação é usada para verificar a identidade do usuário que faz a solicitação. A identificação é feita por meio de um processo de login que exige tokens de autenticação multifator (MFA), chaves de acesso e senhas.
  • O controle de acesso garante que apenas os usuários aprovados possam executar operações específicas em segredos.

Além disso, o Secrets Manager utiliza políticas que definem quais usuários podem acessar quais recursos e realizar quais ações nesses segredos ou recursos. Ele permite usar o AWS IAM Roles Anywhere e obter credenciais temporárias para segurança no IAM para servidores, aplicativos, contêineres e outras cargas de trabalho executadas fora da AWS.

Você também pode aplicar as mesmas funções e políticas do IAM para suas cargas de trabalho criadas para aplicativos da AWS, permitindo que acessem seus recursos na AWS e em dispositivos locais (como servidores de aplicativos).

#3. Rotação de Segredos

O AWS Secrets Manager permite a rotação de segredos de acordo com uma programação ou sob demanda, sem interromper ou reimplantar seus aplicativos ativos.

A rotação de segredos refere-se ao processo de atualização periódica das informações confidenciais de uma organização. Ao rotacionar um segredo, você precisará atualizar os dados ou credenciais no segredo, bem como no serviço ou banco de dados. Além disso, é possível automatizar a rotação de segredos, economizando tempo, através da configuração e automatização pelo console ou AWS CLI.

Para atualizar um segredo, o AWS Secret Manager utiliza a função AWS Lambda, acionando-a de acordo com a programação configurada. Para isso, é necessário configurar um cronograma específico para permitir a rotação após um período, como 30 ou 90 dias. Isso também pode ser feito criando uma expressão cron.

Além disso, o Secrets Manager pode rotular a versão do segredo durante a rotação usando rótulos de preparação, e chamar uma função várias vezes durante a rotação, fornecendo parâmetros diferentes.

Veja como você pode realizar a rotação de um segredo:

  • Crie a nova versão do segredo. Esta pode conter um novo nome de usuário e senha, bem como outros dados secretos.
  • Altere as credenciais existentes no serviço ou banco de dados. Estas deverão corresponder às novas credenciais da nova versão do segredo. Dependendo da estratégia de rotação implementada, um novo usuário será criado com as mesmas permissões de acesso do usuário existente.
  • Teste a nova versão do segredo, verificando seu acesso ao serviço ou banco de dados. Com base no tipo de acesso exigido pelos seus aplicativos, você pode incluir acesso de leitura e gravação.
  • Execute a rotação movendo a nova versão para a versão antiga. Mantenha a versão antiga e adicione-a à versão anterior, para evitar a perda total do segredo.

#4. Monitoramento de Segredos

Visto que falhas e problemas podem ocorrer a qualquer momento, é crucial monitorar seus segredos e agir rapidamente quando necessário. O AWS Secrets Manager permite monitorar seus dados utilizando ferramentas de monitoramento e reportar imediatamente qualquer problema.

Você pode usar logs para investigar qualquer alteração ou uso inesperado. Se for o caso, você pode reverter alterações indesejadas e restaurar uma versão anterior. Além disso, é possível configurar verificações automatizadas para detectar tentativas de exclusão ou uso inadequado de segredos.

Eis o que você obtém com o monitoramento de segredos:

  • Registro de eventos usando o AWS CloudTrail: O AWS CloudTrail pode registrar chamadas de API como eventos do console para rotação e exclusão de segredos. Ele exibe os eventos registrados nos últimos 90 dias. Você também pode configurar o CloudTrail para enviar arquivos de log diretamente para um bucket do Amazon S3 de várias regiões e contas da AWS.
  • Monitoramento usando o CloudWatch: Com o CloudWatch, você pode monitorar seus segredos, permitindo que ele colete e processe dados brutos em métricas legíveis em tempo real. Os dados são salvos por 15 meses para avaliação do desempenho do seu serviço ou aplicativo.
  • Correspondência de eventos usando o EventBridge: Com o EventsBridge, é possível fazer a correspondência de eventos dos arquivos de log do AWS CloudTrail. Para isso, configure as regras de busca por esses eventos e envie um novo evento para executar uma ação em um alvo.
  • Monitoramento de segredos agendados para exclusão: Combinando Amazon CloudWatch Logs, Simple Notification Service (SNS) e CloudTrail, você pode configurar alarmes para notificar em caso de qualquer tentativa não autorizada de excluir um segredo.

Ao receber um alarme, você tem tempo para avaliar se realmente deseja excluir o segredo ou interromper a exclusão. Alternativamente, você pode conceder a um usuário acesso a um novo segredo, fornecendo-lhe as permissões necessárias.

#5. Integrações

O AWS Secrets Manager se integra a diversas outras ferramentas da Amazon e da AWS. A lista inclui Alexa for Business, AWS App2Container, App Runner, Amazon AppFlow, AWS AppConfig, Amazon Athena, Amazon DocumentDB, AWS DataSync, AWS CodeBuild, Amazon ElasticCache, Amazon EMR, AWS Elemental Live, Amazon QuickSight, Amazon Redshift, AWS Migration Hub, Amazon RDS e muito mais.

Por que Usar o AWS Secrets Manager

Postura de Segurança Aprimorada

O Secrets Manager permite aprimorar a postura de segurança da sua organização, pois você não precisa de credenciais codificadas no código-fonte do seu aplicativo. Ao armazenar suas credenciais no Secrets Manager, você pode evitar comprometimentos de segurança por parte de alguém que possa acessar o aplicativo ou seus componentes.

Recuperação de Desastres

Um desastre, como um ataque cibernético, pode acontecer a qualquer momento. Isso pode levar à perda de informações cruciais, senhas e outras credenciais e dados. Ou você pode perder seus dados devido a uma exclusão acidental.

Utilizando a ferramenta, você pode substituir suas credenciais codificadas por uma chamada em tempo de execução para o AWS Secrets Manager para recuperar dinamicamente suas credenciais quando necessário.

Riscos Reduzidos

O Secrets Manager permite configurar um cronograma de rotação para que os segredos possam ser trocados automaticamente no momento adequado. Dessa forma, você pode substituir seus segredos de longa duração por segredos de curta duração, reduzindo os riscos de comprometimento de segurança.

Adicionalmente, a rotação de credenciais não exige atualizações de aplicativos ou modificação de clientes de aplicativos, pois você não armazenará suas credenciais com o aplicativo.

Atendendo aos Requisitos de Conformidade

Devido aos crescentes riscos de segurança e privacidade, órgãos reguladores como GDPR e HIPAA exigem que as organizações cumpram seus padrões de conformidade para garantir que estão lidando com dados de clientes e negócios de forma segura. Portanto, utilize apenas aplicativos ou serviços que sejam seguros e compatíveis com os regulamentos aplicáveis.

Com o AWS Secrets Manager, você pode monitorar seus segredos para detectar qualquer vulnerabilidade ou risco de segurança que possa comprometer seus dados, e agir antecipadamente. Isso protege suas informações de negócios e clientes, o que é crucial para manter a conformidade. Você também pode se preparar melhor para auditorias, documentando tudo.

Além disso, você pode usar o AWS Config para avaliar seus segredos e sua conformidade com as políticas internas, regulamentos e diretrizes do setor da sua organização. Ele permite definir requisitos de conformidade e controles internos para segredos e identificar segredos que não estão em conformidade.

Melhores Controles

Você terá maior controle de seus segredos, sistemas e outros dados com políticas e controles de acesso refinados. O AWS IAM garantirá que a pessoa certa tenha o nível adequado de permissões de acesso aos recursos certos. Os administradores podem criar ou excluir contas, permitir ou restringir o acesso a usuários, adicionar ou remover membros e executar várias ações com base nas necessidades e situações.

AWS Secrets Manager: Como Configurar e Usar

Veja como configurar e utilizar o AWS Secrets Manager:

  • Configure sua conta AWS fornecendo os detalhes necessários.
  • Faça login na sua conta AWS
  • Acesse o console do AWS Secrets Manager
  • Localize a opção “Armazenar um novo segredo” e clique nela para criar e armazenar seu segredo.

Como Criar e Armazenar um Novo Segredo

Para criar um segredo no Secrets Manager, você precisa de permissão das políticas gerenciadas SecretsManagerReadWrite. Quando um segredo é criado, o Secret Manager gera uma entrada de log no CloudTrail.

Siga os passos abaixo para armazenar seus tokens de acesso, chaves de API e credenciais no AWS Secrets Manager:

Fonte: Stack Overflow

  • Abra o console do AWS Secrets Manager
  • Clique em “Armazenar um novo segredo”.
  • Você verá a página “Escolha o tipo de segredo”. Em seguida, execute os seguintes passos:

    • Selecione “Outro tipo de segredo” para o tipo de segredo que deseja criar.
    • Você verá pares chave/valor. Insira um segredo em pares chave/valor em JSON. Ou selecione a aba Texto simples e insira seu segredo no formato de sua preferência. É possível armazenar segredos de até 65536 bytes.
    • Selecione a chave AWS KMS que o Secret Manager utilizará para criptografar o valor do segredo. Geralmente, você pode usar aws/secretsmanager para usar a chave gerenciada, que não tem custo.
    • Para acessar um segredo de uma conta AWS diferente ou usar sua chave KMS para habilitar a rotação ou implementar uma política para essa chave, selecione “Adicionar nova chave” ou escolha uma chave gerenciada pelo cliente na lista fornecida. No entanto, chaves gerenciadas pelo cliente são pagas.
    • Selecione “Próximo”

  • Na página “Configurar Segredo”,
    • Digite um nome para o segredo e sua descrição. O nome deve ter de 1 a 512 caracteres Unicode.
    • Você pode adicionar tags a um segredo na seção Tags. Também pode incluir uma política de recursos escolhendo “Editar permissões”.
    • Adicionalmente, é possível replicar um segredo para uma região diferente da AWS escolhendo “Replicar segredo”. Estas etapas são opcionais.
    • Escolha “Avançar”
  • Se desejar, você pode ativar a rotação automática na página “Configurar rotação”. Esta etapa também é opcional. Escolha Avançar.
  • Revise os detalhes do segredo na página “Revisar” e selecione “armazenar”. O Secret Manager retornará à lista de segredos. Você deverá ver o segredo recém-adicionado lá; caso contrário, atualize a página.
  • Além do console, você também pode adicionar um segredo usando o AWS SDK e o AWS CLI.

    AWS Secrets Manager x AWS Parameter Store

    O AWS Parameter Store é uma ferramenta de gerenciamento de aplicativos do AWS Systems Manager (SSM) que permite aos usuários criar um parâmetro de valor-chave, que pode salvar configurações, credenciais, chaves de produto e variáveis de ambiente personalizadas de um aplicativo.

    Já o AWS Secrets Manager é um serviço que permite criar, armazenar, gerenciar, recuperar e rotacionar credenciais, chaves, tokens de API etc.

    Ambos os serviços possuem interfaces semelhantes, nas quais é fácil declarar seus pares chave-valor para segredos e parâmetros. No entanto, eles são usados por razões diferentes:

    AWS Secrets Manager AWS Parameter Store
    Tamanho do armazenamento Armazena até 10 kb de tamanho do segredo Armazena até 4.096 caracteres ou 4 kb para uma entrada, e pode ir até 8 kb para parâmetros avançados
    Limites Pode armazenar 500 mil segredos/região/conta Pode armazenar 10.000 parâmetros padrão/região/conta
    Custo É pago, custando US$ 0,40/segredo/mês Grátis para parâmetros padrão e custa US$ 0,05/10.000 chamadas de API para parâmetros avançados
    Rotação Oferece rotação automática para qualquer segredo a qualquer momento, que pode ser configurada Você precisa escrever uma função para atualizar as credenciais
    Acesso entre contas Sim Não
    Replicação entre regiões Sim Não
    Tipo de credenciais É para dados confidenciais que precisam de criptografia, portanto, casos de uso são mais limitados. Caso de uso mais amplo, pois você pode armazenar mais tipos de credenciais, incluindo variáveis de configuração do aplicativo, como chaves de produto, URLs etc.

    Conclusão

    Seja uma pequena, média ou grande empresa, você pode usar o AWS Secrets Manager para criar e armazenar seus segredos. Ele oferece segurança, privacidade e controles de acesso aprimorados, além de recursos e funcionalidades para proteger seus segredos contra acesso não autorizado.

    Você também pode explorar como executar o AWS Security Scanning e o monitoramento de configuração.