分析
概览
分析可以深入了解 Web 应用程序的流量模式,有助于发现使用 WAF 增加保护、使用 CloudFront 调整交付性能或通过更新其代码来改善应用程序 SEO 的机会。边缘分析是使用 CloudFront 和 WAF 生成的服务器端日志构建的。它们可以根据业务需求使用不同的 AWS 服务或第三方 SIEM 提供程序构建。客户端分析是使用 javascript 标签在客户端收集的,与应用程序基础架构无关。
原生报告和分析
CloudFront 在 AWS 管理控制台中为您提供原生报告,报告内容涵盖缓存统计信息(例如状态代码、结果类型)、最受欢迎的对象、引用站点、查看者报告(例如设备、浏览器、位置)和使用情况报告(例如传输的字节数和请求数)。与 AWS WAF 一起使用时,CloudFront 还会在 AWS 管理控制台中公开安全控制面板。
AWS WAF 为您提供原生控制面板,这些控制面板以每个 Web ACL 为基础,利用请求总数、阻止的请求数、允许的请求数、机器人与非机器人请求数对比、机器人类别、CAPTCHA 解决率、10 大匹配规则等 CloudWatch 指标。这些控制面板增强了可见性,并可帮助解答各种问题,例如“有百分之多少的 WAF 检查流量被阻止”、“被阻止的流量主要来自哪些国家/地区”、“WAF 会检测哪些常见攻击并保护我免受其害”、“我本周的流量和流量模式与上周相比如何”。
客户端分析
通过将 javascript 标签集成到您的网页,CloudWatch RUM 为您提供在客户端收集的应用程序的分析。Javascript 通过浏览器 API 收集性能数据(例如,页面加载时间和 Google Core Web Vitals)和用户导航数据等数据,以深入了解用户对您网站的参与度。您可以通过筛选特定维度(例如浏览器类型、用户所在国家/地区或特定页面 ID)来分析应用程序性能。
基于 CloudFront 和 WAF 日志的常见自定义分析解决方案
构建自定义分析解决方案(即个性化控制面板)需要 CloudFront 和 WAF 生成的日志。
CloudFront 提供两个选项用于请求日志记录:
- 标准日志,可在几分钟内可靠地发送到 S3 且无需额外付费。该项在分发级别配置,为所有请求生成日志记录。
- 实时日志,在几秒钟内传输到 Kinesis 数据流,每 100 万条日志记录额外收费 0.01 美元。该项在缓存行为中进行配置,可以进行采样,并且提供更多的日志字段。实时日志通常用于构建 CDN 分析。
AWS WAF 提供三个选项用于请求日志记录:
- 发送到 S3,通常用于存档要求。
- 发送到 CloudWatch 日志,通常用于通过 CloudWatch 日志见解进行安全分析。
- 发送到 Kinesis Firehose,通常用于安全分析。
要分析 AWS WAF 日志,请考虑使用以下工具:
- CloudWatch Logs Insights:此功能允许您以交互方式搜索和分析 WAF 日志。它提供默认查询来帮助识别安全事件和误报,并且您可以根据需要创建自定义查询。
- CloudWatch Contributor Insights:此功能有助于创建控制面板,以识别流量的主要贡献者,例如主要 IP 地址、URI 和用户代理,从而提供持续的分析功能
- Amazon Athena 可用于查询存储在 Amazon S3 中的 WAF 日志。该服务允许对流量模式进行复杂的分析、检测误报或漏报以及识别新的攻击特征
使用 OpenSearch/Kibana 的控制面板
如果您更喜欢使用 OpenSearch,并将 Kibana 作为用户界面的控制面板,请考虑通过此博客了解使用 CloudFront 实时日志构建控制面板的步骤,以及通过此博客了解如何部署 AWS WAF 的安全控制面板。请注意,使用 OpenSearch 时,您可以根据自己的分析实现高级异常检测。通过此博客了解如何使用基于 WAF 日志的 OpenSearch 异常检测来识别异常行为,例如来自异常县的可疑流量,以及对读取密集型应用程序的意外写入请求。
使用 Graphana 的控制面板
如果您更喜欢将 Graphana 用作控制面板的用户界面,请按照基于 Amazon TimeStream 的 CloudFront 分析解决方案和基于 Amazon Athena 的 AWS WAF 解决方案中提供的指导进行操作。
使用 CloudWatch 的控制面板
如果您更喜欢使用 CloudWatch 生态系统进行监控和分析(例如 CloudWatch Logs Insights 和 CloudWatch Contributor Insights),可以考虑使用此解决方案在 CloudWatch 中部署自定义 WAF 控制面板。
第三方 SIEM 控制面板
第三方安全信息和事件管理(SIEM)解决方案与 AWS 集成,并为 CloudFront 和 WAF 提供现成的控制面板。示例包括 DataDog(WAF)、Sumologic(WAF、CloudFront)和 NewRelic(WAF、CloudFront)。