使用 Amazon EventBridge 创建对 Amazon Inspector 调查发现的自定义响应 - Amazon Inspector
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Amazon EventBridge 创建对 Amazon Inspector 调查发现的自定义响应

Amazon Inspector 会针对新生成的调查发现、新汇总的调查发现以及调查发现状态的变化,为 Amazon EventBridge 创建一个事件。除了对 updatedAtlastObservedAt 字段进行更改之外,其他任何内容更改都将发布新事件。这意味着,当您采取诸如重启资源或更改与资源关联的标签之类的操作时,就会生成针对调查发现的新事件。但是,id 字段中的调查发现 ID 保持不变。尽最大努力发布事件。

注意

如果您的账户是 Amazon Inspector 委托管理员,EventBridge 除了会将事件发布到事件产生的成员账户外,还会将事件发布到您的账户。

将 EventBridge 事件与 Amazon Inspector 结合使用时,您可以自动执行任务,帮助您响应通过 Amazon Inspector 调查发现揭示的安全问题。

Amazon Inspector 会向同一地区的默认事件总线发送事件。这意味着您必须为运行 Amazon Inspector 的每个区域配置事件规则,才能查看该区域的事件。

要接收有关基于 EventBridge 事件的 Amazon Inspector 调查发现的通知,您必须为 Amazon Inspector 创建 EventBridge 规则和目标。此规则允许 EventBridge 将 Amazon Inspector 生成的调查发现的通知发送到在规则中指定的目标。有关更多信息,请参阅 Amazon EventBridge 用户指南中的 Amazon EventBridge 规则

事件架构

以下是 EC2 调查发现事件的 Amazon Inspector 事件格式示例。有关其他调查发现类型和事件类型的示例架构,请参阅用于 Amazon Inspector 事件的 Amazon EventBridge 事件架构

{ "version": "0", "id": "66a7a279-5f92-971c-6d3e-c92da0950992", "detail-type": "Inspector2 Finding", "source": "aws.inspector2", "account": "111122223333", "time": "2023-01-19T22:46:15Z", "region": "us-east-1", "resources": ["i-0c2a343f1948d5205"], "detail": { "awsAccountId": "111122223333", "description": "\n It was discovered that the sound subsystem in the Linux kernel contained a\n race condition in some situations. A local attacker could use this to cause\n a denial of service (system crash).", "exploitAvailable": "YES", "exploitabilityDetails": { "lastKnownExploitAt": "Oct 24, 2022, 11:08:59 PM" }, "findingArn": "arn:aws:inspector2:us-east-1:111122223333:finding/FINDING_ID", "firstObservedAt": "Jan 19, 2023, 10:46:15 PM", "fixAvailable": "YES", "lastObservedAt": "Jan 19, 2023, 10:46:15 PM", "packageVulnerabilityDetails": { "cvss": [{ "baseScore": 4.7, "scoringVector": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H", "source": "NVD", "version": "3.1" }], "referenceUrls": ["https://lore.kernel.org/all/CAFcO6XN7JDM4xSXGhtusQfS2mSBcx50VJKwQpCq=WeLt57aaZA@mail.gmail.com/", "https://ubuntu.com/security/notices/USN-5792-1", "https://ubuntu.com/security/notices/USN-5791-2", "https://ubuntu.com/security/notices/USN-5791-1", "https://ubuntu.com/security/notices/USN-5793-2", "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8423f0b6d513b259fdab9c9bf4aaa6188d054c2d", "https://ubuntu.com/security/notices/USN-5793-1", "https://ubuntu.com/security/notices/USN-5792-2", "https://ubuntu.com/security/notices/USN-5791-3", "https://ubuntu.com/security/notices/USN-5793-4", "https://ubuntu.com/security/notices/USN-5793-3", "https://git.kernel.org/linus/8423f0b6d513b259fdab9c9bf4aaa6188d054c2d(6.0-rc5)", "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-3303"], "relatedVulnerabilities": [], "source": "UBUNTU_CVE", "sourceUrl": "https://people.canonical.com/~ubuntu-security/cve/2022/CVE-2022-3303.html", "vendorCreatedAt": "Sep 27, 2022, 11:15:00 PM", "vendorSeverity": "medium", "vulnerabilityId": "CVE-2022-3303", "vulnerablePackages": [{ "arch": "X86_64", "epoch": 0, "fixedInVersion": "0:5.15.0.1027.31~20.04.16", "name": "linux-image-aws", "packageManager": "OS", "remediation": "apt update && apt install --only-upgrade linux-image-aws", "version": "5.15.0.1026.30~20.04.16" }] }, "remediation": { "recommendation": { "text": "None Provided" } }, "resources": [{ "details": { "awsEc2Instance": { "iamInstanceProfileArn": "arn:aws:iam::111122223333:instance-profile/AmazonSSMRoleForInstancesQuickSetup", "imageId": "ami-0b7ff1a8d69f1bb35", "ipV4Addresses": ["172.31.85.212", "44.203.45.27"], "ipV6Addresses": [], "launchedAt": "Jan 19, 2023, 7:53:14 PM", "platform": "UBUNTU_20_04", "subnetId": "subnet-8213f2a3", "type": "t2.micro", "vpcId": "vpc-ab6650d1" } }, "id": "i-0c2a343f1948d5205", "partition": "aws", "region": "us-east-1", "type": "AWS_EC2_INSTANCE" }], "severity": "MEDIUM", "status": "ACTIVE", "title": "CVE-2022-3303 - linux-image-aws", "type": "PACKAGE_VULNERABILITY", "updatedAt": "Jan 19, 2023, 10:46:15 PM" } }

创建 EventBridge 规则以通知您 Amazon Inspector 的调查发现

为了提高 Amazon Inspector 调查发现的可见性,您可以使用 EventBridge 设置自动调查发现提醒,并将其发送到消息中心。本主题向您展示如何向电子邮件、Slack 或 Amazon Chime 发送严重性为 CRITICALHIGH 的调查发现提醒。您将学习如何设置 Amazon Simple Notification Service 主题,然后将该主题关联到 EventBridge 事件规则。

第 1 步。设置 Amazon SNS 主题和端点

要设置自动警报,必须首先在 Amazon Simple Notification Service 中设置一个主题并添加一个端点。有关更多信息,请参阅 SNS 指南

此过程可确定要将 Amazon Inspector 调查发现数据发送到何处。SNS 主题可在创建事件规则期间或之后添加到 EventBridge 事件规则中。

Email setup
创建 SNS 主题
  1. 登录 Amazon SNS 控制台:https://console.aws.amazon.com/sns/v3/home

  2. 从导航窗格中选择主题,然后选择创建主题

  3. 创建主题部分中,选择标准。接下来,输入主题名称,如 Inspector_to_Email。其他详细信息是可选的。

  4. 选择创建主题。这将打开一个包含新主题详细信息的新面板。

  5. 订阅部分中,选择创建订阅

    1. 协议菜单中选择电子邮件

    2. 端点字段中,添加您想要用于接收通知的电子邮件地址。

      注意

      创建订阅后,您需要通过电子邮件客户端确认订阅。

    3. 选择创建订阅

  6. 在收件箱中查收订阅消息,然后选择确认订阅

Slack setup
创建 SNS 主题
  1. 登录 Amazon SNS 控制台:https://console.aws.amazon.com/sns/v3/home

  2. 从导航窗格中选择主题,然后选择创建主题

  3. 创建主题部分中,选择标准。接下来,输入主题名称,如 Inspector_to_Slack。其他详细信息是可选的。选择创建主题以完成端点的创建。

配置 Amazon Chatbot 客户端
  1. 导航到 Amazon Chatbot 控制台,网址为:https://console.amazonaws.cn/chatbot/

  2. 配置的客户端面板中选择配置新的客户端

  3. 选择 Slack,然后选择配置以确认。

    注意

    选择 Slack 时,必须通过选择允许来确认 Amazon Chatbot 访问通道的权限。

  4. 选择配置新通道以打开配置详细信息窗格。

    1. 输入通道的名称。

    2. 对于 Slack 通道,选择您要使用的通道。

    3. 在 Slack 中,右键单击通道名称并选择复制链接,复制私有通道的通道 ID。

    4. 在Amazon Web Services Management Console的 Amazon Chatbot 窗口中,将从 slack 复制的通道 ID 粘贴到私有通道 ID 字段。

    5. 权限中,如果您还没有角色,请选择使用模板创建 IAM 角色。

    6. 对于策略模板,请选择通知权限。这是 Amazon Chatbot 的 IAM policy 模板。此策略能够为 CloudWatch 警报、事件和日志以及 Amazon SNS 主题,提供必要的读取和列出权限。

    7. 要查看通道防护机制策略,请选择 AmazonInspector2ReadOnlyAccess

    8. 选择您之前创建 SNS 主题的区域,然后选择您创建的用于向 Slack 通道发送通知的 Amazon SNS 主题。

  5. 选择配置

Amazon Chime setup
创建 SNS 主题
  1. 登录 Amazon SNS 控制台:https://console.aws.amazon.com/sns/v3/home

  2. 从导航窗格中选择主题,然后选择创建主题

  3. 创建主题部分中,选择标准。接下来,输入主题名称,如 Inspector_to_Chime。其他详细信息是可选的。选择创建主题以完成。

配置 Amazon Chatbot 客户端
  1. 导航到 Amazon Chatbot 控制台,网址为:https://console.amazonaws.cn/chatbot/

  2. 已配置的客户端面板中选择配置新客户端

  3. 选择 Chime,然后选择配置以确认。

  4. 配置详细信息窗格中,输入通道的名称。

  5. 在 Amazon Chime 中打开所需的聊天室。

    1. 选择右上角的齿轮图标,然后选择管理 Webhook 和自动程序

    2. 选择复制 URL 以将 Webhook URL 复制到剪贴板。

  6. 在Amazon Web Services Management Console的 Amazon Chatbot 窗口中,将复制的 URL 粘贴到 Webhook URL 字段中。

  7. 权限中,如果您还没有角色,请选择使用模板创建 IAM 角色。

  8. 对于策略模板,请选择通知权限。这是 Amazon Chatbot 的 IAM policy 模板。此模板能够为 CloudWatch 警报、事件和日志以及 Amazon SNS 主题,提供必要的读取和列出权限。

  9. 选择您之前创建 SNS 主题的区域,然后选择您创建的用于向 Amazon Chime 聊天室发送通知的 Amazon SNS 主题。

  10. 选择配置

第 2 步。为 Amazon Inspector 调查发现创建 EventBridge 规则

  1. 访问 https://console.aws.amazon.com/events/,打开 Amazon EventBridge 控制台。

  2. 从导航窗格中选择规则,然后选择创建规则

  3. 输入规则名称,另还可选择输入描述。

  4. 选择具有事件模式的规则,然后选择下一步

  5. 事件模式窗格中,选择自定义模式(JSON 编辑器)

  6. 将下面的 JSON 粘贴到编辑器中。

    { "source": ["aws.inspector2"], "detail-type": ["Inspector2 Finding"], "detail": { "severity": ["HIGH", "CRITICAL"], "status": ["ACTIVE"] } }
    注意

    此模式会针对 Amazon Inspector 检测到的各种严重性为 CRITICALHIGH 的活动调查发现发送通知。

    输入完事件模式后,选择下一步

  7. 选择目标页面上,选择 Amazon Web Service。然后,对于选择目标类型,选择 SNS 主题

  8. 对于选择主题,请选择您在第 1 步中创建的 SNS 主题的名称。然后选择下一步

  9. 根据需要添加可选标签,然后选择下一步

  10. 检查规则,然后选择创建规则

适用于 Amazon Inspector 多账户环境的 EventBridge

如果您是 Amazon Inspector 委托管理员,则您的账户中显示的 EventBridge 规则取决于您的成员账户的适用调查发现。如果您在管理员账户中通过 EventBridge 设置了调查发现通知(如上一部分所述),您将收到有关多个账户的通知。换句话说,除了您自己账户生成的调查发现和事件的通知外,您还会收到您的成员账户生成的调查发现和事件的通知。

您可以使用调查发现的 JSON 详细信息中的 accountId 来识别产生 Amazon Inspector 调查发现的成员账户。