监控虚拟私有云 (VPC) 流日志
编辑监控虚拟私有云 (VPC) 流日志
编辑在本节中,您将学习如何监控和分析您通过 Amazon Data Firehose 发送到 Elastic 的 VPC 流日志。您可以选择以下监控选项:
- Elastic Analytics Discover 功能,用于手动分析数据
- Elastic 可观测性的异常检测功能,用于识别日志中的异常
- 开箱即用的仪表盘,用于进一步分析数据
开始之前
编辑我们假设您已拥有:
- 使用我们托管的 Elasticsearch 服务在 Elastic Cloud 上的部署。该部署包含一个用于存储和搜索数据的 Elasticsearch 集群,以及一个用于可视化和管理数据的 Kibana。AWS Kinesis Data Firehose 仅适用于 Elastic Stack 7.17 或更高版本,并且仅在 Elastic Cloud 上运行。
确保部署在 AWS 上,因为 Firehose 传输流专门连接到 AWS 上的端点。
- 一个具有权限从 AWS 拉取必要数据的 AWS 账户。
- 已为部署应用程序的 VPC 启用了 VPC 流日志,并配置为将数据发送到 Kinesis Data Firehose。
- 一个 AWS 中的三层 Web 架构,可以从 多个 AWS 服务 中提取指标。
使用 Elastic Analytics Discover 手动分析数据
编辑在 Elastic Analytics 中,您可以搜索和过滤数据,获取有关字段结构的信息,并在可视化中显示您的发现。您还可以自定义和保存搜索,并将它们放置在仪表盘上。有关更多信息,请查看 Discover 文档。
例如,对于您的 VPC 流日志,您想知道:
- 接受或拒绝了多少日志
- 潜在的安全违规事件发生在哪里(来自 VPC 外部的源 IP)
- 通常查询哪个端口
您可以根据以下内容过滤日志:
- 传输流名称:
AWS-3-TIER-APP-VPC-LOGS
- VPC 流日志操作:
REJECT
- 时间范围:5 小时
- VPC 网络接口:Webserver 1 和 Webserver 2 接口
您想查看哪些 IP 地址正在尝试访问您的 Web 服务器。然后,您想了解您从哪些 IP 地址获得最多的 REJECT
操作。您可以展开 source.ip
字段,并快速获得一个细分,显示 185.156.73.54
是过去 3 小时或更长时间内被拒绝次数最多的 IP 地址(您已启用 VPC 流日志)。
您还可以通过选择 可视化 创建可视化。您将获得以下环形图,可以将其添加到仪表盘中。
除了 IP 地址之外,您还想了解 Web 服务器上命中了哪个端口。
如果您选择目标端口字段,则弹出窗口将显示端口 8081
正在被目标。此端口通常用于 Apache Tomcat 的管理。这是一个潜在的安全问题,但是端口 8081
已关闭外部流量,因此出现 REJECT
。
使用机器学习检测异常
编辑Elastic 可观测性提供了使用机器学习 (ML) 检测日志异常的功能。要了解有关如何将 ML 分析与日志一起使用的更多信息,请查看 机器学习 文档。您可以选择以下选项:
- 日志速率:自动检测异常的日志条目速率
- 分类:自动对日志消息进行分类
对于您的 VPC 流日志,您可以启用这两个功能。当您查看为异常日志条目速率检测到的内容时,您将获得以下结果:
Elastic 检测到在您为应用程序启用 VPC 流日志时日志出现峰值。由于您还从另一个应用程序提取 VPC 流日志,因此正在检测速率变化。
您可以使用 ML 深入了解此异常并进一步分析。
因为您知道存在峰值,所以您还可以使用 Elastic AIOps Labs 解释日志速率峰值的功能。通过对它们进行分组,您可以看到是什么导致了一些峰值。
使用 VPC 流日志仪表盘
编辑Elastic 提供了一个开箱即用的仪表盘,用于显示访问您的 VPC 的前十大 IP 地址、它们的地理位置、流的时间序列以及时间范围内 VPC 流日志拒绝的摘要。
您可以使用在 Discover 中找到的可视化增强此基线仪表盘。