入门 GuardDuty - Amazon GuardDuty
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

入门 GuardDuty

本教程介绍 GuardDuty 的实际操作。作为独立账户或 GuardDuty 管理员启用 GuardDuty 的最低要求Amazon Organizations在步骤 1 中介绍。步骤 2 至 5 涵盖了使用 GuardDuty 推荐的其他功能来充分利用你的发现。

开始前的准备工作

GuardDuty 是一项监控服务,它分析Amazon CloudTrail管理和 Amazon S3 数据事件、VPC 流日志和 DNS 日志,以生成账户的安全结果。启用 GuardDuty 后,它会立即开始监控您的环境。您可以随时禁用 GuardDuty 以使其停止处理所有Amazon CloudTrail事件、VPC 流日志和 DNS 日志。

注意

您不需要启用Amazon CloudTrail在启动 GuardDuty 之前,Amazon S3 数据事件、VPC 流日志和 DNS 日志。Amazon GuardDuty 直接从这些服务中提取独立的数据流。有关更多信息,请参阅Amazon GuardDuty 如何使用其数据源.

请注意以下有关启用 GuardDuty 的

  • GuardDuty 是一项区域性服务,这意味着您在本页面上遵循的任何配置过程都必须在您想要使用 GuardDuty 监控的每个区域重复。

    我们强烈建议您在所有支持的情况下启用 GuardDutyAmazon地区。这将使 GuardDuty 生成有关未授权或异常活动的结果,甚至在您未主动使用的区域中也可以。这也使 GuardDuty 能够监控Amazon CloudTrail全球活动Amazon诸如 IAM 之类的服务。如果未在所有支持的区域中启用 GuardDuty,则其检测涉及全球性服务的能力将会减弱。有关支持 GuardDuty 的区域的完整列表,请参阅。区域和终端节点.

  • 具有管理员权限的任何用户Amazon账户可以启用 GuardDuty,但是,根据最小权限的安全最佳做法,建议您创建 IAM 用户、角色或组以专门管理 GuardDuty。有关启用 GuardDuty 所需权限的信息,请参阅。启用 GuardDuty 所需的权限.

  • 当您首次在任何地区启用 GuardDuty 时,它会为您的账户创建一个名为AWSServiceRoleForAmazonGuardDuty. 该角色包括允许 GuardDuty 直接从使用和分析事件的权限和信任策略。Amazon CloudTrail、VPC Flow 日志和 DNS 日志,以便生成安全发现。有关更多信息,请参阅GuardDuty 的服务相关角色权限。有关服务相关角色的更多信息,请参阅使用服务相关角色.

  • 当你首次在任何地区启用 GuardDuty 时Amazon该账户将自动注册为期 30 天的 GuardDuty 免费试用。

第 1 步:启用 Amazon GuardDuty

使用 GuardDuty 的第一步是在你的帐户中启用它。启用后,GuardDuty 将立即开始监控当前地区的安全威胁。

如果您想以 GuardDuty 管理员身份管理组织内其他账户的 GuardDuty 调查结果,则必须添加会员帐户并为其启用 GuardDuty。选择一个选项以了解如何为您的环境启用 GuardDuty。

Standalone account environment
  1. 从打开 GuardDuty 控制台https://console.aws.amazon.com/guardduty/

  2. 选择 Get Started

  3. 选择 Enable GuardDuty (启用 GuardDuty)

Multi-account environment
重要

作为此过程的先决条件,您必须与要管理的所有帐户位于同一组织中,并且有权访问Amazon Organizations管理帐户,以便为组织内的 GuardDuty 委派管理员。委派管理员可能需要额外的权限,有关详细信息,请参阅指定委派管理员所需的权限.

为 GuardDuty 委派管理员

  1. 登录到Amazon Organizations管理账户

  2. 从打开 GuardDuty 控制台https://console.aws.amazon.com/guardduty/.

    是否已在您的账户中启用 GuardDuty?

    • 如果尚未启用 GuardDuty,则可以选择开始使用然 GuardDuty 在欢迎使用 GuardDuty页.

    • 如果启用 GuardDuty,您可以在设置页.

  3. 输入十二位数Amazon要指定为组织的 GuardDuty 委派管理员的账户 ID,然后选择委托.

    注意

    如果尚未启用 GuardDuty,则指定委派管理员将为您当前区域中的该账户启用 GuardDuty。

添加成员账户

此过程涵盖通过以下方式向 GuardDuty 委托管理员帐户添加成员Amazon Organizations. 还可以选择通过邀请添加成员。要了解有关在 GuardDuty 中将成员关联的两种方法的更多信息,在 Amazon GuardDuty 中管理多个账户 Amazon服务与 GuardDuty 的集成.

  1. 登录到委派管理员账户

  2. 从打开 GuardDuty 控制台https://console.aws.amazon.com/guardduty/.

  3. 在导航窗格中,选择 Settings (设置),然后选择 Accounts (账户)

    账户表显示组织中的所有账户。

  4. 通过选择账户 ID 旁边的框,选择要添加为成员的账户。然后从操作菜单选择添加成员.

    提示

    您可以通过打开自动启用但是,这仅适用于启用该功能后加入组织的帐户。

第 2 步:生成样本发现并探索基本操作

当 GuardDuty 发现安全问题时,它会产生一个发现。GuardDuty 发现是一个包含与该独特安全问题相关的详细信息的数据集。该调查结果的详细信息可用于帮助你调查问题。

GuardDuty 支持生成具有占位符值的示例调查结果,可用于测试 GuardDuty 功能并熟悉调查结果,然后再对 GuardDuty 发现的真正安全问题作出回应。按照以下指南为 GuardDuty 中可用的每种发现类型生成示例调查结果,有关生成示例调查结果的其他方法(包括在账户中生成模拟安全事件),请参阅示例发现结果.

创建和探索示例调查结果

  1. 在导航窗格中,选择 Settings

  2. Settings 页面上的 Sample findings 下,选择 Generate sample findings

  3. 在导航窗格中,选择 Findings (结果)。示例调查结果显示在当前的发现带有前缀的页面[示例].

  4. 从列表中选择查找结果以显示查找结果的详细信息。

    1. 您可以查看查找详细信息窗格中可用的不同信息字段。不同类型的发现可以有不同的字段。有关所有查找类型的可用字段的更多信息,请参阅。查找详细信息. 在详细信息窗格中,您可以执行以下操作:

      • 选择查找 ID在窗格顶部打开查结果的完整 JSON 详细信息。也可以从此面板下载完整的 JSON 文件。JSON 包含一些未包含在控制台视图中的其他信息,是其他工具和服务可以吸收的格式。

      • 查看影响的资源部分。在真实发现中,此处的信息将帮助您识别账户中应调查的资源,并将包括指向相应的Amazon控制台以获取可操作的资源。

      • 选择 + 或-外观玻璃图标,为该细节创建包容性或独家筛选器。有关查找筛选条件的更多信息,筛选结果

  5. 存档所有样本调查结果

    1. 通过选中列表顶部的复选框,选择所有结果。

    2. 取消选择你想保留的任何调查结果。

    3. 选择操作菜单然后选择存档以隐藏样本发现。

      注意

      要查看存档的结果,请选择最新然后已存档以切换调查结果视图。

第 3 步:将 GuardDuty 结果导出到 S3 存储桶

GuardDuty 建议设置调查结果导出,这允许您将调查结果导出到 S3 存储桶,以便在 GuardDuty 90 天存储限制之外无限期存储。这使您可以记录发现情况或跟踪环境中随着时间的推移而存在的问题。此处概述的过程将引导您完成设置新 S3 存储桶和创建新的 KMS 密钥以加密控制台内的查找结果,有关此的更多信息,包括如何在另一个账户中使用自己的现有存储桶或存储桶,请参阅导出查结果.

配置 S3 导出

  1. 在导航窗格中,选择 Settings

  2. 结果导出选项选择立即配置.

  3. Select新存储桶.

    1. 为存储桶输入唯一的名称。

  4. 要加密查找结果,您需要一个 KMS 密钥,其中包含允许 GuardDuty 使用它的策略。您可以将以下部分中概述的策略附加到现有密钥,也可以从控制台创建新的 KMS 密钥。密钥必须与您的 S3 存储桶位于同一区域。有关 KMS 密钥的更多信息请参阅创建密钥.

    要创建新的密钥,请选择转到 KMS 控制台创建新密钥在新选项卡中打开 KMS 控制台并按照以下说明操作:

    1. 在 KMS 控制台中选择创建密钥.

    2. 选择对称然后选择下一步.

    3. 给你的钥匙一个别名然后选择下一步.

    4. 选择下一步然后下一步再次接受默认管理和使用权限。

    5. 查看和编辑密钥策略窗格将以下语句添加到"Statements":部分。

      Replace区域KMS 密钥所在的区域。Replace111122223333使用Amazon拥有存储桶的账号。ReplaceKMSKeyId使用您选择用于加密和替换的密钥的密钥 ID源检测器 ID使用来源账户的当前地区的 GuardDuty 检测器 ID。

      该语句允许 GuardDuty 仅使用您更改策略的密钥。编辑密钥策略时,请确保 JSON 语法有效,如果在最后一条语句之前添加语句,则必须在结束括号后添加逗号。

      { "Sid": "AllowGuardDutyKey", "Effect": "Allow", "Principal": { "Service": "guardduty.amazonaws.com" }, "Action": "kms:GenerateDataKey", "Resource": "arn:aws:kms:Region:111122223333:key/KMSKeyId", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333", "aws:SourceArn": "arn:aws:guardduty:Region:111122223333:detector/SourceDetectorID" } } }
  5. 返回您正在配置查找结果导出的 GuardDuty 控制台选项卡。

    1. 通过选择旁边的刷新图标刷新控制台S3 bucket,现在选择您刚刚创建的密钥密钥别名列表然后选择Save.

  6. (可选)您可以通过使用步骤 2 中的流程生成示例调查结果来测试新的导出设置。新的示例发现将在 5 分钟内作为步骤 3 中 GuardDuty 创建的 S3 存储桶中的条目出现。

第 4 步:通过 SNS 设置 GuardDuty 查找警报

GuardDuty 与 Amazon EventBridge 集成,可用于将调查结果数据发送到其他应用程序和服务进行处理。使用 EventBridge,您可以使用 GuardDuty 调查结果通过将查找事件与目标联系起来触发对调查结果的自动响应Amazon Lambda函数、Amazon EC2 Systems Manager 自动化、Amazon Simple Notification Service (SNS) 等。

在此示例中,您将创建一个 SNS 主题作为 EventBridge 规则的目标,然后您将使用 EventBridge 创建一个从 GuardDuty 捕获发现数据的规则。生成的规则将查找详细信息转发到电子邮件地址。要了解如何将调查结果发送到 Slack 或 Chime,以及修改发送发现警报的类型,请参阅设置 Amazon SNS 主题和终端节点.

为您的结果提醒创建 SNS 主题

  1. 登录 Amazon SNS 控制台:https://console.aws.amazon.com/sns/v3/home.

  2. 从导航窗格中选择 Topics (主题),然后选择 Create Topic (创建主题)

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

  4. 选择 Create Topic。此时系统会打开新主题的主题详细信息。

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

  6. Protocol (协议) 菜单中,选择 Email (电子邮件)

    1. Endpoint (终端节点) 字段中,添加您想要用于接收通知的电子邮件地址。创建后,您需要通过电子邮件客户端确认订阅。

    2. 选择创建订阅

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

    注意

    您可以通过从主题列表在 SNS 控制台中。

创建 EventBridge 规则以捕获 GuardDuty 结果并将其设置格式

  1. 从打开 EventBridge 控制台https://console.aws.amazon.com/events/.

  2. 从导航窗格中选择 Rules (规则),然后选择 Create Rule (创建规则)

    1. 选择事件模式然后按服务预定义的模式.

    2. 来自的服务提供商菜单中,选择Amazon.

    3. 来自的Service name (服务名称)菜单中,选择GuardDuty.

    4. Event Type (事件类型) 菜单中,选择 GuardDuty Finding (GuardDuty 查找)

  3. 选择目标窗格中,来自目标菜单中,选择SNS 主题.

  4. 适用于主题选择您之前创建的 SNS 主题的名称。

  5. Expand配置输入然后选择输入转换器. 输入变压器代码将允许您将 GuardDuty 发送的 JSON 查找数据格式化为易于人类阅读的消息。

  6. 复制以下代码并将其粘贴到 Input Path (输入路径) 字段中。

    { "severity": "$.detail.severity", "Finding_ID": "$.detail.id", "Finding_Type": "$.detail.type", "region": "$.region", "Finding_description": "$.detail.description" }
  7. 复制以下代码并将其粘贴到 Input Template (输入模板) 字段中,以便格式化电子邮件。

    "You have 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>"
  8. 选择Create以最终确定你的规则。

  9. (可选)您可以通过使用步骤 2 中的流程生成示例查找结果来测试新规则。您将收到一封关于生成的每个样本发现的电子邮件

后续步骤

随着你继续使用 GuardDuty,你会了解与你的环境相关的发现类型。每当你收到新发现时,你都可以通过选择以下方法找到信息,包括有关该发现的补救建议了解更多从查找详细信息窗格中的查找结果描述中,或者通过在调查结果类型页.

以下功能将帮助你调整 GuardDuty,以便它可以为你提供最相关的发现Amazon:环境:

  • 要根据特定标准(例如实例 ID、账户 ID、S3 存储桶名称等)轻松对发现进行排序,您可以在 GuardDuty 中创建和保存筛选器。有关更多信息,请参阅筛选结果.

  • 如果您收到环境中预期行为的调查结果,则可以根据定义的标准自动存档调查结果禁止规则.

  • 为了防止来自受信任 IP 的子集生成发现,或者将 GuardDuty 监控 IP 置于正常监控范围之外,您可以设置可信 IP 列表和威胁列表.