zoukankan      html  css  js  c++  java
  • Amazon GuardDuty

    Amazon GuardDuty 是一个持续的安全性监控服务,可以分析和处理以下数据源:VPC 流日志AWS CloudTrail管理事件日志、CloudTrail S3 数据事件日志和 DNS 日志。它使用威胁情报源(例如,恶意 IP 地址和域的列表)和机器学习来标识您AWS环境。这包括了特权升级、使用遭暴露的凭证或者与恶意 IP 地址或域通信等问题。例如,GuardDuty 可检测提供恶意软件或进行比特币挖矿的受损 EC2 实例。它还监控AWS帐户访问行为是否有受损迹象,如未经授权的基础设施部署(例如,在从未使用过的区域中部署的实例)或异常的 API 调用(例如,更改密码策略以减小密码强度)。

    GuardDuty 将通知您您的AWS环境中通过产生安全结果,您可以在 GuardDuty 控制台中查看,也可以通过Amazon CloudWatch 事件。

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

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

    请注意以下有关启用 GuardDuty 的:

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

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

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

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

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

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

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

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

    选择 Get Started 。

    选择 Enable GuardDuty (启用 GuardDuty)。

    第 2 步:生成样本发现并探索基本操作
    当 GuardDuty 发现安全问题时,它会产生一个发现。GuardDuty 发现是一个包含与该独特安全问题相关的详细信息的数据集。该调查结果的详细信息可用于帮助你调查问题。

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

    创建和探索示例调查结果

    在导航窗格中,选择 Settings。

    在 Settings 页面上的 Sample findings 下,选择 Generate sample findings。

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

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

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

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

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

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

    存档所有样本调查结果

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

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

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

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

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

    配置 S3 导出

    在导航窗格中,选择 Settings。

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

    Select新存储桶.

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

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

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

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

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

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

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

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

    Replace区域KMS 密钥所在的区域。Replace111122223333使用AWS拥有存储桶的账号。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"
    }
    }
    }
    返回您正在配置查找结果导出的 GuardDuty 控制台选项卡。

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

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

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

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

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

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

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

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

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

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

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

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

    选择创建订阅。

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

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

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

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

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

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

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

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

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

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

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

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

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

    {
    "severity": "\(.detail.severity", "Finding_ID": "\).detail.id",
    "Finding_Type": "\(.detail.type", "region": "\).region",
    "Finding_description": "$.detail.description"
    }

    复制以下代码并将其粘贴到 Input Template (输入模板) 字段中,以便格式化电子邮件。

    "You have a severity GuardDuty finding type <Finding_Type> in the region."
    "Finding Description:"
    "<Finding_description>. "
    "For more details open the GuardDuty console at https://console.aws.amazon.com/guardduty/home?region=#/findings?search=id%3D<Finding_ID>"

    选择Create以最终确定你的规则。

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

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

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

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

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

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

    https://docs.aws.amazon.com/zh_cn/guardduty/latest/ug/guardduty_settingup.html

  • 相关阅读:
    博弈论(SG函数):HNOI 2007 分裂游戏
    博弈论(二分图匹配):NOI 2011 兔兔与蛋蛋游戏
    博弈论(男人八题):POJ 1740 A New Stone Game
    动态规划(树形DP):HDU 5834 Magic boy Bi Luo with his excited tree
    杂项(最小表示法):HZOI 2015 Glass Beads
    如何避免死锁
    死锁的四个必要条件
    线程安全和可重入函数之间的区别和联系
    信号量 sem_undo设置
    linux管道的容量和内部组织方式
  • 原文地址:https://www.cnblogs.com/heidsoft/p/15733235.html
Copyright © 2011-2022 走看看