跳至内容

如何为 GuardDuty 配置 EventBridge 规则,以针对特定服务调查发现类型发送自定义 SNS 通知?

2 分钟阅读
0

我创建了一个 Amazon EventBridge 规则来响应 Amazon GuardDuty 的服务调查发现类型,但响应是 JSON 格式。我想收到包含自定义 Amazon Simple Notification Service (Amazon SNS) 通知的电子邮件回复。

解决方案

先决条件:创建 Amazon SNS 主题。Amazon SNS 主题必须与您的 GuardDuty 服务位于同一个 AWS 区域。

要为 GuardDuty 配置 EventBridge 规则以发送自定义 SNS 通知,请完成以下步骤:

  1. 打开 EventBridge 控制台

  2. Buses(总线)部分下,选择 Rules(规则)。

  3. 选择 Create rule(创建规则),然后完成以下步骤来配置规则:
    输入名称和描述。
    对于 Event bus(事件总线),选择 default(默认)。
    对于 Rule type(规则类型),选择 Rule with an event pattern(具有事件模式的规则)。

  4. 选择 Next(下一步)。

  5. Event pattern(事件模式)下,完成以下步骤:
    对于 Event source(事件源),请选择 AWS services(AWS 服务)。
    对于 AWS service(AWS 服务),请选择 GuardDuty
    对于 Event type(事件类型),选择 GuardDuty Finding(GuardDuty 调查发现)。

  6. Event pattern(事件模式)预览部分中,选择 Edit pattern(编辑模式)。

  7. 在 JSON 文本框中,输入以下代码:

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

    **注意:**将 Backdoor:EC2/C&CActivity.B!DNS 替换为您的调查发现类型。要测试 Backdoor:EC2/C&CActivity.B!DNS 调查发现类型,请从 Amazon Elastic Compute Cloud (Amazon EC2) 实例向 guarddutyc2activityb.com 测试域发出 DNS 请求。您可以在 Linux 上运行 dig 命令或在 Windows 上运行 nslookup 命令。调查发现将在几分钟内生成。

  8. 选择 Next(下一步)。

  9. 对于 Target types(目标类型),选择 AWS service(AWS 服务)。

  10. 对于 Select a target(选择目标),选择 SNS topic(SNS 主题)。

  11. 对于 Topic(主题),选择您的主题。

  12. (可选)配置输入转换器
    Target input transformer(目标输入转换器)部分中,对于 Input path(输入路径),在文本框中输入以下 JSON 路径:

{
  "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"
}

对于 Template(模板),在文本框中输入以下字符串模板:

"You have a new GuardDuty alert. View finding in console - https://console.aws.amazon.com/guardduty/home?REGION=#/findings?search=id%3DFINDING_ID "

**注意:**在模板中,保留 FINDING_ID 后的尾随空格,以免右引号破坏 SNS 通知中的 URL。输入路径使用 GuardDuty 调查发现中的特定属性。有关可用筛选器的详细信息,请参阅 GuardDuty 中的属性筛选器。 选择 Next(下一步)。 (可选)为您的规则添加标签,然后选择 Next(下一步)。 查看规则详细信息,然后选择 Create rule(创建规则)。

当 GuardDuty 生成调查发现类型时,EventBridge 会在 5 分钟内将 SNS 通知发送到您的指定端点。要为所有 GuardDuty 调查发现类型设置 SNS 通知,请参阅使用 Amazon EventBridge 处理 GuardDuty 调查发现

相关信息

在 Amazon EventBridge 中创建对事件做出响应的规则

教程: 使用输入转换器在 EventBridge 中转换事件

如何对 GuardDuty 自定义 Amazon SNS 通知未送达的问题进行故障排除?