教程篇(7.2) 04. 报告 ❀ FortiAnalyzer分析师 ❀ Fortinet 网络安全专家 NSE5

 在本课中,你将学习如何从日志中提取有用的信息用于分析目的。为此,您你了解数据如何在数据库中格式化、存储和组织,以及如何使用FortiAnalyzer报告功能查看捕获的数据以进行取证和合规性。

 在本课中,你将探索上图显示的主题。

 通过展示理解报告概念的能力,你将能够更有效地使用报告从数据库中提取收集的日志数据。

 报告的目的是总结大量记录的数据。基于配置的报告参数,FortiAnalyzer提取数据并以图形方式呈现,使其更容易、更快地消化。报告显示的模式和趋势已经作为数据库中的几个数据点存在,但手动定位、交叉引用和分析多个日志文件会很困难和耗时,特别是如果你不知道你正在寻找什么趋势或模式。配置后,报告会为你进行调查,并对网络上的活动进行快速详细的分析。然后,你可以使用这些信息来更好地了解你的网络或提高你的网络安全性。

  请注意,报告没有提供任何建议,也没有给出任何问题的迹象。管理员必须能够超越数据和图表,以了解其网络中正在发生的事情。

 FortiAnalyzer报告是一组以图表组织的数据。图表由两个元素组成:

  ● 数据集:结构化查询语言(SQL)SELECT从数据库中提取特定数据的查询

  ● 格式:数据的显示方式(例如,饼图、条形图或表格)

 为了用在SQL数据库中收集、存储和排序的特定日志数据填充图表,报告依靠数据集查询来提取该日志数据。数据集是一个特定的SQL SELECT查询只读语句,从数据库中检索数据。

  SELECT语句是查询中使用的第一个单词,它是描述你想要完成的操作的声明性动词,后面是你想要从中提取信息的列。你可以提取所有条目,也可以使用子句使查询更加具体。

 要提取所需的数据,你需要指定要使用的标准。为了将此标准放入SQL理解的语言中,你必须使用SELECT语句识别一个或多个子句。

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

  ● FROM,它指定从哪个表或视图中提取数据

  ● WHERE,它规定了条件。所有不满足条件的行都不会显示在输出中。

  ● GROUP BY,收集跨多个记录的数据,并按一列或多列对结果进行分组

  ● ORDER BY,按特定列排序结果。如果没有给出ORDER BY,则会按照系统发现最快生成的顺序返回记录。

  ● LIMIT,它根据指定值限制返回的记录数量。

  ● OFFSET,子句通常与LIMIT一起使用,用指定的数字抵消结果。例如,如果你设置三条记录的限制和一条的偏移量,则通常返回的第一条记录将被跳过,而是返回第二、第三和第四条记录(总共三条)。

  FROM是形成SELECT语句所需的唯一强制性条款。其余的子句是可选的,用于过滤或限制、聚合或组合,并控制排序。同样重要的是要注意,这些子句必须按特定顺序编码。因此,在SELECT关键字之后,语句后面必须遵循一个或多个子句,按照它们在上图显示的表格中显示的顺序排列。例如,你不能在FROM子句之前使用WHERE子句。你不必使用所有可选条款,但无论你使用哪个条款,都必须按正确的顺序排列。

  有关用于FortiAnalyzer报告的SQL和数据集的更多信息,请参阅补充的FortiAnalyzer SQL和数据集课程。

 要创建查询,你首先需要知道数据库模式中包含的内容。模式是可用的不同字段或列,你可以从中提取报告信息。在FortiAnalyzer中,你可以通过创建和测试以下数据集查询来获取特定日志类型的模式:

  SELECT * FROM $log

  此查询可以理解为:“从日志表中选择所有内容”

  例如,对于流量日志,请将流量日志类型与日志类型下拉列表中的此数据集相关联。此查询从流量日志类型返回所有内容。列标题名称表示所选日志类型的数据库模式中可用的内容。*符号被用作返回所有数据的一种方式。

 要快速访问模式,请将鼠标悬停在查询中的超链接上,窗口将显示该表的所有可用字段。

  正如你在这张幻灯片上看到的,字段的数量可能非常多。因此,克隆和编辑预定义的数据集之一可能是最好的方法,如果它们都不能完全满足你的需要。

 正如上图的图形所示,SQL数据库包含所有日志。SQL SELECT查询在数据库中轮询特定信息。根据查询,提取存储在日志中的信息子集。

  这个数据子集填充一个图表,报告中存在一个或多个图表。

  启用ADOM后,每个ADOM都有自己的报告、库和高级设置。因此,在选择报告之前,请确保你处于正确的ADOM中。

  仅当启用ADOM时,特定Fortinet设备的附加报告才可用。你可以在各自的ADOM中为这些设备配置和生成报告。这些设备还具有特定于设备的图表和数据集。

  在配置或创建报告之前,你需要考虑某些因素,以确保报告尽可能有效。

  第一个考虑因素是你的观众。谁会看这份报告?根据他们想要看到的内容和他们的技能水平,你可能需要添加、删除或修改图表,以便适当地传达信息。

  第二个考虑是你的目的。如果你查看预定义的报告,每个报告都侧重于特定的信息。它们基于特定的数据集,并包含格式化查询的图表。因此,报告必须集中,以便有效且易于消化,这是通过有强烈的目标来实现的。

  下一个考虑因素是细节水平。最佳做法是保持报告简短和简洁。它们不仅关注你对网络和用户的视图,而且较短的报告具有更少的图表和更少的要运行的查询。这有助于提高性能,因为大型报告会影响CPU和内存。

  最后的考虑因素是格式。你需要知道如何格式化数据,以便以最易于消化和信息的方式显示。表格图、条形图和饼图不一定代表具有相同有效性的相同数据。根据你的查询,你可能只能使用一种类型的图表,但如果有选项,你需要选择正确的图表。考虑如何最好地直观地表示数据,以及消耗数据的受众。

  除了图表格式外,你还可以通过添加分隔符、分页符、图像和重命名图表来更改报告的设计。

  答案:B

  非常好!你现在了解了报告概念。接下来,你将学习如何在FortiAnalyzer中生成和自定义报告。

  通过展示生成和定制报告的能力,你将能够生成特定于你需求的报告。

  FortiAnalyzer为报告提供预定义的模板。模板指定布局文本、图表和宏,以包含在使用它的报告中。默认情况下,这些预定义模板与各自的预定义报告相关联。例如,模板-360度安全审查模板是预定义的360度安全审查报告使用的模板。

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

  你无法编辑预定义的模板,但你可以克隆它并编辑克隆以满足你的要求。你还可以从头开始创建自己的模板。

  FortiAnalyzer还提供预定义的报告——每个报告都与预定义模板(布局)相关联。预定义报告带有已经配置的基本默认设置。这些基本设置定义了运行报告的时间段;在什么设备上运行报告;以及报告是生成单个报告还是多个报告。

  因此,你可以按原样运行预定义的报告,但至少你应该检查并在必要时调整基本默认设置。例如,如果今天是FortiAnalyzer收集日志的第一天,那么如果时间段设置为过去7天,你的报告不包含任何数据。在FortiView中,过去<n>天的处理方式与报告不同。在报告中,它不包括当天。

  你可以按需运行报告,或通过启用调度将其安排到特定时间。

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

  如果预定义的报告非常接近满足你的所有要求,但不完全满足,你也许可以微调其设置以满足你的需求。

  微调包括最低限度的报告修改,例如:

  ● 添加日志消息过滤器以进一步细化报告中包含的日志数据

  ● 启用对现有LDAP服务器的查询,以将LDAP查询添加到报告中

  ● 配置报告语言、打印设置和其他设置。例如,你可以打印和自定义封面页,打印目录,打印设备列表,混淆用户,并将报告的颜色代码设置为显示在报告日历下。

  预定义报告可能无法满足你组织的所有要求,即使在微调报告设置后也是如此。虽然FortiAnalyzer提供了从头开始创建新模板和报告的选项,但有自定义选项可用。

  对于对现有模板或报告的轻微或适度更改,你可以使用克隆。对于克隆,你将克隆报告或模板,然后编辑克隆以满足你的要求。

  仅对于报告,你可以创建新报告,但以现有模板为基础。然后编辑新报告以满足你的要求。

  虽然你可以直接编辑预定义报告的布局(但不是模板),但克隆和编辑预定义报告是最佳做法。如果你对报告的直接编辑不成功,这将保留默认报告。

  如果需要对现有模板或报告进行重大更改(也就是说,没有接近你需求的报告),你可以从头开始创建新报告或模板。

 模板和报告之间存在密切的联系。如前所述,你可以克隆和编辑报告和模板,也可以创建新报告和模板。那么,你如何知道该采取哪种定制方法:你是从模板端还是报告端攻击自定义?

  模板和报告之间最重要的区别之一是,模板只包含你可以在报告的“布局”选项卡下找到的详细信息——它们不包括报告设置(基本配置或高级设置)。因此,在决定是在模板端还是在报告端执行自定义时,这取决于你想要保留的内容和修改的内容。

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

  在FortiAnalyzer中,宏指定从日志中提取哪些数据——它们以缩写形式表示数据集查询。你可以在报告中插入宏作为数据,而无需使用图表来显示数据。FortiAnalyzer提供预定义的宏,或者你可以创建自己的自定义宏。

  请注意,宏是特定于ADOM的,仅在FortiGate和FortiCarrier ADOM中受支持。

  答案:A

  答案:A

  非常好!你现在了解如何自定义报告。接下来,你将学习如何自定义图表和数据集。

  通过展示图表和数据集定制方面的能力,你将能够从特定于你要求的数据库中提取独特的数据组合。

  在某些情况下,简单地从报告或模板中添加或删除默认图表可能不符合你的要求:当不存在该独特组合的预定义图表或数据集时,你可能需要从数据库中提取唯一的数据组合。在这种情况下,你可以克隆和编辑图表和数据集,也可以从头开始创建新的图表和数据集。

  构建自定义数据集和图表的快速方法是使用图表生成器工具。此工具位于日志视图中,允许你根据过滤的搜索结果自动构建数据集和图表。在日志视图中,设置过滤器以返回你想要的日志。然后,在工具菜单中,选择图表生成器,自动将搜索构建到数据集和图表中。你还可以通过以下方式进一步微调数据集:

  ● 添加更多列

  ● 设置分组、排序和排序过滤器

  ● 设定结果限制

  ● 设置设备和时间范围

  与日志视图中的图表生成器功能类似,你可以从FortiView导出图表。图表导出包括你在FortiView上设置的任何过滤器。

  答案:A

 非常好!你现在了解如何自定义图表和数据集。接下来,你将学习如何管理报告。

  通过展示报告管理能力,你将能够处理、存储和更有效地控制报告和报告生成。

  你可以将FortiAnalyzer配置为将生成的报告通过电子邮件发送给特定管理员,或将生成的报告上传到syslog服务器。这允许报告在外部存在,而不是留在本地FortiAnalyzer上。

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

  输出配置文件指定了以下内容:

  ● 报告的格式,如PDF、HTML、XML和CSV

  ● 是通过电子邮件发送生成的报告还是上传到服务器,你可以指定一个选项,两者兼而有之,或创建多个Outlook配置文件。服务器选项包括FTP、SFTP和SCP。

  ● 上传到服务器后是否在本地删除报告

  当生成报告时,系统会从预编译的SQL硬缓存数据(称为hcache)构建图表。如果你在运行报告时没有构建hcache,系统必须先创建hcache,然后构建报告。这为报告生成增加了时间。但是,如果在报告期内没有收到新的日志,当你第二次运行报告时,速度要快得多,因为hcache数据已经预编译了。

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

  请注意,hcache会自动为计划报告启用。如果你没有安排报告,你可能需要考虑启用hcache。这确保了报告的高效生成。但是,请注意,这个过程使用系统资源(特别是对于需要很长时间才能组装数据集的报告),因此你应该监控你的系统,以确保它能够处理它。

  如果针对许多不同的FortiGate设备运行相同(或类似的)报告,你可以通过分组报告来显著缩短报告生成时间。报告分组可以减少hcache表的数量,并改善自动hcache完成时间和报告完成时间。

  使用configure system report group CLl命令配置报告分组后,必须重建报告hcache表。你可以为这些特定报告重建hcache表。

  请记住,每个ADOM都有自己的报告、库和高级设置。但是,你可以将报告和图表(无论是默认还是自定义)导入和导出到同一FortiAnalyzer设备或不同FortiAnalyzer设备中的不同ADOM。ADOM必须具有相同的类型。

  你无法导出模板和数据集。但是,当你导入导出的报告时,你可以将报告的布局保存为模板。当你导出图表时,关联数据集会随之静默导出,因此当你导入导出的图表时,也会导入关联的数据集。

  你可以通过报告页面上的右键单击菜单导出和导入报告。

  图表库在工具栏中包含导出和导入功能。

  除了实时事件外,你还可以将报告附加到事件中,以添加历史数据。

  以下是你可以附加报告的三种方式:

  ● 手动,从现有报告中。

  ● 手动,从现有事件中。

  ● 自动,通过自动化操作手册。

  上图展示了如何从现有报告和现有事件中手动附加报告。

  报告日历提供了你所有计划报告的概述。检查图标表示报告已生成,而时钟图标表示报告正在等待。

  当你将鼠标光标悬停在计划报告上时,会打开一个通知框,显示报告名称、状态和设备类型。

  你可以通过右键单击日历中的报告名称来编辑和禁用即将发布的计划报告,以及删除或下载已完成的报告。

  请注意,调度实际上不是在此页面上完成的,而是在特定报告配置本身中配置的。

  你还可以将报告配置为在报告高级设置窗口中使用特定颜色显示。

  答案:A

  答案:A

 非常好!你现在了解如何管理报告。接下来,你将了解报告故障排除。

  通过展示报告故障排除的能力,你将能够避免、识别和解决常见的报告问题。

  如果你的网络有大量设备向FortiAnalyzer发送日志,并且日志量也很大,则生成报告可能需要一些时间。如果你发现生成报告的时间太长,你可以采取一些步骤进行故障排除:

  ● 对你的报告运行诊断程序,并在报告末尾查看报告摘要。看看hcache时间,看看构建需要多长时间。

  ● 检查您的日志速率(如前所述),以了解日志卷。

  ● 检查插入率、接收率和日志插入滞后。他们可以告诉你原始日志到达FortiAnalyzer的速率(接收率)和SQL数据库索引的速率(插入速率)由sqlplugind守护进程。日志插入滞后时间告诉你数据库在处理日志时落后了多少秒。

  ● 在报告设置中启用自动缓存,以提高报告性能并减少报告生成时间。计划报告已经启用了自动缓存。

  上图显示了一些CLI命令,你可以使用这些命令对与报告生成时间相关的问题进行故障排除。

  如果你运行报告时它们是空的或不包含所需的信息,会发生什么?以下是一些故障排除提示:

  ● 检查报告所涵盖的时间框架。这在报告本身中列出。

  ● 将时间范围与日志进行比较,并验证你是否拥有相关时间的日志文件

  ● 验证你是否有运行报告时和运行报告的设备的日志。一个常见问题是由日志被过快覆盖引起的。其结果是,报告所需的日志被覆盖,因此,一旦报告运行,就不可用。在这种情况下,解决方案是增加磁盘配额,以确保日志保留更长时间。

  ● 测试相关数据集,并验证它是否正在检索正确的信息。如果不是,则对SQL查询本身进行故障排除,因为它可能是包含错误的数据集。

  ● 检查你的报告高级设置。用户混淆等设置可能会导致报告中的用户名异常。还要验证报告所附的过滤器。你的过滤器可能正在过滤掉所需的日志。

  答案:A

  恭喜!你已经完成了本课。接下来,你将复习本课中涵盖的目标。

  通过掌握本课程中涵盖的目标,你学会了如何了解数据如何在数据库中格式化、存储和组织,以及如何使用FortiAnalyzer报告功能从日志中查看和提取有用的信息。


猜你喜欢

转载自blog.csdn.net/meigang2012/article/details/135011467
今日推荐