

Amazon CloudWatch 控制面板是 CloudWatch 控制台中可自定义的页面,从而通过单一视图监控各种资源。本文重点介绍了如何部署 CloudWatch 控制面板,创建自定义的 AWS Network Firewall 防火墙监控解决方案。CloudWatch 控制面板旨在提供关于防火墙性能和安全性的深入洞察数据,从而简化安全监控。
Network Firewall 是一项托管服务,可以部署在 Amazon Virtual Private Cloud (Amazon VPC) 中,是必不可少的网络防护措施。Network Firewall 能够通过 CloudWatch 提供全面的日志和指标,而 CloudWatch 控制面板扩展了 CloudWatch 的监控功能。依据这项功能,你可以轻松对防火墙生成的大量数据进行可视化、分析和操作。
这个开源解决方案使用简单易用的 AWS CloudFormation 模板简化了网络安全监控,可快速部署专用监控控制面板。该解决方案将一组 CloudWatch 功能(包括基础监控指标、Vended Logs、Logs Insights 查询、Contributor Insights 规则,以及控制面板本身)整合到一个集中视图中。预配置的窗口组件可提供一些重要指标(例如 Top Talkers、协议分布情况和告警日志趋势)的即时洞察数据,以及 HTTP 和 TLS 流量分析。借助这个重要指标和日志的综合视图,你可以更快地识别潜在的安全威胁或性能问题。该方案将所有相关的网络防火墙数据汇集于一处,能够帮助团队更高效地应对新出现的安全事件。
在本文中,我们简要介绍了该控制面板,以及如何部署控制面板的分步操作指南。
解决方案概述
CloudWatch 控制面板可以部署在目前 Network Firewall 支持的所有 AWS 区域,包括 AWS GovCloud(美国)区域和中国区域。虽然该控制面板进行了预配置,但你可以快速自定义查询、时间范围、刷新间隔等配置,以满足你的业务具体需求。默认情况下,该控制面板以 3 小时为间隔周期,查询防火墙流量和告警日志事件。间隔周期会影响扫描的日志事件数。Logs Insights 和 Contributor Insights 窗口组件均默认展示前 10 个数据点,但你可以通过修改查询设置或调整 Top Contributors 的值来查看更多查询结果(可能需要支付更高的费用)。你可以配置窗口组件的自动刷新间隔,以获取实时数据以及优化成本。有关最新免费和付费套餐定价信息,请参阅 Amazon CloudWatch 定价指南。
你可以使用 CloudFormation 部署控制面板。控制面板(如图 1 所示)包含了以下来源的数据和分析:
- 来自 AWS/NetworkFirewall 和 AWS/PrivateLinkEndpoints 命名空间的原生 CloudWatch 指标
- 分析 Network Firewall 流量和告警日志的 CloudWatch Logs Insights 查询
- 用于聚合 Network Firewall 流量和告警日志数据的 CloudWatch Contributor Insights 规则

图 1:CloudWatch 控制面板
实操步骤
在控制面板中,Logs Insights 和 Contributor Insights 窗口组件默认显示前 10 个数据点。你可以编辑 Insights 查询或增大 Top Contributors 的值,以显示更多结果,如图 2 所示。

图 2:展示了 Top Contributors 值更改的 Top Talkers 控制面板
还可以手动刷新单个或多个窗口组件中的数据,或者将整个控制面板配置为按设定的时间间隔自动刷新,如图 3 所示。默认情况下,该控制面板不会自动刷新窗口组件数据。

图 3:将控制面板配置为自动刷新
前提条件
部署 Network Firewall CloudWatch 控制面板的操作很简单。你需要满足以下前提条件:
- 已在 VPC 中部署了 Network Firewall。
- 已配置 Network Firewall 防火墙,将防火墙流量和告警日志发布到两个不同的 CloudWatch 日志组。例如,将防火墙流量日志发布到 /my-firewall-flow-logs,将告警日志发布到 /my-firewall-alert-logs。
如果你的 VPC 中尚未部署 Network Firewall,可以选用合适的 AWS Network Firewall 部署架构模板来创建防火墙。创建防火墙之后,配置防火墙流量和告警日志对应的 CloudWatch 日志组,并按照前面介绍的内容配置有状态日志记录。对防火墙策略和规则配置进行微调,确保能通过防火墙进行流量均衡路由。现在,完成了防火墙的路由路径以及发布指标和日志事件相关配置,你可以使用 Network Firewall CloudWatch 控制面板模板部署控制面板。
部署
使用 Network Firewall CloudFormation 控制面板模板会为单个 Network Firewall 防火墙创建对应监控控制面板。无论该防火墙采用的是集中式还是分布式设置,都要确保在该防火墙所在 AWS 区域和账户下启动 CloudFormation 堆栈。
完成以下步骤操作,部署控制面板:
- 选择相关 AWS 区域对应的 启动堆栈。确保你已登录相应的 AWS 账户和区域。
- 区域:中国

- 区域:Gov Cloud

- 区域:AWS Network Firewall 支持的所有其他区域

2. 你将被重定向到 AWS CloudFormation 控制台中的 Create stack(创建堆栈)页面。请确认你选择了正确的区域并使用了正确的模板。选择 Next(下一步)。以下列出了各个区域及其对应的模板名称:
- 中国区域:nfw-cloudwatch-dashboard-china.yaml
- Gov Cloud 区域:nfw-cloudwatch-dashboard-govcloud.yaml
- 所有其他 AWS 区域:nfw-cloudwatch-dashboard.yaml

图 4:确认选择了正确的模板
启动堆栈时,你需要设置以下参数:
- Stack name(堆栈名称):CloudFormation 堆栈的描述性名称,例如 my-firewall-dashboard。
- Firewall name(防火墙名称):Amazon VPC 控制台中显示的防火墙名称。在 Amazon VPC 控制台的左侧导航栏中,选择 Network Firewall(网络防火墙),然后选择 Firewalls(防火墙)。
- Firewall subnets(防火墙子网):防火墙端点关联的防火墙子网 ID。在 Amazon VPC 中防火墙的 Firewall details(防火墙详情)选项卡中可以查看防火墙子网信息。
- Flow log group name(流量日志组名称):存储防火墙流量日志的 CloudWatch 日志组名称。
- Alert log group name(告警日志组名称):存储告警日志的 CloudWatch 日志组名称。
- Contributor Insights rule state(Contributor Insights 规则状态):启用或禁用 Contributor Insights 规则(模板默认启用)。如果禁用 Contributor Insights 规则,则无法根据规则扫描日志数据和在 Contributor Insights 窗口组件中显示扫描结果。创建规则后,可以在 CloudWatch 控制台更改 Contributor Insights 规则的状态。具体操作方法:在导航栏中,选择 Insights(洞察),然后选择 Contributor Insights(因素洞察)。
堆栈状态变为 CREATE_COMPLETE 之后,选择 Outputs(输出)选项卡,然后选择 FirewallDashboardURI 链接,在 CloudWatch Dashboards 控制台中打开新的控制面板。Logs Insights 和 Contributor Insights 组件可能需要几分钟才会开始显示数据。有关每个窗口部件的详细信息,请参阅 README 文件。如果没有与窗口组件中的查询参数匹配的日志事件,一些窗口组件可能不会显示数据点。
故障排除
如果在部署过程中或完成部署后遇到问题,请按照以下方法进行排查:
- 确认防火墙日志记录功能已启用,并配置为使用 CloudWatch,而非 Amazon Simple Storage Service (Amazon S3) 或 Amazon Kinesis。
- 确认防火墙流量和告警日志记录功能都已启用,而非只启用了其中之一。
- 确认输入了正确的日志组名称;名称错误会导致窗口组件指向无效的数据源。
- 确认选择了正确的子网。选择错误的子网会导致 PrivateLink 指标窗口组件无法收集正确数据。
- 确认输入了正确的防火墙名称。错误的名称会扰乱指标窗口组件、控制面板和 Contributor Insights 窗口组件运行,并导致防火墙链接断开。
清理资源
只需点击几下即可删除 Network Firewall CloudWatch 控制面板和所有相关资源。删除控制面板不会影响防火墙执行路由和网络流量检查。
- 登录 CloudFormation 控制台,选择你之前启动堆栈的区域,然后从导航栏中选择 Stacks(堆栈)。
- 选择你之前启动的堆栈名称,例如 my-firewall-dashboard。
- 选择 Delete(删除)。
总结
想要快速开始创建 AWS Network Firewall CloudWatch 控制面板,请访问我们的 GitHub 存储库,获取详细说明和 CloudFormation 模板。
更多教程
快速搭建容量高达 35GB 的免费个人网盘
本教程将介绍如何搭建一个没有使用限制的免费私人网盘。
构建企业专属智能客服机器人
本文将演示如何结合多种服务,打造企业专属的智能客服。
使用生成式 AI 构建多语言问答知识库
使用多种服务,构建可汇总搜索结果的多语言知识库。
免费套餐
AWS 海外区域
拓展海外业务或个人体验
免费使用 100 余种云产品或服务, 长达 12 个月
AWS 中国区域
发展中国业务
免费使用 40 余种核心云服务产品,长达 12 个月