使用 Amazon QuickSight 控制面板可视化 Amazon Network Firewall 日志

作者: Yash Bindlish, Abhishek Dey, Ashish Jain, Harsh Chheda |

过渡到以云为中心或数字原生应用程序的企业使用各种云服务来创新和改善客户服务。这些应用程序对业务运营至关重要,但监控来自不同分段的网络流量同样重要,尤其是对于保护敏感数据而言。分析仪表板对于从亚马逊网络服务 (亚马逊云科技) 多账户环境中的网络事件中提取见解至关重要。您可以使用分析仪表板来确定安全威胁的优先级并做出响应,从而创建一种主动的网络管理和安全方法。使用分析和可视化有助于优化基于云的应用程序的安全性。

这篇博客文章介绍了如何使用亚马逊 QuickSight 创建交互式仪表板,以可视化您的 Amazon Network Firewall 日志。此外,它还涵盖了跟踪机制,您可以使用这些机制来了解您的亚马逊虚拟私有云(Amazon VPC)网络流量,从而帮助识别安全威胁和网络问题。这种无缝集成支持对网络流量进行可视化解释和防火墙日志分析,从而实现全面的洞察和敏捷的决策。

解决方案概述:

以下架构图说明了使用 QuickSight 对网络防火墙日志进行日志收集和可视化解决方案。网络流量来自亚马逊弹性计算云 (Amazon EC2) 实例,发往互联网,穿过部署在检查虚拟私有云子网中的网络防火墙终端节点。网络防火墙根据其配置的防火墙策略运行,检查流量,并以 JSON 格式生成日志并将其存储在亚马逊简单存储服务 (Amazon S3) 存储桶中。

然后,Amazon Glue 爬虫访问 S3 存储桶,对日志进行编目,并在 Amazon Glue 数据目录中创建表定义。最后,Amazon Athena用于创建视图,在QuickSight中将其可视化为仪表板。

先决条件:

  1. 设置 Amazon Network Firewall。

或者,为了遵循我们的解决方案,您可以使用此 Amazon CloudFormation 模板部署网络防火墙和其他相关资源。该堆栈部署了 Amazon VPC、网络防火墙和在使用时可能会产生成本的 EC2 实例。查看 Amazon Network Firewall 和 Amazon EC2 定价。

  1. 创建用于存储网络防火墙日志的 S3 存储桶。
  2. 启用和设置 Athena。
  3. 注册 QuickSight。

第 1 步:将网络防火墙日志目标配置为 S3 存储桶

  1. 登录亚马逊云科技管理控制台并前往 Amazon VPC。
  2. 导航到您的 VPC 控制面板,然后导航到网络防火墙和防火墙
  3. 选择要配置的防火墙的名称以查看其详细信息。
  4. 在 “防火墙详细信息” 选项卡上,转到名为 “记录” 的部分,然后选择编辑
  5. 在 “日志类型” 下,选中 “警报” 和 “流量” 复选框以查看更多选项。
  6. 对于警报日志和流日志目的地,选择 S3,然后输入 S3 存储桶名称。
  7. 选择 “保存” 以更新防火墙日志配置。

第 2 步:生成 Amazon Network Firewall 日志

每当任何网络流量与网络防火墙交互时,都会生成日志。如果您部署了网络防火墙,则它已经在生成防火墙日志并将其推送到您在前面的步骤中选择的 S3 存储桶。您可以继续执行步骤 3。

或者,如果您使用前提条件部分中的示例 CloudFormation 模板,请使用 Amazon Systems Manager 会话管理器连接到您的 EC2 实例 {堆栈名称}-测试实例,然后使用 Ncat 命令生成网络流量。这将生成防火墙日志并将其存储到您的 S3 存储桶中。

现在您已经设置了网络防火墙以将其日志发送到 Amazon S3 存储桶,让我们准备分析这些日志。接下来,您将创建必要的分析组件,首先是数据目录数据库和 Amazon Glue 爬虫。

第 3 步:创建数据目录数据库和 Amazon Glue 爬虫

数据目录中的数据库是存放表的容器。在 “数据目录” 下创建数据库并将其命名anflogsdb

Amazon Glue 爬虫的目的是检查 S3 存储桶中的原始数据,以了解其格式、结构和其他细节。然后,爬虫将数据整理成表格,并跟踪数据目录中的所有内容。要创建读取 Amazon S3 上存储的日志文件的爬虫,请执行以下操作:

  1. 在 Amazon Glue 控制台上,在导航窗格中选择数据目录,然后选择 Crawlers 和 C reate Craw ler
  2. 输入network_firewall_log_data作为 Crawler 名称,添加可选的描述和标签,然后选择下一步
  3. 选择数据源和分类器页面上,选择添加数据源并选择 S3 作为数据源。
  4. S3 数据位置选项中,选择在此账户中,然后输入存储防火墙日志的 S3 存储桶路径作为 S3 路径。您可以浏览 S3 选择同时包含日志(警报和流日志)的文件夹。选择添加要保存的 S3 数据源,然后选择下一步

在这篇博客文章中,我们正在考虑流量和警报防火墙日志。

  1. 爬虫需要权限才能访问数据存储并在数据目录中创建对象。选择创建 IAM 角色

Amazon Identity and Access Management (IAM) 角色名称以 A WSGlueServiceR ole 开头,已预先填写。追加network_firewall_logs到该字段。选择 “创建下一步”。

在本演示中,请参阅 IAM 中的安全优秀实践,按照最小权限原则配置 IAM 角色。

  1. 爬虫在您的数据目录数据库中创建表。选择 anflogsdb(在此步骤开始时创建)作为目标数据库。(可选)添加表名前缀以标识您的表。例如:nfwlogs
  2. 展开高级选项,然后选择使用表中的元数据更新所有新分区和现有分区。这允许分区从其父表继承元数据属性,例如其分类、输入和输出格式、SerDe 信息和架构。
  3. Crawler 时间表下,选择您的首选频率。爬虫将根据此时间表在 S3 中查找新的或更改的日志。第一次完全运行后,爬虫会添加自上次运行以来发现的新分区。选择 “下一步”。
  4. 查看搜寻器配置并选择创建搜寻器。有关更多信息,请参见添加 Amazon Glue 爬虫。
  5. 在新创建的爬虫的详细信息页面上,选择运行爬虫。完成后,表变更列中将显示两个表,分别用于查询网络防火墙日志,一个用于查询网络防火墙日志。如果你使用的是 Amazon Lake Formation 并且遇到了任何 Lake Formation 权限不足的问题,请参阅这篇亚马逊云科技re: Post 文章。

第 4 步:创建 Athena 视图

要构建自定义分析,您可以在 Athena 中创建视图。这些逻辑表可用于查询数据子集。视图可以帮助你隐藏复杂性,对列执行基本的转换和聚合,并在查询大型表时最大限度地减少维护。例如,在这里,我们将通过从事件 JSON 字段中提取字段来展平 JSON 数据,并将 unixtime 格式数据转换为时间戳格式。

在此步骤中,您将查询在上一步中创建的数据目录数据库表,并在 Athena 中创建视图,这些视图最终将由 QuickSight 数据集使用。您将生成多个视图来分析警报日志,以报告与状态规则和警报操作相匹配的流量,以及标准网络流量日志的流量日志。

使用以下步骤创建 Amazon Athena 警报日志视图:

  1. 转到 Athena 控制台,从导航窗格中选择查询编辑器,然后选择表格和视图。选择 “创建”,然后选择 “创建视图”。
  2. 使用此 SQL 创建视图查询替换当前模板。请务必<<alertlogs_tablename>>使用您在上一步中使用 Amazon Glue 爬虫创建的警报日志表的名称进行替换。
  3. 选择 “运行” 创建视图。

使用以下步骤创建 Amazon Athena 流日志视图:

  1. 转到 Athena 控制台,从导航窗格中选择查询编辑器,然后选择表格和视图。选择 “创建”,然后选择 “创建视图”。
  2. 使用此 SQL 创建视图查询替换当前模板。请务必<<flowlogs_tablename>>使用您在上一步中通过 Glue 爬虫创建的流日志表的名称进行替换。
  3. 选择 “运行” 创建视图。

第 5 步:创建 Amazon QuickSight 数据集

在分析和可视化 QuickSight 中的网络防火墙日志数据之前,您需要授权 QuickSight 访问 Athena 和包含防火墙日志的 S3 存储桶。

  1. 前往 QuickSight 控制台,选择右上角的个人资料图标。选择 “管理 QuickSight”,然后选择 “安全和权限” 和 “管理”。
  2. 根据您是首次使用用户还是已经设置了 QuickSight,选择添加、删除或管理
  3. 从亚马逊云科技服务列表中找到 A mazon S3,然后选择以下操作之一来打开可以选择 S3 存储桶的屏幕:
    1. 如果该复选框已清除,请选择 Amazon S3
    2. 如果未清除复选框,请选择选择 S3 存储桶
  4. 在 “关联到 QuickSight 帐户的 S3 存储桶” 选项卡上,选中包含网络防火墙日志的 S3 存储桶复选框以及相应的 Athena 工作组写入权限复选框。选择 “完成”。
  5. QuickSight 访问亚马逊云科技服务页面上,选择 A mazon Athena,然后选择保存。

接下来,为以下 Athena 视图创建 QuickSight 数据集:nfw_flow_firewall_logs和。nfw_alert_firewall_logs

  1. 在 QuickSight 控制台上,从导航窗格中选择数据集,然后选择新建数据集
  2. 创建新的 Athena 数据源:
    1. 从可用列表中选择 Athena 数据源卡。
    2. 输入描述性的数据源名称,例如anflogs_datasource
    3. 选择 Athena 工作组,然后选择您的工作组。
    4. 选择 “验证连接” 以测试连接。
    5. 选择 “创建数据源”。

  1. “选择你的表” 窗口中,选择 Glue 数据库 anflogsdb 和为流日志 nfw_flow_ firewall_logs 创建的 Athena 视图。

  1. 选择 “选择”,然后选择 “编辑/预览数据” 以创建数据集 nfw_flow_firewall_logs。

  1. 选择 “保存并发布” 创建 nfw_flow_firewall_logs 数据集然后选择
  2. 选择 “新建数据集”,然后选择已经创建的数据源 anfl ogs_datasource。
  3. 选择创建数据集,然后重复步骤 3、4 和 5,通过选择数据库 anflogsdb 下的警报日志 Athena view nfw_alert_firewall_l ogs 来创建另一个数据集。

第 6 步:创建分析

借助 Amazon QuickSight 分析,您可以构建和发布具有交互式可视化效果的仪表板,可用于探索数据、发现趋势和获得见解。在此步骤中,您将将 Athena 数据集添加到 QuickSight 进行分析。

  1. 在 QuickSight 控制台上,从导航窗格中选择 “分析”,然后选择 “新建分析”。
  2. 选择在上一步中创建的 Athena 数据集之一,然后选择 “在分析中使用”。
  3. 保留默认选项并选择
  4. 选择数据集并选择添加新数据集。选择您创建的其他 Athena 数据集。选择 “选择关闭”。

第 7 步:在 QuickSight 中显示网络防火墙日志

添加到 QuickSight 的 Athena 数据集现在可用于构建可视化效果,以分析 Amazon Network Firewall 日志。您可以根据需要使用数据集中的各种属性来创建可视化效果。

例如,创建一个仪表板来获取源 IP 列表,该列表按其在流日志中出现的次数排序。这可以帮助您了解异常值并识别您的亚马逊云科技账户中可能存在的恶意活动。您可以通过采取必要措施(例如封锁可疑流量或实施速率限制)来及时降低风险。

创建用于分析网络上最活跃的源 IP 的视觉对象:

  1. 分析页面上,从数据下的数据集列表中选择流日志数据集 nfw_flow_firewall_l ogs
  2. 从菜单栏中选择 “插入”,然后选择 “添加视觉对象”。将显示一个新的空白视觉对象,默认情况下会选择 AutoGraph
  3. 视觉效果窗格上,选择格的图块。
  4. 在此示例中,将 src_ip 字段添加到中。这显示了未进行任何聚合的数据。要获得源 IP 的聚合视图,请从 “数据” 窗格中再次选择 scr_ip 并将其添加到 “分组依据” 字段中。
  5. 接下来,导航到 “” 列旁边的省略号,并使用 “排序顺序” 按降序排序。

您可以浏览各种字段属性并创建不同的视觉对象来分析网络防火墙日志,如下图所示。以下是您可以考虑的一些用例:

  1. 分析最活跃的源和目标 IP。
  2. 根据协议类型的网络流量趋势。
  3. 警报日志中已阻止和允许的事件的数量。
  4. 每天、每月或每季度的数据包和字节趋势。
  5. 主机名概述。
  6. 分别使用日期筛选器或多选筛选器对特定时间段或特定防火墙进行日志分析。

第 8 步:将分析发布为控制面板,并在组织内共享

  1. 分析页面上,选择右上角的发布
  2. 在 “发布仪表板” 窗口中,选择符合您要求的选项:
    1. 要创建新仪表板,请选择 “发布新仪表板为”,然后输入名称。
    2. 要替换现有仪表板,有两种选择:
      1. 要使用您的更改更新仪表板,请选择 “替换现有仪表板”,然后从下拉列表中选择一个仪表板。
      2. 要重命名仪表板,请选择替换现有仪表板,从列表中选择仪表板,选择重命名,然后输入新名称。

更换仪表板可在不更改安全性或报告计划配置的情况下对其进行更新。

  1. 选择 “发布仪表板”
  2. 接下来,与组织内的用户或群组共享仪表板:
    1. 转到已发布的仪表板并选择右上角的共享图标。选择 “共享控制面板”。
    2. 在 “邀请用户和群组加入控制面板” 下搜索用户电子邮件或群组名称。只有活跃的用户和群组才会出现在搜索结果中。
    3. 对于要授予仪表板访问权限的用户或群组,请选择 “添加”。
    4. 对于访问权限级别,根据用户的 QuickSight 角色选择 “查看者” 或 “共同所有者”。
    5. 这还将向用户发送包含仪表板链接的电子邮件通知。
    6. 或者,您可以使用切换开关为账户中的每个人启用仪表板访问权限。

清理干净

使用以下步骤清理本文中部署的亚马逊云科技资源,避免产生额外费用:

  • 如果您使用示例 CloudFormation 模板创建资源,请删除 CloudFormation 堆栈。
  • 如果您为本文的目的创建了网络防火墙和防火墙策略,请将其删除。
  • 清空包含示例日志的 S3 存储桶并删除该存储桶。
  • 删除 Glue 数据库和 Glue 爬虫。
  • 删除 IAM 角色 awsGlueServicerole-network_firewall_logs
  • 删除亚马逊 QuickSight 资产,保持 QuickSight 订阅处于活动状态:
    • 删除仪表板
    • 删除分析
    • 删除数据集
    • 删除数据源
  • 要取消 QuickSight 订阅,请参阅取消您的亚马逊 QuickSight 订阅。只有当你确定没有其他用户使用亚马逊 QuickSight 账户时,才删除该账户。

结论

在这篇文章中,我们讨论了使用亚马逊QuickSight创建Amazon Network Firewall日志综合视图的过程。我们解释了在 QuickSight 中构建量身定制的分析仪表板的步骤和资源,以便更好地了解网络事件和流量模式。这种方法有助于在故障排除期间通过细致的见解识别异常、威胁和网络事件。要进一步了解QuickSight如何通过仪表板和报告使企业受益,请参阅亚马逊 QuickSight 入门。


作者简介

Yash Bindlis h 是亚马逊网络服务的企业支持经理。他拥有超过18年的行业经验,包括在云架构、系统工程和基础设施方面的职位。他与全球企业客户合作,帮助他们在使用亚马逊云科技的增长之旅中构建、可扩展、现代且具有成本效益的解决方案。他喜欢用以解决方案为导向的方法来解决复杂的问题。

Harsh Chheda 是亚马逊网络服务的一名技术客户经理,拥有 9 年的行业经验。他在全球企业客户的整个亚马逊云科技旅程中为他们提供支持,帮助他们维护高弹性、经济高效和安全的云基础设施。他是亚马逊云科技数据分析专家团队的一员,为客户提供数据可视化用例支持。

Abhishek Dey 是亚马逊金融服务行业的技术客户经理,拥有超过12年的行业经验。他领导印度企业支持网络领域社区,是一名终身学习者和科技爱好者,特别关注生成式人工智能和尖端技术。

Ashish Jain 是亚马逊网络服务的技术客户经理,致力于加快亚马逊云科技全球企业客户的云之旅。他在系统工程、云运营、微软工作负载、云基础架构管理和客户宣传方面拥有 16 年以上的行业经验。他对云技术充满热情,并努力利用这些技术帮助客户在亚马逊云科技云上取得成功。


*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您发展海外业务和/或了解行业前沿技术选择推荐该服务。