监控虚拟私有云 (VPC) 流日志
编辑监控虚拟私有云 (VPC) 流日志
编辑在本节中,您将学习如何监控和分析您使用 Amazon Data Firehose 发送到 Elastic 的 VPC 流日志。您可以选择以下监控选项:
- Elastic Analytics Discover 功能,可手动分析数据
- Elastic 可观测性的异常检测功能,用于识别日志中的异常
- 开箱即用的仪表板,用于进一步分析数据
开始之前
编辑我们假设您已经拥有:
- 在 Elastic Cloud 上使用我们托管的 Elasticsearch 服务的部署。该部署包括一个用于存储和搜索数据的 Elasticsearch 集群,以及一个用于可视化和管理数据的 Kibana。AWS Kinesis Data Firehose 仅适用于在 Elastic Cloud 上运行的 Elastic Stack 7.17 或更高版本。
确保部署在 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
在您打开 VPC 流日志的最近 3 个或更多小时内被拒绝的次数最多。
您还可以通过选择 可视化 来创建可视化。您将获得以下饼图,您可以将其添加到仪表板。
除了 IP 地址之外,您还想知道您的 Web 服务器正在访问哪个端口。
如果您选择目标端口字段,弹出窗口将显示端口 8081
是目标端口。此端口通常用于 Apache Tomcat 的管理。这是一个潜在的安全问题,但是端口 8081
已关闭外部流量,因此被 REJECT
。
使用机器学习检测异常
编辑Elastic 可观测性提供了使用机器学习 (ML) 检测日志异常的功能。要了解有关如何将 ML 分析与日志一起使用的更多信息,请查看 机器学习文档。您可以选择以下选项:
- 日志速率:自动检测异常的日志条目速率
- 分类:自动对日志消息进行分类
对于您的 VPC 流日志,您可以启用这两个功能。当您查看检测到的异常日志条目速率时,您会获得以下结果:
当您为应用程序打开 VPC 流日志时,Elastic 检测到日志中的峰值。检测到速率变化是因为您还从另一个应用程序提取 VPC 流日志。
您可以使用 ML 深入分析此异常并进行进一步分析。
因为您知道存在峰值,所以您还可以使用 Elastic AIOps Labs 的“解释日志速率峰值”功能。通过对它们进行分组,您可以查看是什么导致了一些峰值。
使用 VPC 流日志仪表板
编辑Elastic 提供了一个开箱即用的仪表板,用于显示访问您 VPC 的前几个 IP 地址,它们的地理来源,流的时间序列以及时间范围内 VPC 流日志拒绝的摘要。
您可以使用在 Discover 中找到的可视化来增强此基准仪表板。