Eu criei uma regra do Amazon EventBridge para responder aos tipos de descoberta de serviços para o Amazon GuardDuty, mas as respostas estão no formato JSON. Quero receber uma resposta por e-mail com uma notificação personalizada do Amazon Simple Notification Service (Amazon SNS).
Resolução
Pré-requisito: Crie um tópico do Amazon SNS. O tópico do Amazon SNS deve estar na mesma região da AWS que seu serviço GuardDuty.
Para configurar as regras do EventBridge para o GuardDuty enviar notificações personalizadas do SNS, conclua as seguintes etapas:
-
Abra o console do EventBridge.
-
Na seção Barramentos, selecione Regras.
-
Selecione Criar regra e, em seguida, conclua as seguintes etapas para configurar a regra:
Insira um nome e uma descrição.
Para Barramento de eventos, selecione padrão.
Em Tipo de regra, escolha Regra com um padrão de evento.
-
Selecione Avançar.
-
Em Padrão de evento, conclua as seguintes etapas:
Em Origem do evento, selecione Serviços da AWS.
Em serviço da AWS, selecione GuardDuty.
Em Tipo de evento, selecione Descoberta GuardDuty.
-
Na seção de pré-visualização do Padrão de evento, selecione Editar padrão.
-
Na caixa de texto JSON, insira o seguinte código:
{
"source": ["aws.guardduty"],
"detail": {
"type": ["Backdoor:EC2/C&CActivity.B!DNS"]
}
}
Observação: Substitua Backdoor:EC2/C&CActivity.B!DNS pelo seu tipo de descoberta. Para testar o tipo de descoberta Backdoor:EC2/C&CActivity.B!DNS, faça uma solicitação de DNS de uma instância do Amazon Elastic Compute Cloud (Amazon EC2) para o domínio de teste guarddutyc2activityb.com. É possível executar o comando dig para Linux ou o comando nslookup para Windows. A descoberta é gerada em alguns minutos.
-
Selecione Avançar.
-
Em Tipos de destino, selecione Serviço da AWS.
-
Em Selecionar um destino, selecione Tópico do SNS.
-
Em Tópico, selecione seu tópico.
-
(Opcional) Configure um transformador de entrada.
Na seção Transformador de entrada de destino, em Caminho de entrada, insira o seguinte caminho JSON na caixa de texto:
{
"severity": "$.detail.severity",
"Finding_ID": "$.detail.id",
"instanceId": "$.detail.resource.instanceDetails.instanceId",
"port": "$.detail.service.action.networkConnectionAction.localPortDetails.port",
"eventFirstSeen": "$.detail.service.eventFirstSeen",
"eventLastSeen": "$.detail.service.eventLastSeen",
"count": "$.detail.service.count",
"Finding_Type": "$.detail.type",
"region": "$.region",
"Finding_description": "$.detail.description"
}
Em Modelo, insira o seguinte modelo de string na caixa de texto:
"You have a new GuardDuty alert. View finding in console - https://console.aws.amazon.com/guardduty/home?REGION=#/findings?search=id%3DFINDING_ID "
Observação: No modelo, mantenha o espaço à direita após FINDING_ID para que as aspas de fechamento não quebrem o URL na notificação do SNS. O Caminho de entrada usa atributos específicos da descoberta do GuardDuty. Para obter mais informações sobre os filtros disponíveis, consulte Filtros de propriedades em GuardDuty.
Selecione Avançar.
(Opcional) Adicione tags à sua regra e selecione Avançar.
Revise os detalhes da regra e selecione Criar regra.
Quando o GuardDuty gera o tipo de descoberta, o EventBridge envia a notificação do SNS para o endpoint especificado em 5 minutos. Para configurar notificações do SNS para todos os tipos de descobertas do GuardDuty, consulte Processando GuardDuty descobertas com a Amazon EventBridge.
Informações relacionadas
Criação de regras que reagem a eventos no Amazon EventBridge
Tutorial: Use transformadores de entrada para transformar eventos em EventBridge
Como posso solucionar problemas de notificações personalizadas do Amazon SNS do GuardDuty que não foram entregues?