入门 GuardDuty - Amazon GuardDuty

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

入门 GuardDuty

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

开始前的准备工作

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

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

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

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

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

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

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

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

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

入门: GuardDuty为独立或多账户环境启用 Amazon

第 1 步:启用 Amazon GuardDuty

使用的第一步 GuardDuty 是在您的账户中将其启用。启用后, GuardDuty将立即开始监控当前区域中的安全威胁。

如果您想以 GuardDuty 管理员身份管理组织内其他账户的 GuardDuty 调查结果,则必须添加成员账户 GuardDuty 并为其启用。

注意

如果您想在不启用 S3 的情况下启用 GuardDuty 恶意软件防护 GuardDuty,则有关步骤,请参阅GuardDuty S3 恶意软件防护

Standalone account environment
  1. 在以下位置打开 GuardDuty 控制台 https://console.aws.amazon.com/guardduty/

  2. 选择 “A mazon GuardDuty -所有功能” 选项。

  3. 选择开始

  4. 在 “欢迎使用 GuardDuty” 页面上,查看服务条款。选择 “启用” GuardDuty。

Multi-account environment
重要

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

指定委派 GuardDuty 管理员账户

  1. 使用管理账户在上https://console.aws.amazon.com/organizations/打开 AWS Organizations 控制台。

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

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

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

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

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

    注意

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

要添加成员账户

此过程包括通过向 GuardDuty 委派管理员账户添加成员帐户 AWS 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. 在导航窗格中,选择 Su m mary 以查看有关在您的 AWS 环境中生成的发现的见解。有关“摘要”控制面板组件的更多信息,请参阅 摘要控制面板

  4. 在导航窗格中,选择 调查发现。样本发现结果显示在 “当前查找结果” 页面上,前缀为 [SAMPLE]

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

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

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

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

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

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

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

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

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

      注意

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

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

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

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

    1. https://console.aws.amazon.com/km AWS KMS s 处打开控制台。

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

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

    4. 选择 Create key

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

      注意

      有关创建KMS密钥的详细步骤,请参阅《AWS 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" } } }

      Replace(替换) Region1 使用您的KMS密钥所在区域。Replace(替换) 444455556666 用 AWS 账户 拥有KMS钥匙的。Replace(替换) KMSKeyId 使用您选择进行加密的KMS密钥的密钥 ID。要识别所有这些值(区域 AWS 账户、和密钥 ID),请查看您的KMS密钥的。ARN要找到密钥ARN,请参阅查找密钥 ID 和ARN

      同样,替换 111122223333 用 GuardDuty 账户 AWS 账户 的。Replace(替换) Region2 使用 GuardDuty 账户所在的地区。Replace(替换) SourceDetectorID 使用 GuardDuty 账户的探测器 ID Region2.

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

    12. 选择保存

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

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

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

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

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

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

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

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

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

为你的发现创建SNS主题提醒

  1. https://console.aws.amazon.com/sns/v3/ hom SNS e 上打开亚马逊主机。

  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. 对于事件源,选择 AWS 事件

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

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

  11. 对于 AWS Service,选择 GuardDuty

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

  13. 选择下一步

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

  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. 选择下一步

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

  23. 选择下一步

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

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

后续步骤

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

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

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

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

  • 为了防止从受信任的子集生成调查结果IPs,或者将 GuardDuty 监视器置于正常监控范围IPs之外,您可以设置可信 IP 和威胁列表