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

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

入门 GuardDuty

本教程提供了动手操作介绍 GuardDuty。步骤 1 中介绍了以独立账户或 GuardDuty 管理员 GuardDuty 身份启用的最低要求。 Amazon Organizations 第 2 步到第 5 步涵盖使用推荐的其他功能, GuardDuty 以充分利用您的发现。

开始前的准备工作

GuardDuty 是一项威胁检测服务,用于监控基础数据来源 Amazon CloudTrail 事件日志、 Amazon CloudTrail 管理事件、Amazon VPC 流日志和 DNS 日志等。 GuardDuty 还会分析与其保护类型相关的功能,前提是您单独启用了这些功能。功能包括 Kubernetes 审计日志、RDS 登录活动、S3 日志、EBS 卷、运行时监控和 Lambda 网络活动日志。使用这些数据源和功能(如果启用), GuardDuty 可以为您的账户生成安全调查结果。

启用后 GuardDuty,它会开始监视您的环境。您可以随时 GuardDuty 为任何地区的任何账户禁用。这将停止 GuardDuty 处理基础数据源和任何单独启用的功能。

您不需要显式启用任何 基础数据来源。Amazon 直接从这些服务中 GuardDuty 提取独立的数据流。对于新 GuardDuty 账户,默认情况下,支持的所有可用保护类型 Amazon Web Services 区域 均已启用并包含在 30 天免费试用期内。您可以选择退出其中任何一个或全部退出。如果您是现有 GuardDuty 客户,则可以选择启用您的任何或所有可用的保护计划 Amazon Web Services 区域。有关更多信息,请参阅中与每种保护类型关联的功能 GuardDuty。

启用时 GuardDuty,请考虑以下各项

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

    我们强烈建议您在所有支持的 Amazon 区域 GuardDuty 中启用。这样 GuardDuty ,即使在您未积极使用的区域,也可以生成有关未经授权或异常活动的调查结果。这还 GuardDuty 允许监控 IAM 等全球 Amazon 服务 Amazon CloudTrail 的事件。如果 GuardDuty 未在所有支持的区域中都启用该功能,则其检测涉及全球服务的活动的能力就会降低。有关可用地区的完整列表,请参阅区域和端点。 GuardDuty

  • Amazon 账户中任何具有管理员权限的用户都可以启用 GuardDuty,但是,按照最低权限的安全最佳实践,建议您创建一个 IAM 角色、用户或群组来 GuardDuty 专门管理。有关启用所需的权限的信息, GuardDuty 请参阅启用 GuardDuty 所需的权限

  • 当您在任何区域 GuardDuty 首次启用时 Amazon Web Services 区域,默认情况下,它还会启用该区域支持的所有可用保护类型,包括恶意软件防护。 GuardDuty 为您的账户创建一个名为的服务关联角色。AWSServiceRoleForAmazonGuardDuty此角色包括权限和信任策略, GuardDuty 允许直接使用和分析来自的事件基础数据来源以生成安全调查结果。恶意软件防护会为您的账户创建另一个名为 AWSServiceRoleForAmazonGuardDutyMalwareProtection 的服务相关角色。此角色包括允许恶意软件防护执行无代理扫描以检测您 GuardDuty 账户中的恶意软件的权限和信任策略。它 GuardDuty 允许在您的账户中创建 EBS 卷快照,并与 GuardDuty 服务账户共享该快照。有关更多信息,请参阅 的服务相关角色权限 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. 选择开始使用

  3. 选择 “启用” GuardDuty。

Multi-account environment
重要

作为此过程的先决条件,您必须与要管理的所有账户属于同一个组织,并且有权访问 Amazon Organizations 管理账户,才能在组织 GuardDuty 内委派管理员。委托管理员可能需要其他权限,有关更多信息,请参阅 指定委派 GuardDuty 管理员账号所需的权限

指定委派 GuardDuty 管理员账户

  1. 使用管理账户打开 Amazon Organizations 控制台,网址为 https://console.aws.amazon.com/organizations/

  2. 打开 GuardDuty 控制台,网址为 https://console.aws.amazon.com/guardduty/

    您的账户 GuardDuty 已经启用了吗?

    • 如果 GuardDuty 尚未启用,则可以选择 “开始”,然后在 “欢迎使用” GuardDuty 页面上指定 GuardDuty 委派管理员。

    • 如果 GuardDuty 已启用,则可以在 “设置” 页面上指定 GuardDuty 委派管理员。

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

    注意

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

要添加成员账户

此过程包括通过向 GuardDuty 委派管理员账户添加成员帐户 Amazon Organizations。还可以选择通过邀请添加成员。要详细了解中两种关联成员的方法 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. 在导航窗格中,选择设置

  2. 设置页面上的示例调查发现下,选择生成示例调查发现

  3. 在导航窗格中,选择调查发现。示例调查发现显示在当前调查发现页面上,并带有前缀 [SAMPLE]

  4. 从列表中选择一个调查发现,显示该调查发现的详细信息。

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

      • 选择窗格顶部的调查发现 ID 以打开调查发现的完整 JSON 详细信息。也可以从此面板下载完整的 JSON 文件。JSON 包含控制台视图中未包含的一些附加信息,并且是可以由其他工具和服务摄取的格式。

      • 查看受影响的资源部分。实际调查结果是,此处的信息将帮助您确定账户中应进行调查的资源,并将包括指向相应 Amazon Web Services Management Console 可操作资源的链接。

      • 选择“+”或“-”视镜图标,为详细信息创建包含或排除筛选条件。有关调查发现筛选条件的更多信息,请参阅 筛选结果

  5. 存档所有示例调查发现

    1. 选中列表顶部的复选框以选择所有调查发现。

    2. 取消选择您要保留的所有调查发现。

    3. 选择操作菜单,然后选择存档以隐藏示例调查发现。

      注意

      要查看存档的调查发现,选择当前,然后选择已存档以切换调查发现视图。

步骤 3:配置将 GuardDuty 结果导出到 Amazon S3 存储桶

GuardDuty 建议配置设置以导出调查结果,因为它允许您将调查结果导出到 S3 存储桶,以便在 GuardDuty 90 天保留期之后无限期存储。这使您可以记录发现结果或跟踪 Amazon 环境中一段时间内的问题。此处概述的过程将引导您设置新的 S3 存储桶,并创建新的 KMS 密钥以便对控制台中的调查发现进行加密。有关这方面的更多信息,包括如何使用您自己的现有存储桶或其他账户中的存储桶,请参阅 导出调查发现

要配置 S3 导出调查发现选项
  1. 要对调查结果进行加密,您需要一个 KMS 密钥,其策略 GuardDuty 允许使用该密钥进行加密。以下步骤将帮助您创建新的 KMS 密钥。如果您使用的是其他账户的 KMS 密钥,则需要通过登录拥有 Amazon Web Services 账户 该密钥的账户来应用密钥策略。KMS 密钥和 S3 存储桶必须位于同一区域。但对于要从中导出调查发现的每个区域,可以使用相同的存储桶和密钥对。

    1. 打开 Amazon KMS 控制台,网址为 https://console.aws.amazon.com/kms

    2. 要更改 Amazon Web Services 区域,请使用页面右上角的区域选择器。

    3. 在导航窗格中,选择客户托管密钥

    4. 选择 Create key

    5. 密钥类型下选择对称,然后选择下一步

      注意

      有关创建 KMS 密钥的详细步骤,请参阅《Amazon Key Management Service 开发人员指南》中的创建密钥

    6. 为您的密钥提供别名,然后选择下一步

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

    8. 查看配置后,选择完成以创建密钥。

    9. 客户管理的密钥页面上,选择密钥别名。

    10. 密钥政策选项卡中,选择切换到策略视图

    11. 选择编辑并将以下密钥策略添加到您的 KMS 密钥中,授予对您的密钥的 GuardDuty 访问权限。此语句仅 GuardDuty 允许使用您添加此策略的密钥。编辑密钥政策时,确保 JSON 语法有效。如果在最后一条语句之前添加语句,则必须在右括号之后加一个逗号。

      { "Sid": "AllowGuardDutyKey", "Effect": "Allow", "Principal": { "Service": "guardduty.amazonaws.com" }, "Action": "kms:GenerateDataKey", "Resource": "arn:aws:kms:Region1:444455556666:key/KMSKeyId", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333", "aws:SourceArn": "arn:aws:guardduty:Region2:111122223333:detector/SourceDetectorID" } } }

      Region1 替换为 KMS 密钥的区域。将 444455556666 替换为拥有 KMS 密钥的。 Amazon Web Services 账户 将 KMS KeyId 替换为您选择进行加密的 KMS 密钥的密钥 ID。要识别所有这些值(区域 Amazon Web Services 账户、和密钥 ID),请查看您的 KMS 密钥的 ARN。要查找密钥 ARN,请参阅查找密钥 ID 和 ARN

      同样,将 111122223333 替换为账户的。 Amazon Web Services 账户 GuardDuty 将 “区域 2” 替换为 GuardDuty 账户所在区域。将 SourceDetectorID 替换为区域 2 GuardDuty 账户的探测器 ID。

      要查找您的账户和当前地区detectorId对应的,请参阅 https://console.aws.amazon.com/guardduty/ 控制台中的 “设置” 页面。

    12. 选择保存

  2. 打开 GuardDuty 控制台,网址为 https://console.aws.amazon.com/guardduty/

  3. 在导航窗格中,选择 Settings(设置)

  4. 调查发现导出选项下,选择立即配置

  5. 选择新存储桶。为 S3 存储桶提供一个唯一名称。

  6. (可选)您可以通过生成示例调查发现来测试新的导出设置。在导航窗格中,选择 Settings(设置)

  7. 示例调查发现部分,选择生成示例调查发现。新的示例发现结果将在最多五分钟后作为条目显示 GuardDuty 在创建的 S3 存储桶中。

第 4 步:通过 SNS 设置 GuardDuty 查找提醒

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

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

要为您的调查发现警报创建 SNS 主题

  1. 通过 https://console.aws.amazon.com/sns/v3/home 打开 Amazon SNS 控制台。

  2. 在导航窗格中,选择 Topics(主题)

  3. 选择创建主题

  4. 对于类型,选择标准

  5. 对于名称,请输入 GuardDuty

  6. 选择创建主题。这将打开新主题的主题详细信息。

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

  8. 对于协议,选择电子邮件

  9. 对于端点,输入要向其发送通知的电子邮件地址。

  10. 选择创建订阅

    创建订阅后,必须通过电子邮件确认订阅。

  11. 要查看订阅消息,请进入您的电子邮件收件箱,然后在订阅消息中选择确认订阅

    注意

    要查看电子邮件确认状态,请进入 SNS 控制台,然后选择订阅

创建用于捕获 GuardDuty 发现结果并对其进行格式化的 EventBridge 规则

  1. 打开 EventBridge 控制台,网址为 https://console.aws.amazon.com/events/

  2. 在导航窗格中,选择规则

  3. 选择创建规则

  4. 为规则输入名称和描述。

    规则不能与同一区域中的另一个规则和同一事件总线上的名称相同。

  5. 对于事件总线,选择默认

  6. 对于规则类型,选择具有事件模式的规则

  7. 选择下一步

  8. 对于事件源,选择 Amazon 事件

  9. 对于事件模式,选择事件模式表

  10. 对于事件源,选择Amazon 服务

  11. 对于 Amazon Service,选择 GuardDuty

  12. 对于 “事件类型”,选择 “GuardDuty查找”。

  13. 选择 Next(下一步)

  14. 对于目标类型,选择Amazon 服务

  15. 对于选择目标,选择 SNS 主题;对于主题,选择您先前创建的 SNS 主题的名称。

  16. 其他设置部分,对于配置目标输入,选择输入转换器

    添加输入转换器会将从中发送的 JSON 查找数据格式 GuardDuty 化为人类可读的消息。

  17. 选择 Configure input transformer(配置输入转换器)。

  18. 目标输入转换器部分,对于输入路径,粘贴以下代码:

    { "severity": "$.detail.severity", "Finding_ID": "$.detail.id", "Finding_Type": "$.detail.type", "region": "$.region", "Finding_description": "$.detail.description" }
  19. 要格式化电子邮件,请在 “模板” 中粘贴以下代码,并确保将红色文本替换为适合您所在地区的值:

    "You have a severity severity GuardDuty finding type Finding_Type in the Region_Name 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%3DFinding_ID"
  20. 选择确认

  21. 选择 Next(下一步)

  22. (可选)为规则输入一个或多个标签。有关更多信息,请参阅《亚马逊 EventBridge 用户指南》中的亚马逊 EventBridge 标签

  23. 选择下一步

  24. 查看规则详细信息并选择创建规则

  25. (可选)使用步骤 2 中的过程生成示例调查发现来测试新规则。对于生成的每个示例调查发现,您都会收到一封电子邮件。

后续步骤

在您继续使用时 GuardDuty,您将逐渐了解与您的环境相关的发现类型。每当收到新调查发现时,您都可以从调查发现详细信息窗格上的调查发现描述中选择了解更多,或在 调查发现类型 上搜索调查发现名称来查找信息,包括有关调查发现的修复建议。

以下功能将帮助您进行调整, GuardDuty 使其能够为您的 Amazon 环境提供最相关的发现:

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

  • 如果您收到有关环境中预期行为的调查发现,则可以根据您使用抑制规则定义的标准自动存档调查发现。

  • 为了防止从一部分可信 IP 生成调查结果,或者将 GuardDuty 监控 IP 置于正常监控范围之外,您可以设置可信 IP 和威胁列表