在本课中,你将学习如何在FortiGate上配置本地和远程日志;查看、搜索和监控日志;并保护你的日志数据。
本节课,你将学习上图显示的主题。
完成本节后,你应该能够实现上图显示的目标。
通过展示日志基础知识的能力,你将能够更有效地分析数据库中的日志数据。
当流量通过FortiGate进入你的网络时,FortiGate扫描流量,然后根据适当的防火墙策略采取行动。此活动将被记录,信息包含在日志消息中。日志信息保存在日志文件中。然后将日志文件存储在能够存储日志的设备上。FortiGate可以将日志存储在本地的磁盘空间中,也可以将日志发送到外部存储设备(如FortiAnalyzer)。
日志的目的是帮助你监控网络流量、定位问题、建立基线等。日志为你提供了一个更大的视角来了解你的网络,允许你在必要时调整你的网络安全。
在日志记录方面,有些组织有法律要求,因此在配置期间了解组织的策略是很重要的。
为了进行有效的日志记录,FortiGate系统日期和时间应该是准确的。你可以手动设置系统日期和时间,也可以配置FortiGate,通过与网络时间协议 (NTP) 服务器同步自动保持系统时间正确,建议使用NTP服务器。
对于FortiGate来说,有三种不同类型的日志:流量日志、事件日志和安全日志。每种类型又被进一步划分为子类型。
流量日志主要记录流量的信息,如HTTP/HTTPS请求和响应等。它包含名为forward、local和sniffer的子类型。
● 转发流量日志包含FortiGate根据防火墙策略接受或拒绝的流量信息。
● 本地流量日志包含直接进出FortiGate管理IP地址的流量信息。它们还包括到GUl和FortiGuard查询的连接。
● 嗅探日志包含与单臂嗅探器看到的流量相关的信息。
事件日志记录系统和管理事件,如添加或修改设置,或守护进程活动。它包含名为端点控制、高可用性、系统、用户、路由器、VPN、WAD的子类型和无线。
● 系统事件日志包含操作相关的信息,如FortiGuard自动更新、GUI登录等。
● 用户日志包含用户认证防火墙策略的登录和注销事件。
● 路由器、VPN、WAD和无线子类型包括这些特性的日志。例如,VPN中包含IPsec和SSL VPN日志。
最后,安全日志记录安全事件,如病毒攻击和入侵尝试。它们包含基于安全配置文件类型(日志类型 = utm)的日志条目,包括应用控制、反病毒、DLP、反垃圾邮件(电子邮件过滤器)、web过滤器、入侵防御、异常(DoS-policy)和WAF。安全日志和子类型只有在GUl中创建了日志时才可见——如果不存在安全日志,菜单项就不会出现。
每个日志条目都包含一个日志级别(或优先级),按重要性从紧急事件到信息的顺序排列。
还有一个调试级别。它将诊断信息放入事件日志中。调试级别很少使用,除非你正在积极研究Fortinet支持的问题。通常,你希望使用的最低级别是信息,但即使是这个级别也会产生许多日志,并可能导致过早的硬盘故障。根据日志类型和组织的需要,你可能希望只记录通知级别或更高级别的日志。
你和组织的策略规定了必须记录的内容。
每个日志消息都有一个标准的布局,包括两个部分:日志头和正文。
日志头包含所有日志类型通用的字段,如起始日期和时间、日志标识符、日志类别、严重级别和虚拟域 (VDOM)。但是,每个字段的值是特定于日志消息的。在上图中显示的原始日志条目示例中,日志类型是UTM,子类型是webfilter,级别是warning。日志的类型和子类型决定了哪些字段会出现在日志体中。
因此,正文描述了创建日志的原因以及FortiGate采取的行动。这些字段因日志类型的不同而不同。在上图所示的例子中,字段如下:
● policyid字段表示匹配流量的防火墙规则
● srcip字段表示源IP地址
● dstip字段表示目的IP地址
● hostname字段表示主机的URL或IP地址
● action字段表示当FortiGate发现匹配流量的策略时,它会做什么
● msg字段表示采取动作的原因。本例中的动作为blocked,即FortiGate禁止该IP报文通过,原因是该IP报文属于防火墙策略中被拒绝的类别。
如果登录到第三方设备(如syslog服务器),了解日志结构对集成至关重要。有关日志结构和相关含义的信息,请访问http://docs.fortinet.com。
从安全结构中的设备收集日志很重要。这就是为什么两个或更多FortiGate设备和一个FortiAnalyzer(远程日志记录设备)是安全结构解决方案核心的必备产品。使用FortiGate,你可以在结构中的不同防火墙中启用不同的安全特性,如反病毒、web过滤、入侵防御(IPS)和应用程序控制。例如,在内部分段防火墙 (ISFW) 中只启用反病毒功能,在下一代防火墙 (NGFW) 中可以启用web过滤、IPS功能和应用控制功能。这意味着当同一流量通过多个防火墙时,你不必重复扫描和记录日志。
安全结构可以提供网络拓扑视图(物理和逻辑),FortiGate设备可以共享网络相关信息。例如,连接到下游FortiGate设备的设备也将在上游设备上可见(你必须在FortiGate GUI的接口页面上启用设备检测)。简单地说,管理员可以通过登录安全结构的根FortiGate来查看日志和连接到网络的设备。这些信息可以使用FortiTelemetry协议安全地共享。
重要的是要记住,生成的日志越多,对CPU、内存和磁盘资源的消耗就越大。存储一段时间的日志也需要磁盘空间,访问日志也是如此。所以,在配置日志记录之前,请确保额外的资源是值得的,并且你的系统能够处理大量的日志记录。
同样需要注意的是使用安全配置文件记录行为。安全配置文件可以根据日志设置,在检测到匹配配置文件的流量时创建日志事件。根据你拥有的流量和启用的日志记录设置,你的流量日志可能会膨胀,并最终影响防火墙的性能。
在FortiGate命令行中,对于FortiAnalyzer和syslog等远程日志设备,可以将性能统计日志记录设置为每1 ~ 15分钟发生一次(0表示关闭)。这对于本地磁盘日志或FortiCloud是不可用的。
答案:B
答案:A
现在你了解了日志的基本知识。接下来,你将了解本地日志记录。
完成本节后,你应该能够实现上图显示的目标。
通过展示本地日志记录的能力,你将能够成功地将日志存储到本地磁盘,并根据你的需求保留这些日志。
在FortiGate上存储日志称为本地日志。你可以将日志存储到设备的硬盘中。
一般来说,中高端FortiGates都有硬盘。记录到硬盘驱动器称为磁盘日志。根据型号系列的不同,默认情况下可以启用磁盘日志记录。
FortiGate可以在本地存储所有日志类型,包括日志归档和流量日志。流量日志和日志归档是较大的文件,在FortiGate记录时需要很大的空间。
在大量使用日志的情况下,任何对FortiGate磁盘的日志记录都将导致性能影响。
如果你使用设备上的本地硬盘进行WAN优化,那么你也不能将日志记录到磁盘(除非你的设备有两个独立的磁盘:你可以使用一个进行WAN优化,使用另一个进行日志记录)。如果你正在使用本地硬盘进行WAN优化,那么你可以将日志记录到远程FortiAnalyzer设备或syslog服务器。
如果要在FortiGate上本地存储日志,必须在日志设置页面启用磁盘日志。只有某些FortiGate型号支持磁盘日志。如果FortiGate不支持磁盘日志记录,则可以将日志记录到外部设备。你将在本课的后面学习远程日志记录。
磁盘日志必须启用,以便信息出现在FortiView仪表板上。如果关闭,日志只会实时显示。该设置也可以通过config log disk setting命令启用。
默认情况下,超过7天的日志将从磁盘中删除(日志年龄可配置)。
如果你决定在FortiGate上进行本地日志记录,请注意,整个磁盘空间都无法用于存储日志。FortiGate系统为系统使用和意外配额溢出预留了大约25%的磁盘空间。
要确定FortiGate上的预留空间量,请使用CLI命令diagnose sys logdisk usage。从总磁盘空间中减去总日志空间,以计算预留空间。
如果本地存储的日志不适合你的需要,可以将日志存储在外部。可以配置FortiGate功能,将日志存储在syslog服务器、FortiCloud、FortiSIEM、FortiAnalyzer或FortiManager上。这些日志设备还可以用作备份解决方案。
Syslog是一个日志服务器,用作网络设备的中央存储库。
FortiCloud是一种基于Fortinet订阅的托管安全管理和日志保留服务,提供带有报告的日志长期存储。如果你有一个较小的网络,FortiCloud通常比购买一个专用的日志设备更可行。请注意,每个FortiGate都提供了一个自由层,并将保存日志长达数天。你必须升级到付费服务,以保留一年的日志。
FortiSIEM提供统一的事件关联和风险管理,可以收集、解析、规范化、索引和存储安全日志。
FortiAnalyzer和FortiManager是FortiGate可以与之通信的外部日志设备。你可以将FortiAnalyzer或FortiManager置于与FortiGate相同的网络中,也可以置于FortiGate之外。虽然FortiAnalyzer和FortiManager共享一个共同的硬件和软件平台,并且都可以获取日志条目,FortiAnalyzer和FortiManager实际上有不同的功能。值得注意的是,FortiManager的主要目的是集中管理多个FortiGate设备。因此,每天的日志量被限制为固定的数量,小于FortiAnalyzer的等效大小。另一方面,FortiAnalyzer的主要目的是存储和分析日志,因此日志限制要高得多(尽管限制依赖于型号)。注意,你配置日志记录到FortiAnalyzer或FortiManager,不需要本地磁盘或日志记录。
配置FortiGate向FortiAnalyzer或FortiManager发送日志的过程相同。为了让FortiGate将日志发送到任意一台设备,你必须在FortiAnalyzer或FortiManager上注册FortiGate。注册后,FortiAnalyzer或FortiManager可以开始接受来自FortiGate的传入日志。
你可以通过GUl和CLI配置FortiAnalyzer或FortiManager的远程日志记录。
● GUl:在日志设置页面中,启用FortiAnalyzer/FortiManager,并输入远程日志设备的IP地址。
● CLI:对于FortiAnalyzer和FortiManager,请使用config log FortiAnalyzer setting命令。虽然命令中没有明确提到FortiManager,但它也用于FortiManaqer。使用CLI,最多可以添加三个独立的设备或一个云FortiAnalyzer实例,以增加保护日志数据的冗余。三个设备的命令不能累积。生成日志需要使用系统资源,因此,如果FortiGate频繁地创建日志并将日志发送到多个位置,CPU和RAM的使用量就会增加。
请注意,在FortiAnalyzer或FortiManager上注册FortiGate之前,GUl上的测试连接功能将报告为失败,因为它还没有被授权发送日志。
FortiGate允许到FortiAnalyzer和FortiManager接近实时上传和一致的高速压缩和分析。
在GUI界面上,上传选项包括实时、每分钟和每5分钟(默认)。
如果你的FortiGate型号包含一个内部硬盘驱动器,你还可以选择存储和上传。这允许你将日志存储到磁盘,然后在预定的时间(通常是低带宽时间)上传到FortiAnalyzer或FortiManager。只能在CLI中配置存储上传选项和时间安排。
如果FortiAnalyzer由于任何原因无法使用FortiGate, FortiGate将使用它的miglogd进程来缓存日志。缓存大小有一个最大值,一旦达到这个值,miglogd进程将开始删除缓存的日志(最早的)。当两台设备之间的连接恢复后,miglogd进程开始将缓存的日志发送给FortiAnalyzer。因此,FortiGate缓冲区保存的日志足够长,以支持重新启动你的FortiAnalyzer(例如,如果你正在升级固件),但它不打算用于FortiAnalyzer长时间停机。
在FortiGate上,CLI命令diagnose test application miglogd 6显示miglogd进程的统计信息,包括总缓存大小和当前缓存大小。
如果缓存已满,需要删除日志,CLI命令diagnose log kernel-stats将显示failed-log的增加。
具有SSD磁盘的FortiGate设备有一个可配置的日志缓冲区。当与FortiAnalyzer的连接不可达时,如果内存日志缓冲区已满,FortiGate可以在磁盘上缓冲日志。恢复到FortiAnalyzer的连接后,磁盘缓冲区中排队的日志可以成功发送。
与FortiAnalyzer和FortiManager类似,你可以在日志设置界面或命令行中配置远程日志到FortiCloud。但是,你必须首先激活您的FortiCloud帐户,这样FortiGate才能与你的FortiCloud帐户通信。完成之后,你可以启用FortiCloud日志记录并设置上传选项。如果希望首先将日志存储到磁盘,然后将其上传到FortiCloud,则必须指定一个时间表。当磁盘使用设置为WAN优化(wanopt)时,将删除用于登录FortiCloud的存储和上传选项。
你还可以在日志设置页面或CL上配置远程日志记录为syslog和FortiSIEM。通过config log syslogd 命令,可以将FortiGate日志发送到最多4个syslog服务器或FortiSIEM设备。
FortiGate支持以CSV和CEF格式发送日志到syslog,CEF数据可以被企业管理或安全信息和事件管理(SIEM)系统(如FortiSIEM)收集和聚合以供分析。你可以分别配置每个syslog服务器,以CEF或CSV格式发送日志消息。
你可以通过命令行配置单个syslog日志使用CSV和CEF格式。上图中显示的示例是针对sysloqd3的。所有其他syslog设置可以独立于日志消息格式,包括服务器地址和传输协议(UDP或TCP),根据需要进行配置。
如果你配置了带有虚拟域(VDOM)的FortiGate,则可以全局地添加多个FortiAnalyzer和syslog服务器。在全局设置下,你可以配置最多三个FortiAnalyzer设备和最多四个syslog服务器。
FortiGate使用UDP端口514(或TCP端口514,如果启用了可靠的日志记录)进行日志传输。
日志信息存储在磁盘上,并以LZ4压缩格式的纯文本形式传输到FortiAnalyzer。这样可以减少磁盘日志大小,减少日志传输时间和带宽占用。
在FortiGate上启用可靠日志功能后,日志的传输方式由UDP (User Datagram Protocol)转换为TCP (Transmission Control Protocol)。TCP提供可靠的数据传输,保证传输的数据保持完整,并按照发送的顺序到达。
如果你使用GUl启用FortiAnalyzer或FortiManager的日志记录,可靠的日志记录将自动启用。如果使用CLI启用日志记录,则必须使用上图的所示的CLI命令启用可靠日志记录。
登录FortiCloud使用TCP,你可以使用CLI设置加密算法(默认设置为高)。
另外,如果使用可靠的日志记录,可以使用ssl加密的OFTP流量对通信进行加密,这样在生成日志消息时,它可以通过不安全的网络安全地传输。通过在CLI下配置加密算法,可以对通信进行ssl加密。
答案:A
答案:A
答案:B
现在你了解了远程日志记录。接下来,你将了解日志设置。
完成本节后,你应该能够实现上图显示的目标。
通过展示日志设置的能力,你将能够成功地在FortiGate上启用日志,并确保日志是由通过防火墙策略的流量产生的。
日志设置页面允许你决定是否存储日志、存储在何处以及如何存储日志。
如前所述,必须配置是将日志存储在本地的FortiGate磁盘上,还是远程存储到外部设备(如FortiAnalyzer)上。
你还必须配置要捕获的事件日志和本地流量日志。本地流量日志提供了直接进出FortiGate的流量信息。默认情况下,禁用此选项,因为它们可以生成大量日志。事件日志提供了FortiGate生成的所有系统信息,如管理员登录、管理员的配置更改、用户活动和设备的日常操作,这些信息不是由通过防火墙策略的流量直接引起的。例如,IPsec VPN关闭或路由协议活动,都不是由通过防火墙策略的流量引起的。一个例外可能是用户日志,因为它会在通过策略的流量上记录用户登录和注销事件。你选择启用的事件日志取决于你要实现的特性以及需要从日志中获取的信息。
解析主机名特性将IP地址解析为主机名。这需要FortiGate对所有IP地址执行反向DNS查找。如果你的DNS服务器不可用或响应缓慢,它会影响你查看日志的能力,因为请求将超时。
虽然GUI上的日志设置允许你配置要捕获的事件日志和本地流量日志,但你还可以使用CLI设置更健壮和更细粒度的选项。
以前我们提到过,可以使用命令configq log syslogd设置为syslog和FortiSIEM配置最多四个日志服务器,使用命令config log fortianalyzer setting可以配置最多四个FortiManager设备。对于远程syslog或FortiSIEM设备,可以使用config log syslogd filter命令,对于FortiAnalyzer或FortiManager设备,可以使用config log fortianalyzer filter命令,分别控制哪些日志被发送到每个设备。
这样,可以对不同的设备设置不同的日志级别,或者只向一台设备发送某些类型的日志,向另一台设备发送其他类型(或全部)的日志。例如,可以将所有信息级别及以上的日志发送到fortianalyzer,将警告级别及以上的日志发送到fortianalyzer2,仅将流量日志发送到fortianalyzer3。
配置所有日志设置后,你可以在防火墙策略上启用日志记录。只有在防火墙策略上启用该功能,日志消息(流量通过防火墙策略)才能产生。
通常,如果将FortiGate配置为检查流量,还应该启用该安全特性的日志记录功能,以帮助跟踪和调试流量流。除了你认为严重程度较低的违规行为外,你还需要知道FortiGate是否阻止了攻击。大多数攻击不会在第一次尝试时导致安全漏洞。当你注意到攻击者的方法似乎在不断改进时,一种主动的方法可以避免安全漏洞。要获得这样的早期警告,请为你的安全配置文件启用日志记录。
启用通过防火墙策略的流量日志记录,需要完成以下操作:
1. 在防火墙策略上启用所需的安全配置文件。
2. 在该防火墙策略上启用〖日志允许流量〗。这种设置是至关重要的。如果禁用,你将不会接收任何类型的日志——即使你在防火墙策略上启用了安全配置文件。你可以选择只记录安全事件,或记录所有会话:
● 安全事件:如果启用(随着一个或多个安全配置文件),安全日志事件将出现在转发流量日志和安全日志中。导致安全事件发生的报文的流量转发日志。
● 所有会话:如果启用,每条会话都会产生一条流量转发日志。如果同时启用了一个或多个安全配置文件,安全日志事件将出现在转发流量日志和安全日志中。
在FortiGate上,你可以在流量日志和UTM日志中隐藏用户名,这样用户名显示为anonymous。这很有用,因为有些国家不允许非匿名的日志记录。
需要设置用户名的匿名,使用set user-anonymize enable CLI命令。
假设在防火墙策略和安全配置文件中启用了日志记录,并且在FortiGate上配置了基于身份的策略。
你可以在GUI的日志&报告菜单中访问你的日志。此菜单中出现的选项取决于你的配置。只有存在安全事件时,才会出现安全日志。
选择需要查看的日志类型,如〖转发流量〗。GUl上的日志显示在格式化的表视图中。格式化视图比原始视图更容易阅读,并允许你在查看日志消息时过滤信息。如果需要查看日志的详细信息,请在表格中选中对应的日志,然后,日志详细信息出现在窗口右侧的日志详细信息窗格中。
如果在支持归档的安全配置文件(如DLP)上启用了归档,那么归档信息将出现在归档数据部分的Log Details窗格中。使用FortiAnalyzer或FortiCloud时也会记录归档日志。
如果你将FortiGate配置为记录到多个位置,你可以在本节更改日志显示位置。在上图所示的示例中,日志位置被设置为Disk。如果日志记录到syslog,则必须查看syslog上的日志。
根据你的配置,FortiGate可能会记录大量的日志。这使得定位特定的日志变得更加困难,特别是在调查期间。
要更有效地浏览日志,可以设置日志过滤器。你在过滤器中指定的信息越多,就越容易找到精确的日志条目。可以为显示的每一列日志数据配置过滤器。单击Add Filter从出现的下拉列表中选择过滤器。如果你已经在表中的一个日志中看到了想要过滤的数据,你可以右键单击该数据以选择快速过滤选项。例如,如果你在表中看到一个带有特定僵尸网络名称的反病毒日志,右键单击表中的僵尸网络名称,就会出现一个快速过滤选项,允许你过滤带有该僵尸网络名称的所有日志。
默认情况下,显示最常见的列,隐藏较不常见的列。因此,如果根据隐藏的列过滤数据,请确保将该列添加为选中的列。要添加列,右键单击任何列字段,然后在出现的弹出菜单中,在可用列部分中选择该列。
如果你的搜索过滤器在日志数据存在的情况下没有返回任何结果,那么该过滤器可能是格式不佳。FortiGate在日志中查找精确匹配,因此必须正确地生成搜索字符串。
你还可以访问由单个策略生成的日志消息。右键单击需要查看所有关联日志的策略,在弹出的菜单中选择〖显示匹配日志〗。FortiGate会将你带到转发流量页面,其中根据策略UUID自动设置过滤器。
你不受GUI上查看日志消息的限制。用户也可以通过命令execute log display查看日志信息。此命令允许查看已在执行日志过滤器命令中配置的特定日志消息。execute log filter命令配置你将看到哪些日志消息,一次可以查看多少日志消息(最多1000行日志消息),以及你可以查看的日志消息类型。
日志显示在原始格式视图中。原始格式显示出现在日志文件中的日志。
与GUI类似,如果你配置了syslog或SIEM服务器,你将无法在CLL上查看日志消息。
因为你不能总是在物理上观察设备上的日志,你可以通过设置警报电子邮件来监视事件。提醒电子邮件提供了一种有效而直接的方法来通知管理员事件。
在配置警报电子邮件之前,应该首先在FortiGate上配置自己的SMTP服务器。FortiGate预先配置了SMTP服务器,但如果你有内部电子邮件服务器,建议你使用内部电子邮件服务器。
通过CLI可以配置告警邮件。你可以根据事件(如检测到入侵或web过滤器阻止的流量)或最低日志级别(如alert级别或以上的所有日志)触发警报电子邮件。你最多可以配置三个收件人。
为了方便地优先解决最相关的问题,你可以对与威胁权重(或评分)相关的IPS签名、web类别和应用程序配置严重级别。
在威胁权重页面上,你可以对每个基于类别的项目应用低、中、高或紧急的风险值。每个关卡都包含一个威胁权重。默认值:low = 5, medium = 10, high = 30, critical = 50。你可以根据你的组织需求调整这些威胁权重。
配置威胁权重后,在安全页面中可以查看到所有检测到的威胁。你还可以通过威胁评分过滤查询日志。
请注意,威胁权重仅用于信息目的。FortiGate不会采取任何基于威胁的行动。
答案:A
答案:A
现在你了解了如何排除通信问题,接下来,你将学习如何保护日志数据。
完成本节后,你应该能够实现上图显示的目标。
通过展示使用各种方法保护日志的能力,你将能够满足组织或法律对日志的要求。
你还可以通过执行日志备份来保护日志数据,也就是说,将日志文件从数据库复制到指定的位置。
执行execute backup disk alllogs命令将所有日志备份到FTP、TFTP或USB,execute backup disk log <log type>将特定日志类型(如web过滤或IPS)备份到FTP、TFTP或USB。这些日志以LZ4格式存储。你可以将FortiGate备份日志恢复到FortiAnalyzer设备,然后在FortiGate和FortiAnalyzer设备上查看。
你也可以使用GUI将日志备份到USB。当你将USB驱动器插入FortiGate USB端口时,GUI菜单项出现。
使用config log disk setting命令,你可以将日志配置为滚动(类似于压缩文件),以降低包含它们所需的空间需求,从而使它们不会被覆盖。默认情况下,日志在达到20MB大小时进行滚动。你还可以配置滚动时间表和时间。
通过该命令,还可以配置滚动日志上传到FTP服务器,以节省磁盘空间。用户可以设置上传日志文件的类型、上传时间和上传后是否删除。
你还可以从FortiGate下载日志的副本,并将其保存在服务器或计算机上,以便以后查看和访问。这确保当原始文件最终在FortiGate上被覆盖时,你仍然拥有一份副本。
单击对应日志类型页面的下载图标(如转发流量或Web过滤),下载日志只下载结果表中的日志,而不是磁盘上的所有日志。因此,如果你只想下载日志的一个子集,你可以添加日志过滤器。当你在GUI上下载日志消息时,你正在下载原始格式的日志消息。
答案:A
答案:B
恭喜你!你已经学完了这一课。现在你将复习你在本课中涉及的主题。
上图展示了你在本课中涉及的主题。
通过掌握本课所涵盖的主题,你学习了配置本地和远程日志、查看日志、搜索日志和保护日志数据。