亚马逊AWS官方博客
亚马逊云科技 WAF 部署小指南(二)使用经济实用的 Log Insights 进行日志分析
方案介绍
亚马逊云科技WAF是一个网页应用的防火墙服务。它能帮助保护您的网页应用或网页API应对常见的网页攻击。在WAF部署小指南(一) 中,我们讨论了WAF的原理,如何使用WAF,以及如何将WAF日志存储在S3中,并通过Athena进行查询。其优势在于成本低,但相应地缺点为查询所需人力成本较高。
那么如何简单快速地查看日志呢?这就是WAF部署小指南(二)、(三)、(四)中涉及到的内容了。当我们对于日志有查看单个日志、编译聚合报告、创建可视化内容和构建控制面板的需求,而对于实时性可以容忍分钟级别的延迟,并希望最大性价比。在这种情况下,我们可以参考本篇博客。如果对安全运营要求比较高,需要频繁进行WAF日志分析的场景。请参考WAF部署小指南(三)(四) 的解决方案.
2021年12月,亚马逊云科技 WAF 新增了可将日志直接发送到CloudWatch Logs日志组的功能。本博客旨在使用CloudWatch Log收集WAF日志,并使用CloudWatch Logs Insights直接在WAF控制台中搜索和分析WAF日志。使用CloudWatch Logs Insights,查看单个日志、编译聚合报告、创建可视化内容和构建控制面板。
内容简介
本文承接WAF部署小指南(一) 中搭建测试环境的步骤后,并通过后续两个步骤展示如何使用CloudWatch Logs Insights。
- 先决条件:参考WAF部署小指南(一) 中步骤一至步骤四,搭建并配置实验环境。包括创建WAF的Web ACL,创建测试用的ALB及Web服务器,关联Web ACL与ALB,及调整WAF规则。
- 步骤五:打开WAF日志设置并存储至CloudWatch Logs日志组中
- 步骤六:使用CloudWatch Logs Insights搜索分析日志
架构图:
先决条件
我们可以先参考WAF部署小指南(一) 的步骤一到四搭建并配置实验环境,包括:
- 步骤一: 创建WAF的Web ACL
- 步骤二: 创建一个测试用的Web服务器和ALB以测试WAF的防护效果。
- 步骤三: 把我们创建的Web ACL与步骤二创建的ALB关联起来。以使WAF防护功能生效。
- 步骤四: 对WAF规则做一些常用的配置调整。
步骤五 启用日志
WAF 日志搜集和处理有多种选择。这里介绍CloudWatch Logs的方法。这种方法适用于当我们对于日志有查看单个日志、编译聚合报告、创建可视化内容和构建控制面板的需求,而对于实时性可以容忍分钟级别的延迟时。
- 启用WAF日志:
在日志记录选择方面,我们选择直接把日志放入CloudWatch Logs log group。
然后我们需要创建一个CloudWatch Logs log group,注意桶名必须以aws-waf-logs-开始。否则我们在下拉框里就看不到这个新建的log group。
完成后点击Next,WAF日志就会随后送到这个指定的log group了。
要查看WAF日志,我们可以去CloudWatch Log Insights查看,如下图。使用Query语句进行查看即可。
对于query语句,我们也提供了一些事例,当然您也可以根据自己的需要编写
如果需要查看详细日志,只需要点击检索出来的日志条目即可展开,查看详细日志。
如需生成可视化图表,可以点击Visualization,即可展示图表:
小结
通过以上步骤,我们完成了将WAF日志存储在CloudWatch Logs中,并能够使用CloudWatch Log Insights进行日志的查询。可以满足查看单个日志、编译聚合报告、创建可视化内容和构建控制面板的近实时需求。如果需要更多的定制化和更丰富的报表,可以参考WAF部署小指南(三)、(四) ,使用OpenSearch对于日志进行存储和分析。
如果您对本文有任何问题,请在此处留言。
亚马逊云科技 WAF 部署小指南系列文章
- 亚马逊云科技 WAF 部署小指南(一) WAF原理、默认部署及日志存储
- 亚马逊云科技 WAF 部署小指南(三) 使用OpenSearch进行WAF安全调查
- 亚马逊云科技WAF部署小指南(四) 使用Log Hub 自动部署方案进行WAF安全运营