Automatizando o ciclo de vida de identidades e segurança com as APIs do AWS Directory Service

Novas APIs para gerenciamento de identidades no AWS Managed Microsoft AD

Gerenciar identidades e acessos em ambientes complexos é um dos maiores desafios operacionais de times de segurança e infraestrutura. A AWS anunciou novas capacidades para o AWS Directory Service para Managed Microsoft Active Directory — conhecido como AWS Managed Microsoft AD — que permitem gerenciar usuários e grupos diretamente por meio de APIs, da Interface de Linha de Comando AWS (AWS CLI) e do console de gerenciamento da AWS.

Essas operações seguem o padrão Criar, Ler, Atualizar e Excluir (CRUD) e fazem parte de um conjunto chamado Directory Service Data APIs. Com elas, é possível realizar ações como:

  • Listar usuários e grupos
  • Consultar detalhes de usuários e grupos
  • Desabilitar e habilitar contas de usuários
  • Redefinir senhas de usuários
  • Gerenciar membros de grupos

Essas APIs abrem um leque de possibilidades para integrar o gerenciamento do Active Directory a fluxos de trabalho existentes, aplicações personalizadas e ferramentas de terceiros.

Benefícios práticos da automação de identidades

A introdução dessas APIs traz impactos diretos em diferentes frentes do dia a dia operacional:

  • Automação do ciclo de vida de identidades: é possível gerenciar contas de usuários de forma programática em todas as fases — desde a criação até a exclusão — simplificando os processos de entrada e saída de colaboradores.
  • Segurança aprimorada: ao integrar essas APIs com serviços como o Amazon GuardDuty, é possível criar respostas automáticas a ameaças, como a desabilitação de contas com acessos inadequados.
  • Conformidade melhorada: o gerenciamento automatizado de usuários ajuda a aplicar políticas consistentes e a manter a conformidade com requisitos regulatórios.
  • Eficiência operacional: tarefas rotineiras como provisionamento, desprovisionamento e gerenciamento de grupos podem ser automatizadas, reduzindo esforço manual e o risco de erros humanos.
  • Capacidade de integração: as APIs permitem integração fluida com sistemas de gerenciamento de identidades já existentes, aplicações personalizadas e ferramentas de terceiros.
  • Otimização de custos: ao automatizar processos e reduzir intervenções manuais, as organizações podem potencialmente reduzir os custos operacionais associados ao gerenciamento de identidades.

Visão geral da solução de segurança automatizada

Para demonstrar o poder dessas novas APIs, a AWS apresenta uma solução prática que automatiza a detecção e a resposta a comportamentos inesperados de usuários do Active Directory. A arquitetura combina múltiplos serviços da AWS em um fluxo de automação de segurança robusto.

O funcionamento é o seguinte:

  • O GuardDuty monitora continuamente comportamentos anômalos de usuários do AWS Managed Microsoft AD. No exemplo descrito, o tipo de alerta monitorado é o Backdoor:Runtime/C&CActivity.B!DNS.
  • Uma regra do Amazon EventBridge detecta os alertas do GuardDuty relacionados a esses usuários e aciona um fluxo de trabalho no AWS Step Functions.
  • O fluxo do Step Functions extrai o nome de usuário do Active Directory a partir da instância usando um comando do Systems Manager e, em seguida, inicia uma automação que desabilita a conta via a API DisableUser.
  • Uma segunda regra do EventBridge monitora a chamada à API DisableUser e envia uma notificação por e-mail ao administrador usando o Serviço de Notificação Simples da Amazon (Amazon SNS).

A regra do EventBridge para capturar o alerta do GuardDuty é configurada assim:

{
  "detail-type": ["GuardDuty Finding"],
  "source": ["aws.guardduty"],
  "detail": {
    "type": ["Backdoor:Runtime/C&CActivity.B!DNS"]
  }
}

Já a regra que monitora a chamada à API de desabilitação de usuário tem o seguinte formato:

{
  "detail-type": ["AWS API Call via CloudTrail"],
  "source": ["aws.ds"],
  "detail": {
    "eventSource": ["ds.amazonaws.com"],
    "eventName": ["DisableUser"]
  }
}

Essa solução entrega remediação automatizada em tempo quase real, reduzindo significativamente a janela de exposição e contendo o impacto de acessos não autorizados.

Observação importante: a solução deve ser implantada na Região AWS primária do diretório.

Pré-requisitos para implementar a solução

GuardDuty

O GuardDuty é um serviço de detecção de ameaças que monitora continuamente atividades inesperadas e comportamentos não autorizados para proteger contas AWS, cargas de trabalho e dados armazenados no Amazon Simple Storage Service (Amazon S3). Para ativá-lo, acesse o console do GuardDuty. Se for a primeira vez, selecione All Features e clique em Get Started. Se já utilizou o serviço antes, selecione Runtime Monitoring e clique em Enable.

AWS Managed Microsoft AD

O AWS Directory Service oferece um serviço totalmente gerenciado para o Microsoft Active Directory (AD) na nuvem AWS. Ao criar o diretório, a AWS implanta dois controladores de domínio exclusivos em Zonas de Disponibilidade separadas para garantir alta disponibilidade. Para cenários que exigem ainda mais resiliência e desempenho, é possível escalar o AWS Managed Microsoft AD adicionando controladores de domínio extras.

Para criar um novo AWS Managed Microsoft AD, acesse o console do Directory Service, escolha Set up directory, selecione AWS Managed Microsoft AD, escolha a edição Standard, informe o nome DNS do diretório e a senha, selecione a Nuvem Privada Virtual (VPC) desejada e clique em Create directory.

Criando um usuário de teste no Active Directory

Para simular a ameaça, é necessário criar um usuário de teste. Esse usuário será utilizado para acessar uma instância EC2 e executar um comando que simula atividade suspeita, resultando na desabilitação automática da conta.

Para criar o usuário, utilize o AWS CloudShell ou a AWS CLI na sua máquina local, substituindo o valor de --directory-id pelo ID do seu diretório:

# Create the test user
aws ds-data create-user \
  --directory-id "your-directory-id" \
  --sam-account-name "TestUser" \
  --given-name "Test" \
  --surname "User"

Em seguida, defina uma senha para o usuário:

aws ds reset-user-password \
  --directory-id "your-directory-id" \
  --user-name "TestUser" \
  --new-password "YourSecurePassword123!"

No exemplo, a senha utilizada é YourSecurePassword123!. Caso precise substituí-la por uma senha que atenda aos requisitos da sua organização, consulte a documentação sobre redefinição e habilitação de senha de usuário no AWS Managed Microsoft AD. Para mais detalhes sobre criação de usuários, veja o guia sobre como criar um usuário no AWS Managed Microsoft AD.

Instância EC2 de teste

Para gerar alertas no GuardDuty, é necessário ter uma instância Linux EC2 ingressada no domínio. Caso ainda não tenha uma, siga as instruções para ingressar uma instância Linux em um domínio do Active Directory. Essa instância será usada para simular a atividade suspeita que aciona o alerta do GuardDuty e inicia o fluxo de remediação automatizado.

Implantando a solução

A implantação é feita por meio de um template do CloudFormation. Após baixar o template, acesse o console do CloudFormation, escolha Create Stack com novos recursos, faça o upload do arquivo e preencha os parâmetros:

  • DirectoryID: informe o ID do seu AWS Active Directory.
  • NotificationEmail: informe o endereço de e-mail para receber as notificações.

Aceite a criação de recursos do Gerenciamento de Identidade e Acesso (IAM) com nomes personalizados e clique em Submit. Quando o status mudar para CREATE_COMPLETE, a solução estará pronta.

Testando a solução

Para simular uma ameaça, utilize um domínio de teste do GuardDuty que o serviço reconhece como servidor de comando e controle. Acesse o console do Amazon EC2, selecione a instância de teste criada anteriormente e conecte-se via Session Manager. Autentique-se com o usuário de teste usando o comando su seguido do usuário com o nome do domínio — por exemplo, su TestUser@example.com — e execute o comando:

curl guarddutyc2activityb.com

O comando retornará um erro porque a página não será resolvida, mas o GuardDuty terá detectado os eventos suspeitos. Em 3 a 5 minutos, um alerta de alta severidade do tipo Backdoor:Runtime/C&CActivity.B!DNS aparecerá no console do GuardDuty, acionando a automação que desabilita a conta. Após a desabilitação, uma notificação por e-mail será enviada ao administrador (podendo levar até 5 minutos para chegar).

Observação: antes de repetir o teste, é necessário arquivar o alerta do GuardDuty, pois a regra do EventBridge só é acionada uma vez para um alerta com os mesmos detalhes. Para arquivar, selecione o alerta Backdoor:Runtime/C&CActivity.B!DNS, clique em Actions e selecione Archive.

Conclusão

As novas APIs do AWS Directory Service para o AWS Managed Microsoft AD representam um avanço significativo para equipes que precisam gerenciar identidades de forma programática e segura. Ao combinar essas APIs com serviços como GuardDuty e Step Functions, é possível construir fluxos de automação sofisticados que fortalecem a postura de segurança e simplificam os processos de gerenciamento de identidades.

O caso de uso apresentado é apenas um dos muitos cenários possíveis. Para quem quiser explorar uma abordagem alternativa usando cmdlets do PowerShell com o AWS Systems Manager Run Command para desabilitar usuários, a AWS disponibiliza um post complementar: Como desabilitar automaticamente usuários no AWS Managed Microsoft AD com base em alertas do GuardDuty. Para mais informações sobre o serviço e suas APIs, consulte a documentação oficial do AWS Directory Service.

Fonte

Automating identity lifecycle and security with AWS Directory Service APIs (https://aws.amazon.com/blogs/security/automating-identity-lifecycle-and-security-with-aws-directory-service-apis/)

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *