- 异常 API 活动
- 可能未经授权的部署和受损实例
- 攻击者的侦察。
GuardDuty 分析和处理 VPC 流日志、AWS CloudTrail 事件日志和 DNS 日志数据源。您无需手动管理这些数据源,因为在您激活 GuardDuty 时会自动利用和分析这些数据。例如,GuardDuty通过独立且重复的流日志流直接从 VPC 流日志功能使用VPC 流日志事件。因此,您不会对现有工作负载产生任何操作负担。
GuardDuty 通过生成您可以在 GuardDuty 控制台中查看或通过Amazon CloudWatch Events使用的安全调查结果来帮助发现您的 AWS 环境中的潜在威胁,该服务使警报可操作并更容易集成到现有事件管理和工作流系统中。
在这篇文章中,我们将向您展示如何创建一个包含如下可视化的仪表板:
您将了解如何使用 AWS 服务为您的 GuardDuty 调查结果提供解决方案,以便您可以记录和可视化它们。
服务包括:
- Amazon Kinesis Data Firehose。该服务提供了一种将流数据加载到任何规模的数据存储和分析工具中的方法。
- 亚马逊 CloudWatch 事件。这提供了描述 AWS 资源变化的近乎实时的系统事件流。
- 亚马逊简单通知服务。这是一个 Web 服务,用于协调和管理向订阅端点或客户端发布消息。
- 亚马逊简单存储服务(Amazon S3)。此服务提供高度可用的对象存储。
- 亚马逊弹性搜索服务。此服务可以轻松创建域并在 AWS 云中部署、操作和扩展 Elasticsearch 集群。
- Elasticsearch是一种流行的开源搜索和分析引擎,适用于日志分析、实时应用程序监控和点击流分析等用例。
- Kibana是一种流行的开源可视化工具,旨在与 Elasticsearch 配合使用。
- Amazon Cognito提供身份验证服务来为 Kibana提供用户名和密码保护。
我们将通过数据流来解释架构并重点介绍您可以使用的其他自定义设置。
- Amazon GuardDuty 在账户中启用并开始监控 CloudTrail 日志、VPC 流日志和 DNS 查询日志。如果检测到威胁,GuardDuty 会将结果转发给 CloudWatch Events。对于新生成的调查结果,GuardDuty在调查结果的 5 分钟内根据其 CloudWatch事件发送通知。CloudWatch Events 允许您将上游通知发送到根据您配置的事件模式过滤的各种服务。我们将配置一个仅转发来自 GuardDuty 服务的事件的事件模式。
- 我们在 CloudWatch 事件规则中定义了两个目标。第一个目标是用于传送到 Elasticsearch 域和 S3 存储桶的 Kinesis Firehose 流。第二个目标是用于电子邮件/短信发现结果通知的 SNS 主题。我们会将所有调查结果发送给我们的目标;但是,您可以使用 Lambda 函数(或通过与 CloudWatch 事件规则匹配的事件模式)过滤和格式化您发送的结果。
- Firehose 流将调查结果提供给 Amazon Elasticsearch,后者为我们的事件调查结果提供可视化和分析。该流还将调查结果传送到 S3 存储桶。S3 存储桶用于长期归档。这些数据可以扩充您的数据湖,您可以使用Amazon Athena等服务来执行高级分析。
- 我们将使用 Kibana 和 Elasticsearch 查询领域特定语言 (DSL) 搜索、探索和可视化 GuardDuty 发现,以获得有价值的见解。Amazon Elasticsearch 有一个内置的 Kibana 插件来可视化数据并执行操作分析。
- 为了提供一种简化且安全的身份验证方法,我们使用 Amazon Cognito 用户池向 Kibana提供用户身份验证。这种方法可以提高传统 IP 白名单或代理基础设施的安全性。
- 我们的第二个 CloudWatch Event 目标是 SNS,它订阅了电子邮件终端节点,允许您的运营团队在收到新的 GuardDuty 事件时接收电子邮件(或 SMS 消息)。
如果您想将来自多个区域的发现集中到一个 S3 存储桶中,您可以调整此服务。您将通过在远程区域中配置 Kinesis Firehose 以指向集中区域中的 S3 存储桶来部署服务的前端。您可以利用 Kinesis Firehose 配置中的前缀来标识源区域。
- 堆栈名称 — 这是您将创建的堆栈的名称
- EmailAddress — 此电子邮件地址用于在 Cognito 中创建用户名和 SNS 主题的订阅者。
- ESDomainName — 这将是给 Elasticsearch 域的名称。
- IndexName — 这将是 Firehose 创建的用于将数据加载到 Elasticsearch 的索引。
- 在左侧菜单中选择仪表板。
- 选择警卫职责摘要链接。
您的 GuardDuty 仪表板将如下所示:
仪表板提供以下可视化:
- 此过滤器允许您从实际结果中过滤样本结果。如果您从 GuardDuty AWS 控制台生成样本调查结果,则此过滤器允许您从控制面板中删除样本调查结果。
- 所述GuardDuty -受影响的实例图表其中EC2实例具有相关联的调查结果显示。此可视化允许您通过在图形中选择特定实例来过滤显示中的特定实例。
- 在执勤-威胁类型的图表可以过滤对普通物攻型(内圈),以及特定的物攻型(外圈)。
- 在执勤-活动每日图表,您可以可视化和在特定的时间或日期过滤器,用来显示该特定时间的调查结果,以及搜索结果中的时间模式。
- GuardDuty —前 10 名调查结果按计数提供前 10 名调查结果的列表。
- GuardDuty — Total Events根据所选标准提供事件总数。该值将根据定义的过滤器而变化。
- 该GuardDuty -热图-端口探头来源国形象化其中port探针选发的国家。这是一个坐标图可视化,可让您查看针对您的实例的端口探测的来源和数量。
- 该GuardDuty -网络连接来源国形象化其中蛮力攻击的来源。这是一个区域地图可视化,可让您突出显示暴力攻击的来源国家/地区。
- GuardDuty — Severity Levels是一个饼图,按严重性级别(高、中、低)显示结果,您可以按特定级别进行过滤(即仅显示高严重性结果)。此可视化使用我们之前为简化可视化创建的脚本化字段。
- 在全GuardDuty表包括所有事件的原始调查结果。这提供了完整的原始事件详细信息以及在非常精细的级别进行过滤的能力。
- 修改使用结构化消息(而不是原始 JSON)发送的警报电子邮件
- 添加额外的可视化,例如热图或时间序列图表
- 跨 AWS 账户或区域扩展解决方案。