Processar descobertas do GuardDuty com o Amazon EventBridge
O GuardDuty publica (envia) descobertas como eventos para o Amazon EventBridge (antigo Amazon CloudWatch Events), um serviço de barramento de eventos sem servidor. O EventBridge fornece um stream de dados quase em tempo real de aplicações e serviços para destinos como tópicos do Amazon Simple Notification Service (Amazon SNS), funções do AWS Lambda e streams do Amazon Kinesis. Para obter mais informações, consulte o Guia do usuário do Amazon EventBridge.
O EventBridge permite o monitoramento e o processamento automatizados das descobertas do GuardDuty por meio do recebimento de eventos. O EventBridge recebe eventos tanto para descobertas recém-geradas quanto para descobertas agregadas, onde ocorrências subsequentes de uma descoberta existente são combinadas com a original. Todas as descobertas do GuardDuty recebem um ID de descoberta. O GuardDuty cria um evento do EventBridge para todas as descobertas com um ID de descoberta exclusivo. Para obter informações sobre como a agregação funciona no GuardDuty, consulte Agregação de descobertas do GuardDuty.
Além do monitoramento e processamento automatizados, o uso do EventBridge permite a retenção de longo prazo dos dados de suas descobertas. O GuardDuty armazena as descobertas por 90 dias. Com o EventBridge, você pode enviar dados de descobertas para sua plataforma de armazenamento preferida e armazenar os dados pelo tempo que quiser. Para reter as descobertas por mais tempo, o GuardDuty oferece suporte a Exportar as descobertas geradas para bucket do Amazon S3.
Tópicos
Noções básicas sobre a frequência das notificações do EventBridge no GuardDuty
Esta seção explica com que frequência você recebe notificações de descoberta por meio do EventBridge e como atualizar a frequência para ocorrências de descobertas subsequentes.
- Notificações de descobertas recém-geradas com um ID de descoberta exclusivo
-
O GuardDuty envia essas notificações quase em tempo real quando gera uma descoberta com um ID de descoberta exclusivo. A notificação inclui todas as ocorrências subsequentes desse ID de descoberta durante o processo de geração da notificação.
A frequência das notificações das descobertas recém-geradas é quase em tempo real. Por padrão, você não pode modificar essa frequência.
- Notificações para ocorrências de descoberta subsequentes
-
O GuardDuty agrega todas as ocorrências subsequentes de um tipo de descoberta determinado que acontecem em intervalos de seis horas em um único evento. Somente uma conta de administrador pode atualizar a frequência de notificação do EventBridge para ocorrências de descobertas subsequentes. Uma conta de membro não pode atualizar essa frequência em sua própria conta. Por exemplo, se a conta delegada do administrador do GuardDuty atualizar a frequência para uma hora, todas as contas de membros também terão uma frequência de notificação de uma hora sobre as ocorrências de descoberta subsequentes enviadas ao EventBridge. Para obter mais informações, consulte Múltiplas contas no Amazon GuardDuty.
Como uma conta de administrador, você pode personalizar a frequência padrão das notificações sobre as ocorrências de descobertas subsequentes. Valores possíveis são 15 minutos, 1 hora ou 6 horas (padrão). Para obter informações sobre como definir a frequência dessas notificações, consulte Etapa 5: Definir a frequência para exportar descobertas ativas atualizadas.
Para obter mais detalhes sobre a conta de administrador que recebe notificações do EventBridge para contas de membros, consulte Regra do EventBridge para ambientes de várias contas.
Configurar um tópico e um endpoint do Amazon SNS (e-mail, Slack e Amazon Chime)
O Amazon Simple Notification Service (Amazon SNS) é um serviço totalmente gerenciado que fornece entrega de mensagens de publicadores para assinantes. Os publicadores se comunicam de maneira assíncrona com os assinantes enviando mensagens para um tópico. Um tópico é um ponto de acesso lógico e um canal de comunicação que permite agrupar vários endpoints como AWS Lambda, Amazon Simple Queue Service (Amazon SQS), HTTP/S e um endereço de e-mail.
nota
Você pode adicionar um tópico do Amazon SNS a uma regra de evento do EventBridge durante ou após a criação da regra.
- Criar um tópico do Amazon SNS
-
Para começar, você deve primeiro configurar um tópico no Amazon SNS e adicionar um endpoint. Para criar um tópico, consulte as etapas em Etapa 1: criar um tópico no Guia do desenvolvedor do Amazon Simple Notification Service. Depois que o tópico for criado, copie o ARN do tópico para a área de transferência. Você usará esse ARN de tópico para continuar com uma das configurações preferidas.
Escolha um método preferido para estabelecer para onde você deseja enviar dados de descobertas do GuardDuty.
Usar o Amazon EventBridge para descobertas do GuardDuty
Com o EventBridge, você cria regras para especificar os eventos que deseja monitorar. Essas regras também especificam os serviços e aplicações de destino que podem realizar ações automatizadas se esses eventos ocorrerem. Um destino é um recurso ou endpoint para o qual o EventBridge envia um evento quando este corresponde ao padrão de evento definido na regra. Cada evento é um objeto JSON que está em conformidade com o esquema do EventBridge para eventos da AWS e contém uma representação do JSON de uma descoberta. Você pode personalizar a regra para enviar somente os eventos que atendam a determinados critérios. Para obter mais informações, consulte [tópico do esquema JSON]. Como os dados da descoberta são estruturados como um evento do EventBridge, você pode monitorar, processar e agir de acordo com as descobertas usando outras aplicações, serviços e ferramentas.
Para receber notificações sobre descobertas do GuardDuty com base em eventos, você deverá criar uma regra do EventBridge e um destino para o GuardDuty. Essa regra permite que o EventBridge envie notificações para descobertas que o GuardDuty gera ao destino especificado na regra.
nota
O CloudWatch Events e o EventBridge são o mesmo serviço subjacente e API. No entanto, o EventBridge inclui recursos adicionais que ajudam você a receber eventos de aplicações de software como serviço (SaaS) e de suas próprias aplicações. Como o serviço subjacente e a API são os mesmos, o esquema de eventos das descobertas do GuardDuty também é o mesmo.
Como as descobertas arquivadas e não arquivadas no GuardDuty funcionam com o EventBridge
Para as descobertas arquivadas manualmente, a ocorrência inicial e todas as ocorrências subsequentes dessas descobertas (geradas após a conclusão do arquivamento) são enviadas para o EventBridge com base em uma frequência de notificação específica. Para obter mais informações, consulte Noções básicas sobre a frequência das notificações do EventBridge no GuardDuty.
Para as descobertas arquivadas automaticamente com Regras de supressão, a ocorrência inicial e todas as ocorrências subsequentes dessas descobertas (geradas após a conclusão do arquivamento) não são enviadas para o EventBridge. Você pode visualizar essas descobertas arquivadas automaticamente no console do GuardDuty.
Esquema de eventos
Um padrão de eventos define os dados usados pelo EventBridge para determinar se o evento deve ser enviado ao destino. O evento do EventBridge para o GuardDuty tem o seguinte formato:
{ "version": "0", "id": "cd2d702e-ab31-411b-9344-793ce56b1bc7", "detail-type": "GuardDuty Finding", "source": "aws.guardduty", "account": "111122223333", "time": "1970-01-01T00:00:00Z", "region": "us-east-1", "resources": [], "detail": {GUARDDUTY_FINDING_JSON_OBJECT} }
O valor detail retorna os detalhes do JSON de uma única descoberta como um objeto, em vez de retornar a sintaxe de resposta descobertas inteira que oferece suporte a várias descobertas de uma matriz.
Para obter a lista completa de todos os parâmetros incluídos em GUARDDUTY_FINDING_JSON_OBJECT, consulte GetFindings. O parâmetro do id que aparece no GUARDDUTY_FINDING_JSON_OBJECT é o ID da descoberta descrito anteriormente.
Criando uma regra do EventBridge para as descobertas do GuardDuty
Os procedimentos a seguir explicam como usar o console do Amazon EventBridge e a AWS Command Line Interface (AWS CLI) para criar uma regra do EventBridge para as descobertas do GuardDuty. A regra detecta eventos do EventBridge que usam o esquema e o padrão de evento para descobertas do GuardDuty e envia esses eventos para uma função do AWS Lambda para processamento.
O AWS Lambda é um serviço de computação que pode ser usado para executar código sem provisionamento ou gerenciamento de servidores. Você empacota o código e faz upload dele no AWS Lambda como uma função do Lambda. O AWS Lambda então executa a função quando ela é invocada. Uma função pode ser invocada manualmente por você, automaticamente em resposta a eventos ou em resposta a solicitações de aplicações ou serviços. Para obter mais informações sobre criar e invocar as funções do Lambda, consulte o Guia do desenvolvedor do AWS Lambda.
Escolha seu método preferido para criar uma regra do EventBridge que envia sua descoberta do GuardDuty para um destino.
Regra do EventBridge para ambientes de várias contas do GuardDuty
Ao usar uma conta delegada de administrador do GuardDuty, você pode visualizar os eventos gerados nas contas de membros e realizar ações usando outras aplicações e serviços. As regras do EventBridge na sua conta de administrador serão acionadas com base nas descobertas aplicáveis das suas contas de membros. Caso configure notificações de descobertas por meio do EventBridge em sua conta de administrador, você receberá notificações de descobertas da sua conta e das contas de membros. Por exemplo, você pode usar o EventBridge para enviar tipos específicos de descobertas para uma função do Lambda que, por sua vez, processa e envia os dados para seu sistema de gerenciamento de incidentes e eventos de segurança (SIEM).
Você pode identificar a conta de membro da qual a descoberta do GuardDuty se originou com o campo accountId dos detalhes do JSON da descoberta. Para criar uma regra de evento personalizada para contas de membros específicas, crie uma nova regra e use o modelo a seguir em Padrão de eventos. Substitua 123456789012 pela accountId da conta de membro para a qual você deseja acionar o evento.
{ "source": [ "aws.guardduty" ], "detail-type": [ "GuardDuty Finding" ], "detail": { "accountId": [ "123456789012" ] } }
nota
Esse exemplo cria uma regra que corresponde a todas as descobertas do ID da conta especificada. Você pode incluir vários IDs de conta separando-os com vírgulas, seguindo a sintaxe JSON.