Criação de respostas personalizadas às GuardDuty descobertas com a Amazon CloudWatch Events - Amazon GuardDuty

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á.

Criação de respostas personalizadas às GuardDuty descobertas com a Amazon CloudWatch Events

GuardDuty cria um evento para a Amazon CloudWatch Events quando ocorre alguma alteração nas descobertas. Encontrar mudanças que criarão um CloudWatch evento inclui descobertas recém-geradas ou descobertas recém-agregadas. Os eventos são emitidos com base no melhor esforço.

Cada GuardDuty descoberta recebe uma ID de descoberta. GuardDuty cria um CloudWatch evento para cada descoberta com um ID de descoberta exclusivo. Todas as ocorrências subsequentes de uma descoberta existente são agregadas à descoberta inicial. Para ter mais informações, consulte GuardDuty encontrando agregação.

nota

Se sua conta for um administrador GuardDuty delegado, os CloudWatch eventos serão publicados em sua conta e na conta do membro em que a descoberta foi gerada.

Ao usar CloudWatch eventos com GuardDuty, você pode automatizar tarefas para ajudá-lo a responder aos problemas de segurança GuardDuty revelados pelas descobertas.

Para receber notificações sobre GuardDuty descobertas com base em CloudWatch eventos, você deve criar uma regra de CloudWatch eventos e uma meta para GuardDuty. Essa regra CloudWatch permite enviar notificações de descobertas GuardDuty geradas para o alvo especificado na regra. Para ter mais informações, consulte Criando uma regra de CloudWatch eventos e um destino para GuardDuty (CLI).

CloudWatch Frequência de notificação de eventos para GuardDuty

Notificações de descobertas recém-geradas com um ID de descoberta exclusivo

GuardDuty envia uma notificação com base em seu CloudWatch evento dentro de 5 minutos após a descoberta. Esse evento (e esta notificação) também inclui todas as ocorrências subsequentes dessa descoberta que ocorrem nos primeiros 5 minutos desde a descoberta com um ID exclusivo sendo gerado.

nota

Por padrão, a frequência das notificações sobre as descobertas recém-geradas é de cinco minutos. Essa frequência não pode ser atualizada.

Notificações para ocorrências de descoberta subsequentes

Por padrão, para cada descoberta com um ID de descoberta exclusivo, GuardDuty agrega todas as ocorrências subsequentes de um determinado tipo de descoberta que ocorrem nos intervalos de 6 horas em um único evento. GuardDuty em seguida, envia uma notificação sobre essas ocorrências subsequentes com base nesse evento. Por padrão, para as ocorrências subsequentes das descobertas existentes, GuardDuty envia notificações com base em CloudWatch eventos a cada 6 horas.

Somente uma conta de administrador pode personalizar a frequência padrão das notificações enviadas sobre a descoberta subsequente de ocorrências em CloudWatch eventos. Os usuários de contas de membro NÃO PODEM personalizar esse valor de frequência. O valor de frequência definido pela conta do administrador em sua própria conta é imposto à GuardDuty funcionalidade em todas as suas contas de membros. Se um usuário de uma conta de administrador definir esse valor de frequência como 1 hora, todas as contas de membros também terão a frequência de 1 hora de recebimento de notificações sobre as ocorrências de descoberta subsequentes. Para ter mais informações, consulte Gerenciando várias contas na Amazon GuardDuty.

nota

Como conta de administrador, você pode personalizar a frequência padrão das notificações sobre as ocorrências de descoberta 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.

Monitorando GuardDuty descobertas arquivadas com Eventos CloudWatch

Para as descobertas arquivadas manualmente, as ocorrências iniciais e todas as ocorrências subsequentes dessas descobertas (geradas após a conclusão do arquivamento) são enviadas para CloudWatch Eventos de acordo com a frequência descrita acima.

Para as descobertas arquivadas automaticamente, as ocorrências iniciais e todas as ocorrências subsequentes dessas descobertas (geradas após a conclusão do arquivamento) não são enviadas para Eventos. CloudWatch

CloudWatch formato de evento para GuardDuty

O CloudWatch evento para 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} }
nota

O valor detalhado retorna os detalhes do JSON de uma única descoberta como um objeto, em vez de retornar o valor “descobertas”, que pode suportar várias descobertas em uma matriz.

Para obter a lista completa de todos os parâmetros incluídos no GUARDDUTY_FINDING_JSON_OBJECT, consulte GetFindings. O parâmetro do id que aparece no GUARDDUTY_FINDING_JSON_OBJECT é o ID da descoberta descrito anteriormente.

Criação de uma regra de CloudWatch eventos para notificá-lo das GuardDuty descobertas (console)

Você pode usar o CloudWatch Events with GuardDuty para configurar alertas de busca automatizados enviando eventos de GuardDuty busca para um hub de mensagens para ajudar a aumentar a visibilidade das GuardDuty descobertas. Este tópico mostra como enviar alertas de descobertas para e-mail, Slack ou Amazon Chime configurando um tópico do SNS e, em seguida, conectando esse tópico a CloudWatch uma regra de evento de eventos.

Configurar um tópico e um endpoint do Amazon SNS

Para começar, você deve primeiro configurar um tópico no Amazon Simple Notification Service e adicionar um endpoint. Para obter mais informações, consulte Conceitos básicos no Guia do desenvolvedor do Amazon Simple Notification Service.

Esse procedimento estabelece para onde você deseja enviar os dados de GuardDuty busca. O tópico do SNS pode ser adicionado a uma regra de evento de CloudWatch eventos durante ou após a criação da regra de eventos.

Email setup
Criar um tópico do SNS
  1. Faça login no console do Amazon SNS em https://console.aws.amazon.com/sns/v3/home.

  2. Selecione Tópicos no painel de navegação e selecione Criar tópico.

  3. Na seção Criar tópico, selecione Padrão. Em eguida, insira um Nome de tópico, por exemplo, GuardDuty_to_Email. Os outros detalhes são opcionais.

  4. Selecione Criar tópico. A seção Detalhes do tópico para o novo tópico será aberta.

  5. Na seção Assinatura, escolha Criar assinatura

    1. No menu Protocolo selecione E-mail.

    2. No campo Endpoint adicione o endereço de e-mail no qual você deseja receber notificações.

      nota

      Você precisa confirmar sua assinatura por meio de seu cliente de e-mail depois de criá-la.

    3. Selecione Criar assinatura

  6. Verifique se há uma mensagem de assinatura em sua caixa de entrada e escolha Confirmar assinatura

Slack setup
Criar um tópico do SNS
  1. Faça login no console do Amazon SNS em https://console.aws.amazon.com/sns/v3/home.

  2. Selecione Tópicos no painel de navegação e selecione Criar tópico.

  3. Na seção Criar tópico, selecione Padrão. Em eguida, insira um Nome de tópico, por exemplo, GuardDuty_to_Slack. Os outros detalhes são opcionais. Escolha Criar tópico para finalizar.

Configurar AWS Chatbot clientes
  1. Navegue até o console do AWS Chatbot.

  2. No painel Clientes configurados, selecione Configurar novo cliente.

  3. Selecione Slack e confirme com “Configurar”.

    nota

    Ao escolher o Slack, você deve confirmar as permissões para o AWS Chatbot a fim de acessar seu canal selecionando “permitir”.

  4. Selecione Configurar novo canal para abrir o painel de detalhes da configuração.

    1. Insira um nome para o canal.

    2. Para o canal do Slack, escolha o canal que você deseja usar. Para usar o canal privado do Slack com o AWS Chatbot, escolha Canal privado.

    3. No Slack, copie o ID do canal privado clicando com o botão direito do mouse no nome dele e selecionando Copiar link.

    4. No Console de Gerenciamento da AWS, na janela do AWS Chatbot, cole a ID que você copiou do slack no campo ID do canal privado.

    5. Em Permissões, escolha criar um perfil do IAM usando um modelo, caso ainda não tenha uma função.

    6. Em Modelos de política, escolha Permissões de notificação. Esse é o modelo de política do IAM para AWS Chatbot. Ele fornece as permissões necessárias de leitura e lista para CloudWatch alarmes, eventos e registros e para tópicos do Amazon SNS.

    7. Selecione a região na qual você criou seu tópico do SNS anteriormente e, em seguida, selecione o tópico do Amazon SNS que você criou para enviar notificações ao canal do Slack.

  5. Selecione CConfigurar.

Chime setup
Criar um tópico do SNS
  1. Faça login no console do Amazon SNS em https://console.aws.amazon.com/sns/v3/home.

  2. Selecione Tópicos no painel de navegação e selecione Criar tópico.

  3. Na seção Criar tópico, selecione Padrão. Em eguida, insira um Nome de tópico, por exemplo, GuardDuty_to_Chime. Os outros detalhes são opcionais. Escolha Criar tópico para finalizar.

Configurar AWS Chatbot clientes
  1. Navegue até o console do AWS Chatbot.

  2. No painel Clientes configurados, selecione Configurar novo cliente.

  3. Selecione Chime e confirme com “Configurar”.

  4. No painel Detalhes da configuração, insira um nome para o canal.

  5. No Chime, abra a sala de bate-papo desejada

    1. Escolha o ícone de engrenagem no canto superior direito e selecione Gerenciar webhooks.

    2. Selecione Copiar URL para copiar o URL do webhook para sua área de transferência.

  6. No Console de Gerenciamento da AWS, na janela do AWS Chatbot, cole o URL que você copiou no campo URL do webhook.

  7. Em Permissões, escolha criar um perfil do IAM usando um modelo, caso ainda não tenha uma função.

  8. Em Modelos de política, escolha Permissões de notificação. Esse é o modelo de política do IAM para AWS Chatbot. Ele fornece as permissões necessárias de leitura e lista para CloudWatch alarmes, eventos e registros e para tópicos do Amazon SNS.

  9. Selecione a região na qual você criou seu tópico do SNS anteriormente e, em seguida, selecione o tópico do Amazon SNS que você criou para enviar notificações para a sala do Chime.

  10. Selecione Configurar.

Configure um CloudWatch evento para GuardDuty descobertas

  1. Abra o CloudWatch console em https://console.aws.amazon.com/cloudwatch/.

  2. Selecione Regras no painel de navegação e escolha Criar regra.

  3. No menu Nome do serviço, escolha GuardDuty.

  4. No menu Tipo de evento, escolha GuardDutyEncontrar.

  5. Em Visualização do padrão de evento, escolha Editar.

  6. Cole o código JSON abaixo na Visualização do padrão de evento e escolha Salvar

    { "source": [ "aws.guardduty" ], "detail-type": [ "GuardDuty Finding" ], "detail": { "severity": [ 4, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 5, 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 5.9, 6, 6.0, 6.1, 6.2, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8, 6.9, 7, 7.0, 7.1, 7.2, 7.3, 7.4, 7.5, 7.6, 7.7, 7.8, 7.9, 8, 8.0, 8.1, 8.2, 8.3, 8.4, 8.5, 8.6, 8.7, 8.8, 8.9 ] } }
    nota

    O código acima alertará sobre qualquer descoberta média ou alta.

  7. Na seção Destinos, clique em Adicionar destino.

  8. No menu Selecionar destinos, escolha Tópico do SNS.

  9. Em Selecionar tópico selecione o nome do tópico do SNS criado na Etapa 1.

  10. Configure a entrada para o evento.

    • Se você estiver configurando notificações para o Chime ou o Slack, vá para a Etapa 11, o tipo de entrada padrão é Evento correspondente.

    • Se você estiver configurando notificações por e-mail via SNS, siga as etapas abaixo para personalizar a mensagem enviada para sua caixa de entrada usando as seguintes etapas:

    1. Expanda Configurar entrada e escolha Transformador de entrada.

    2. Copie o código a seguir e cole-o no campo Caminho de entrada.

      { "severity": "$.detail.severity", "Account_ID": "$.detail.accountId", "Finding_ID": "$.detail.id", "Finding_Type": "$.detail.type", "region": "$.region", "Finding_description": "$.detail.description" }
    3. Copie o código a seguir e cole-o no campo Modelo de entrada para formatar o e-mail.

      "AWS <Account_ID> has a severity <severity> GuardDuty finding type <Finding_Type> in the <region> region." "Finding Description:" "<Finding_description>. " "For more details open the GuardDuty console at https://console.aws.amazon.com/guardduty/home?region=<region>#/findings?search=id%3D<Finding_ID>"
  11. Clique em Configurar detalhes.

  12. Na página Configurar detalhes da regra, insira um Nome e uma Descrição para a regra e selecione Criar regra.

Criando uma regra de CloudWatch eventos e um destino para GuardDuty (CLI)

O procedimento a seguir mostra como usar AWS CLI comandos para criar uma regra de CloudWatch eventos e um destino para GuardDuty. Especificamente, o procedimento mostra como criar uma regra que permite CloudWatch enviar eventos para todas as descobertas GuardDuty geradas e adicionar uma AWS Lambda função como destino para a regra.

nota

Além das funções do Lambda, GuardDuty CloudWatch oferecem suporte aos seguintes tipos de destino: instâncias do Amazon EC2, streams do Amazon Kinesis, tarefas do Amazon ECS, máquinas de estadoAWS Step Functions, o comando e destinos integrados. run

Você também pode criar uma regra e uma meta de CloudWatch eventos por GuardDuty meio do console de CloudWatch eventos. Para obter mais informações e etapas detalhadas, consulte Criação de uma regra de CloudWatch eventos que é acionada em um evento. Na seção Origem do evento, selecione GuardDuty para Nome do serviço e GuardDuty Finding para Tipo de evento.

Para criar uma regra e um destino
  1. Para criar uma regra que permita CloudWatch enviar eventos para todas as descobertas GuardDuty geradas, execute o seguinte comando da CloudWatch CLI.

    AWS events put-rule --name Test --event-pattern "{\"source\":[\"aws.guardduty\"]}"

    Importante

    Você pode personalizar ainda mais sua regra para que ela CloudWatch instrua o envio de eventos somente para um subconjunto das descobertas GuardDuty geradas. Esse subconjunto é baseado no atributo ou nos atributos da descoberta especificado(s) na regra. Por exemplo, use o seguinte comando da CLI para criar uma regra que permite CloudWatch enviar somente eventos para as GuardDuty descobertas com a severidade de 5 ou 8:

    AWS events put-rule --name Test --event-pattern "{\"source\":[\"aws.guardduty\"],\"detail-type\":[\"GuardDuty Finding\"],\"detail\":{\"severity\":[5,8]}}"

    Para isso, você pode usar qualquer um dos valores de propriedade que estão disponíveis no JSON para GuardDuty descobertas.

  2. Para anexar uma função Lambda como destino para a regra que você criou na etapa 1, execute o seguinte comando da CLI CloudWatch .

    AWS events put-targets --rule Test --targets Id=1,Arn=arn:aws:lambda:us-east-1:111122223333:function:<your_function>

    nota

    Certifique-se de substituir <your_function>o comando acima pela sua função Lambda real para os GuardDuty eventos.

  3. Para adicionar as permissões necessárias para invocar o destino, execute o seguinte comando da CLI do Lambda.

    AWS lambda add-permission --function-name <your_function> --statement-id 1 --action 'lambda:InvokeFunction' --principal events.amazonaws.com

    nota

    Certifique-se de substituir <your_function>o comando acima pela sua função Lambda real para os GuardDuty eventos.

    nota

    No procedimento acima, estamos usando uma função Lambda como destino para a regra que CloudWatch aciona eventos. Você também pode configurar outros AWS recursos como alvos para acionar CloudWatch eventos. Para ter mais informações, consulte PutTargets.

CloudWatch Eventos para ambientes GuardDuty com várias contas

Como GuardDuty administrador, as regras de CloudWatch eventos em sua conta serão acionadas com base nas descobertas aplicáveis de suas contas de membros. Isso significa que, se você configurar notificações de descoberta por meio de CloudWatch Eventos em sua conta de administrador, conforme detalhado na seção anterior, você será notificado sobre descobertas de severidade alta e média geradas por suas contas de membros, além das suas próprias.

Você pode identificar a conta do membro da qual a GuardDuty descoberta se originou com o accountId campo dos detalhes JSON da descoberta.

Para começar a escrever uma regra de evento personalizada para uma conta-membro específica em seu ambiente no console, crie uma nova regra e cole o modelo a seguir na Visualização de padrão do evento, adicionando o ID da conta-membro que você deseja acionar o evento.

{ "source": [ "aws.guardduty" ], "detail-type": [ "GuardDuty Finding" ], "detail": { "accountId": [ "123456789012" ] } }
nota

Este exemplo acionará qualquer descoberta do ID da conta listada. Vários IDs podem ser adicionados, separados por uma vírgula seguindo a sintaxe JSON.