教程篇(5.4) 05. FortiAnalyzer 报告 ❀ Fortinet 网络安全专家 NSE5

 在这个课程里,我们将学习如何从日志中提取有用的信息,从而实现分析的目标。为此,需要了解数据如何被 格式化、存储和在数据库中被整理,以及如果使用 FortiAnalyzer报表功能查看捕获的数据用于取证和合规。

 这是我们在课程里将学习的主题,从FortiAnalyzer报告的概念开始。

 在这个章节结束后,你应该可以完成这些任务。通过报告概念的学习,你应该可以使用报告从数据库中更有效 的提取收集的日志数据。

 报告的用途是汇总大量的日志数据。基于配置的报告参数,FortiAnalyzer提取数据并以图形方式展现,使用数 据更容易、更快速被理解。报告中揭示的模型和趋势已经在数据库中以数据的形式存在,但手动的定位、交叉 引用和分析多个日志文件非常困难且要花费大量时间,特别是在你不知道要查找什么样的趋势和模型的时候。 配置完成后,报告会进行调查研究,为网络提供快速详尽的分析。你可以接着使用这些信息更好的理解网络或 提高网络的安全性。

  注意报告不提供任何推荐或给出任何的问题指示。 管理员必须基于数据和图表考虑网络中发生的问题。

  FortiAnalyzer报告是有序放在图表中的一组数据。图表包含两个要素:

  • 数据集,是Structured Query Language (SQL) SELECT 查询,从数据库中提取指定的数据。
  • 数据以什么格式显示 (例如:饼状图、柱状图和表格)

 为了在图表中填入指定的已被收集、存储并保存在SQL数据库中的数据,需要依据数据集查询提取需要的日志 数据。数据集是特定的SQL SELECT 查询—读取-生仅仅是从数据库中获取数据的声明。

  SELECT声明是查询时使用的第一个单词—是声明式的动词描述你想要做什么。

 为了从SQL数据库中提取需要的数据,必须指定相应的条件。为了把这些条件变为SQL可以理解的语言,必须 使用SELETE声明可以识别的子句。

  FortiAnalyzer报告使用的主要子句如下:

  • FROM,指定表
  • WHERE,指定条件。所有不满足条件的行将从输出中排除。
  • GROUP BY,从多个记录中收集数据,并通过一个或多个列对结果进行分组
  • ORDER BY,按行对结果排序。如果没有给出ORDER BYis not given,返回的行以系统发现的最快的生成结  果进行任意排序。
  • LIMIT,基于指定的值限制返回记录的数量。 OFFSET是另一个子句, 通常与LIMIT子句结合使用,通过一  个设置的值偏移结果。例如,如果你限制3个结果且偏移为1,则第一个返回的记录将正常跳过,替换为返  回第二个、第三个、第四个(共3个)记录。

  FROM是构建SELECT声明唯一一个强制需要的子句;其它子句为可选,用于过滤或限制,集合或结合,以及控 制排序。需要特别注意,子句必须以特定顺序编码。也就是说,跟随SELECT的关键字,一个或多个子句要以 表格中提供的顺序进行排列。例如,不能在FROM子句之前使用 WHERE 子句。所有可选子句不是必须使用, 但你使用的任意一个子句必须顺序正确。

  需要更多FortiAnalyzer报告使用的SQL和数据集信息,请参见补充材料 FortiAnalyzer SQL and Datasets 课程。

 为了创建查询,首先需要知道数据库架构里包含什么 — 你需要知道需要为报告提取什么样的信息。在 FortiAnalyzer里,通过创建和测试下列数据集查询,可以针对指定日志类型获取到相应数据:

  SELECT * FROM $log

  例如对于流量日志,在Log Type下拉列表里,对这个数据集关联Traffic日志类型。此查询从流量日志类型里 返回所有记录。列标题名称表明对选择的日志类型,在数据库中可获取到哪些数据。 * 号用作返回所有数据。

 如本页中图形所示,SQL数据库包含所有原始日志。SQL SELECT 查询数据库得到指定信息。基于查询,提取出存储在日志里的信息子集。

  数据子集填入一个和多个图表,并在报告中显示。

 当开启了ADOM,每个ADOM有各自的报告、库和高级设置。在选择报告前,确保在正确的ADOM里。

  只有当开启ADOM时,对指定Fortinet设备可使用附加的报告。可以在各自的ADOM里配置和生成报告。这些设 备也有设备特定的图表和数据集。

 在配置和创建报告前,有一些需要考虑的因素,确保报告尽可能有效。

  第一个注意事项是使用者。谁打算查看报告?依据使用者想查看的内容和技术水平,为了适当的传达信息,可 能需要增加、移除或更改图表。

  第二个注意事项是用途。如果你查看预定义报告,每一个报告都聚焦于一些特定的信息,基于特定数据集和包 含查询格式的图表。所以,为了有效性和易用性,报告内容必须专注于某方面,这需要有特定的目的才能实现。

  下一个注意事项是详情的级别。最佳实践是保持报告的简短和简洁。这不但能使专注查看网络和用户,而且更 简短的报表可以运行更少的图表和更少的查询。这将对性能有所帮助,庞大的报告会影响CPU和内存。

  最后的注意事项是格式。需要知道你想如何设计数据的格式,以使报告以尽可能易读、信息量最大的方式显示。 表格、柱状图和饼状图不需要以同样的效果呈现同样的数据。基于查询,你可能只需要使用一种类型的图表, 但如果选项可用,需要选择正确的图表。考虑数据如何能以最好的形象展现,以及使用者如何使用数据。除了 图表格式之外,也需要通过增加分隔符、分页符、图像、重命名图表等方式改变报告的设备。

 你现在已经了解了报告的概念。

  接下来学习在FortiAnalyzer里生成报告。

 在这个章节结束后,你应该可以完成这些任务。通过报告生成的学习是,你应该可以以一种可消费的方式快速 查看网络上活动的详细分析。

 FortiAnalyzer提供报告预定义模板。模板指定布局—文本、图表、宏— 并包含在报表中使用。默认情况下,这 些预定义模板与各自的预定义报告相关联。例如, Template – 360-Degree Security Review 模板是预定义 360-degree Security Review报告使用的模板。

  模板不包含任何数据。当生成报告时,数据添加到报告中。

  不能编辑预定义模板,但可以克隆并编辑以适应需求。也可以从头开始创建自己的模板。

 FortiAnalyzer也提供预定义报告—每一个报告关联一个预定义模板 (布局)。预定义报告已经配置好的基本默认 设置。这些基本设置定义了运行报表的时间段、什么设备或在其上运行报告的设备、以及报告是否生成一个报 告或多个报告。

  因此,您可以不用改动直接运行预定义的报告,但至少应该检查并根据需要调整基本的默认设置配置。例如, 如果今天是FortiAnalyzer 收集报告的第一天,而时间段设置为Last 7 Days,则报告不会包含任何数据。过去 的<n>天在FortiView中有区别的处理,然后生成报告。在报告中,不包含当前日期。

  可以按需运行报告,或开启时间表根据指定时间按计划运行报告。

  报告生成后,可以用多种格式查看,包括HTML、PDF、XML和 CSV。

 如果预定义的报告非常接近满足你的所有需求,但不完全满足,可以使用报告设置对报告进行微调。微调包含 最低限度的报告修改,例如:

  • 添加日志消息过滤器以进一步细化包含在报表中的日志数据
  • 开启现有的LDAP服务器查询,并向报告添加LDAP查询
  • 配置报告语言、打印设置和其它设置。例如,可以打印并定制封面页、 打印目录、打印设备列表、混淆用  户、并设置报表在Report Calendar的颜色代码。

 我们刚讨论了在报告设置中的报告级别过滤器设置。然而,也可以在使用在报告中的图表上设置过滤。

  在报告的 Layout 标签里,右键点击图表并选择 Chart Properties,在这里设置的过滤器只能应用在此报告中 设置的图表。因此,不会影响使用同样图表的其它报告。

 虽然预定义报告的名称旨在指示报告中包含的数据类型,但是更完整地查看报告内容是有帮助的——尤其是在 尝试确定预定义报告是否满足您的需求时。一种方法是检查报告中包含哪些图表,以及在更细粒度的层次上, 哪些数据集定义了这些图表。

  有几种方法可以确定报表中使用了哪些图表和数据集。一种快速的方法是查看与报告关联的模板。模板包括所 有包含在报告中的图表。要发现与图表相关联的数据集,请右键单击图表并选择Clone Chart。出现的对话框 列出数据集的Datasets页面可以查看数据集指定的查询。

 FortiAnalyzer还提供了在日志组上运行报告的功能,这样您就可以像查看单个设备一样查看组中的日志数据。

  日志组的一个这样的使用用例是确定您的网络作为一个整体的执行,特别是如果您有一个大型网络,并有多个 部署于不同位置的FortiGate。可以获得关于流量使用率的信息,并获得网络的完整视图,而不是收到多个未连 接的设备的片断视图。

  你可能也希望使用日志组来确定在指定地理位置的设备的运行情况。

 你现在已经了解了如何生成报告。

  接下来学习自定义报告的方式。

 在这个章节结束后,你应该可以完成这些任务。通过自定义报告的学习,你应该可以根据自己的需求生成报告。

 即使在进行微调报告设置后,预定义报告也可能不能满足企业的所有需求。虽然FortiAnalyzer提供了从头创建 新模板和报告的选项,但是也提供了定制选项。

 例如,对于现有模板或报告的微小或适度更改,可以使用克隆。对于克隆,可以克隆报告或模板,然后编辑克 隆以适应需求。对于报告,您可以创建一个新的报告,但是基于一个现有的模板,然后编辑新的报告以适应需求。

  当直接编辑预定义报告布局时 (不是模板),最佳实践是克隆,而不是编辑预定义报告。如果直接编辑报表不成 功,则可以保留默认报表。

  如果需要对现有模板或报告进行重大更改(即没有报告满足您的需求),可以从头创建一个新的报告或模板。

 可以从All Reports页面克隆一个报告。再次重申,仅在做微小或适度更改,可以使用克隆。例如,当需要从现 有报告中借用很多元素,但不是所有。在克隆报告里,可以编辑设置和布局。注意Layout 标签提供把布局保 存为模板的选项,如需要。

  与预定义报告不同,可以删除克隆的报告。

 可以在Templates页面克隆模板。再次重申,仅在做微小或适度更改,可以使用克隆。例如,例如,当需要从 现有模板中借用很多元素,但不是所有。在克隆的模板里,仅可以编辑布局。

  与预定义模板不同,可以删除克隆的模板。

 在All Reports页面,可以从空白开始创建新的报告。 如本页图形所示,可以配置设置和布局。由于是一个新 的报告,所以设置和布局都是空的,必须对它们进行配置。

  一旦创建了布局,就可以将其保存为模板。然后可以将该模板用于创建的其他报告。

  可以删除自定义报告。

 可以在Templates页面创建新的模板。本页图形显示 Layout 标签是空白的。使用此页面上的布局工具栏创建 布局。工具栏可以插入现有的图表和宏,以及可以添加和格式文本,同时添加图像和链接。

  在创建布局后,可以保存为自定义模板,然后在报告中使用模板。

  可以删除自定义模板。

 模板和报告之间有密切的关联。如前所述,您可以克隆和编辑报告和模板,也可以创建新的报告和模板。那么, 如何知道应该采用哪种自定义方法:是从模板端还是报告端开始自定义?

  模板和报告之间最重要的区别之一是,模板只包含可以在报表的Layout 标签中找到的详细信息—不包含报告 设置 (基本配置和高级设置)。因此,在决定是否在模板端或报表端执行定制时,取决于需要保留的内容和需要 修改的内容。

  最后,没有正确的方式。您可以通过各种方法获得相同的结果。最佳实践是从效率和需求的角度来实现。。

 在FortiAnalyzer中,宏定义从日志中提取什么数据—以简写形式表示数据集查询。可以把宏作为数据插入在报 告中,而不必使用图表来显示数据。FortiAnalyzer提供预定义宏,或者可以创建自己的自定义宏。

  注意宏是基于adom定义的,并且只支持FortiGate和FortiCarrier ADOM。

 可以把宏插入到自定义模板,或插入到报告布局 (预定义或自定义)。

  在本页所示的示例中,在插入的宏之前添加文本,以给宏提供一些上下文关联。如你所见,在生成报表时,根 据宏中使用的查询提取来自日志的数据。这里宏 “Application Category with Highest Count” 从数据库中返回 “Network.Service” 。

 现在你了解了如何自定义报告。

  接下来学习自定义图表和数据集。

 在这个章节结束后,你应该可以完成这些任务。通过自定义图表和数据集的学习,你应该可以根据需求从数据 库中提取数据的特定组合。

 在一些场景中,只是从报告或模板中简单的添加或移除默认的图表可能不能满足需求:当不存在用于需要的特 定组合的预定义图表或数据集时,您可能需要从数据库中提取数据的特定组合。在这种情况下,您可以克隆和 编辑图表和数据集,或者从头创建新的图表和数据集。

 创建新的图表时,首先需要一个数据集,该数据集用于查询数据库以获取所需的信息,这是必需的。图表所做 的就是将基于文本的查询结果转换为选择的图形格式(表、柱状图、饼状图、线状图、区域环状图)。

  在选择数据集和图表类型后,在the Data Bindings部分中的信息会根据这些选择自动调整。查看FortiAnalyzer Administration Guide ,了解关于特定数据集和图表类型的数据绑定选项的更多信息。

  如果FortiAnalyzer包含一个与需要的输出非常相似的现有图表,那么可以克隆并修改图表,而不需要创建一个 全新的图表。克隆的图表被归类为自定义图表,所以请记住要启用Show Custom,使自定义项出现在图表库 表中,便于查看或访问。

 当创建新的数据集时,需要编写SQL SELECT 查询。需要了解编写查询的更多信息,参见 FortiAnalyzer SQL and Datasets 课程 (补充培训材料)。

  一旦您编写了查询,请确保对其进行测试,以确保其格式正确。另外,检查测试结果,并确保返回需要的数据。

  如果FortiAnalyzer包含与需求很匹配的现有数据集,可以克隆和修改数据集,而不是创建一个全新的数据集。

  注意,您可以在Datasets页面上单击一次验证所有自定义数据集(包括新的和克隆的数据集)。在固件升级之后, 应该始终验证自定义数据集。

 构建自定义数据集和图表的一种快速方法是使用chart builder工具。这个工具位于Log View, 可以基于过滤的搜 索结果,自动构建数据集和图表。在Log View 中,设置过滤返回需要的日志,然后在Tools 菜单中,选择 Chart Builder 将搜索自动构建为数据集和图表。 也可以通过以下方式进一步微调数据集:

  • 添加更多的列
  • 设置组、排序和分类过滤
  • 对结果设定限制
  • 设置设备和时间范围

 与在Log View中的Chart Builder 功能类似,可以从FortiView中导出图表。图表导出包含在FortiView上设置的 任何过滤器。

 你现在已经了解了自定义图表和数据集。

  接下来学习管理报告。

 在这个章节结束后,你应该可以完成这些任务。通过报告管理的学习,您将能够处理、存储和更有效地控制报 告和生成报告。

 可以将FortiAnalyzer配置为将生成的报告发送给邮件特定的管理员,或者将生成的报告上传到syslog服务器。 实现报表在外部存储,而不是留在FortiAnalyzer本地。

  为了使用任意的外部存储方法,必须首先设置后端。包括配置邮件服务器 (仅用于发送报告邮件) 和输出配置文 件。如果开启了ADOM,每个ADOM有自己的输出配置文件。

  输出配置文件指定:

  • 报告的格式,例如PDF、HTML、XML和CSV
  • 是否通过电子邮件发送生成的报告或上传至服务器。您可以指定一个选项或两个都使用,或者创建多个  outlook配置文件。服务器选项包括FTP、SFTP、和 SCP。
  • 在上传上服务器后,是否删除本地报告。

 当报告生成时,系统会从预编译的SQL硬件缓存数据(即hcache)构建图表。如果运行报告时没有创建hcache, 系统必须首先创建hcache,然后再创建报告。这会增加报告生成的时间。如果在报告产生期间没有收到新的日 志,那么当您第二次运行报告时,它将会快得多,因为hcache数据已经被预先编译。

  为了提高报表性能并减少报表生成时间,您可以在报表的设置中启用自动缓存。在这种情况下,当新日志进入 并生成新日志表时,hcache将自动更新。

  注意,hcache将对预定时间报告自动启用。如果您没有预定时间报表,您可能需要考虑启用hcache。这确保了 报告的有效生成。但是,请注意这个过程会占用系统资源 (特别是对于需要很长时间来编译数据集的报表,所 以应该监视系统,确保启用hcache后可以处理报告。

 如果相同的(或类似的)报告将针对许多不同的ForitGates运行,您可以通过分组报告显著地提高报告生成时间。 报告分组可以减少hcache表的数量,提高自动hcache完成时间和报告完成时间。

  在使用configure system report group CLI命令配置报表分组之后,必须重新构建报表hcache表。可以重建所有 的报告hcache表,或者,如果使用组功能只启用了几个报告,那么可以为这些特定的报告重新构建hcache表。

 需要记住,每个ADOM有各自的报告、库文件和高级设置。但是,可以将报告和图表(无论是默认的还是定制的) 导入到同一个FortiAnalyzer设备的不同ADOM中或不同的FortiAnalyzer设备中。ADOM必须是同样的类型。

  模板和数据集不能导出。然而,当导入导出的报表时,可以将报表的布局保存为模板。当您导出一个图表时, 关联的数据集将随之导出,因此当您导入一个导出的图表时,关联的数据集也将被导入。

  可以在Reports页面上,通过右键点击菜单导入和导出报告。

  Chart Library 在工具栏中包含导入和导出功能。

 Report Calendar 提供所有预定时间报告的概览。打勾图标表示报告已经生成,时钟图标表示报告正在等待。

  当您将鼠标悬停在预定时间报表上时,会出现一个通知框,显示报表的名称、状态和设备类型。

  您可以编辑和禁用即将发布的预定时间报告,也可以通过右键单击日历中的报告名称来删除或下载完成的报告.

  注意,预定时间实际上不是在此页面上完成的,而是在指定的报表配置本身中配置的。

  还可以将报表配置为使用报表的 Advanced Settings中的指定颜色来显示。

 你现在已经了解了如何管理报告。

  接下来学习报告排错。

 在这个章节结束后,你应该可以完成这些任务。通过报告排错的学习,你应该能够避免、识别和解决常见的报告问题。

 如果您的网络中有大量的设备向FortiAnalyzer发送日志,且日志量也很大,那么生成报告可能需要一些时间如 果您发现报告生成的时间太长,可以采取以下几个步骤进行故障排查:

  • 在报表上运行诊断,并在报表末尾查看报表摘要。查看hcache时间,看看建立花费了多长时间。.
  • 检查日志速率 (如前所述),得到日志量数据。
  • 检查写入速率、接收速率和日志写入延迟。可以了解原始日志到达FortiAnalyzer的速率(接收速率),以及  sqlplugind守护进程对SQL数据库进行索引的速率(写入速率)。日志写入延迟时间可以了解在处理日志时数  据库延后了多少秒。
  • 在报表设置中启用自动缓存,以提高报告性能并减少报告生成时间。预定时间报告已经启用了自动缓存。

 这张幻灯片展示了一些CLI命令,可以使用这些命令来排查与报告生成时间相关的问题。

 如果您运行的报告没有数据,或者不包含所需的信息,该怎么办?以下是一些故障诊断的提示:

  • 检查报告所涵盖的时间范围。这在报告本身中列出。
  • 将时间范围与日志进行比较,验证是否有相关时间的日志文件。
  • 验证您有报告运行时的日志和报告运行时的设备日志。一个常见的问题是日志被快速覆盖。结果是报表所需  的日志被覆盖,因此,报告运行时没有可用的日志。在这种情况下,解决方案是增加磁盘配额,以确保日志  保存的时间更长。
  • 测试有问题的数据集并验证是否可以检索正确的信息。如果不可以,那么对SQL查询本身进行故障排除,因为可能是包含错误的数据集。
  • 检查报告的高级设置。像user obfuscate这样的设置会导致报表中的用户名异常。还要验证附加到报表的过滤器,有可能过滤器过滤掉了需要的日志。

 课程目标回顾。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值